Alerts
RTView features a real-time alert engine
that enables management and operational personnel to monitor the health and
status of business operations. The alert
engine can monitor conditions and perform automated actions from any available
RTView data source. Alert definitions can include thresholds,
severity, notification policies and automated actions, such as email, system
commands, performing a SQL statement or sending JMS messages. RTView can load any number of
alert definitions and any number of customized dashboards can be created to
view alert status, filter alerts, use alerts as drill down navigation for
analysis and corrective action, or to interactively change alert status such as
alert acknowledgement.
The Self Service Alerts feature makes it easy to
set and persist threshold, duration and enabled settings for your alerts in a
database.
The Alert
Persistence feature stores all
fields and current state of all active alerts, as well as all cleared alerts
that have not been removed from the system in
a database using the Historian.
The Audit
Alert Action feature stores a record in a database each time
an alert command is executed.
Adding Alerts
In the Display Builder, select Tools>Alerts to open the Alerts
dialog. When you have finished adding all of
your alerts and configuring their properties, Save the
display (.rtv) file and add your
Alert Definition file to the
Alert data source
configuration.
NOTE: When creating alerts to use with Self Service Alerts, there are a few
limitations.

Add |
To add a new alert,
click Add and enter an alert name and select an alert type. Once you have
added an alert, select that alert from the list and edit properties in the
Object Properties dialog. |
Alert
Name |
Enter a
unique name for each alert listed. Alerts that do not specify a name, as well as
alerts with
a duplicate names, will not be created and an error will print to the
console. |
Alert
Type |
Choose a type of alert
from the drop down menu (Limits,
Discrete,
Multi State or
Event). |
Copy |
Select an alert from
the list and click Copy to create a duplicate of that alert. NOTE: You must
enter a unique name for each copy
you make. To copy an alert from your
current display to another display (.rtv) file, select an alert from the list
and click the Copy button
in the toolbar (or Ctrl-C). Then open the other display (.rtv) file and
click the Paste button
(or Ctrl-V). If an alert by that name already exists in that
display (.rtv) file, you will need to rename the alert.
NOTE: An alert pasted into another
display (.rtv) file will have the same data attachments as the original alert. |
Remove |
Select an
alert from the list and click Remove to delete. |
Show Filters |
Select this checkbox to filter alerts by Name, Type, Command
or Value. NOTE: When filtering Alerts by Name, unnamed alerts will still be
included in the filter results.
|
Alert Definition Files
To create an Alert Definition file, save
the display (.rtv) file that contains the alert definition properties you set in
the Alerts dialog. When the Alert data source
reads in an Alert Definition file, it adds a line to the
Alert Variables
Table
for each alert in the file and creates a variable using the unique name
specified for each alert in the file.
See the
Alert Definitions tab in the
Application Options dialog for details on how to add an Alert Definition file to
the Alert data source configuration.
Creating a Reusable
Alert Definition File
You can create a reusable Alert
Definition file using the RTView substitution feature. When you enter
an Alert Name (alertName), include a substitution string as the suffix. Use that same
substitution string for the input value in the data attachment. When you
subsequently add the Alert Definition file to the Alert data source
configuration, you then specify a substitution value.
To give an example, let us say that your sales
data is broken down by sales regions, and you need an alert for each. Instead of
manually creating an alert for each region, you can create one and reuse it as a
template for the others. First create a display containing an alert definition
object named salesAlert.$region, where salesAlert is the alert name and
$region is the substitution string. The data attachment for the input value also
uses the $region substitution string. Save the file as alert_config.rtv.
This is your Alert Definition file. You then add this Alert Definition file to
the Alert data source configuration multiple times (in our example, four times),
with $region set to a different value for each region:
alert_config.rtv $region:North
alert_config.rtv $region:South
alert_config.rtv $region:West
alert_config.rtv $region:East
You will get four copies of salesAlert with the
following names:
salesAlert.North
salesAlert.South
salesAlert.West
salesAlert.East
Running the Alert
Engine
The alert engine resides within the
Alert data source, so there is no additional process to run the alert engine. How
RTView is deployed determines where the
alert engine specifically runs:
Thin Client Browser
with Direct Data Connection - The
alert engine runs on the Display Server. The alert engine is active as long as the Display Server is
running, regardless of whether clients are connected.
Application or Rich Client Browser with Direct Data
Connection - The alert engine runs on the client
machine. The alert engine is active as long as the client application or applet is running.
All
Deployments with Served Data -
The alert engine runs on the Data Server. The alert engine is active as long
as the Data Server is
running, regardless of whether clients are connected.
Alert Behavior
Alert Execution
Alerts are evaluated once each update
period. By default, this is every two seconds. You may reset the update period
on the General tab of the Application Options dialog. If
the current value of the input data meets an alert condition, the alert
executes. When an alert is
executed, the variables in the Alert data source are updated and the
alertCommand executes. NOTE: Multiple
asynchronous data updates between updates will be processed on the Max Redraw
Rate. By default, this is every 500 milliseconds. If asyncronous data comes
in faster than the specified Max Redraw Rate, updates will be missed. For
example, if your input data is a JMS message and you receive three messages
between Max Redraw Rate updates, only the data from the last message will
be used when evaluating the alert condition.
Cleared Alerts
Alerts are evaluated once each update period. By default, this is every two
seconds. You may reset the update period on the
General tab of the Application Options dialog. If the current value of the input data for
an alert that has been executed is no longer in an alert state, the alert will
clear. Set the time to keep cleared alerts
on
the
Alerts tab of the Application Options
dialog. When an alert is cleared, the
variables in the Alert data source are updated, the clearedCommand
executes, and the configured re-notification command (i.e. alertCommand
or reNotificationCommand) no longer executes.
NOTE: Multiple asynchronous data updates between
updates will be processed on the Max Redraw Rate. By default, this is
every 500 milliseconds. If asyncronous data comes in faster than the specified
Max Redraw Rate, updates will be missed. For example, if your input data
is a JMS message and you receive three messages between Max Redraw Rate
updates, only the data from the last message will be used when evaluating the
alert condition.
Viewing Alerts
When the Alert data source reads your Alert
Definition file, it creates a variable for each alert using the unique
alertName
specified in the Alert Definition file. See
Attach to Alert Data for more information on
how to create a display to attach to alert variables and view real-time alert
data. For alert definition objects that use
scalar input data (i.e. the useTabularDataFlag property is not
selected), this variable will be scalar. It will list the highest severity for
the alert definition. For alerts that use tabular input data, this variable will
be a table.
AlertTable Lists all active
and cleared alerts.
By default,
individual index columns will not show up in the AlertTable. To display these
columns in the AlertTable, add a
Custom Alert Object
Property for each column and map them using the customPropertyMap
property on the alert. NOTE: Different alerts may have different index columns
and a different number of index columns, so this allows you to control of
whether, and how, index values for different alert definitions are displayed in
the AlertTable.
Item |
Description |
Acknowledged |
Selected if the alert has been
acknowledged. |
Alert Name |
Value of the alertName
property. |
Alert Index |
For tabular alerts with multiple
index columns this contains the concatenated values for all index columns in the
valueTable as specified in the indexColumnNames property on the
alert and delimited by the
Multiple Index Delimiter
(default is ~).
For alerts with a single index column this
contains the value of the index column.
NOTE: If input data is scalar (i.e. the useTabularDataFlag is
not selected) this field will be blank. |
Alert Index
Values |
For tabular alerts with multiple index columns
this contains the alert index values concatenated by semi-colon (;). NOTE: You
can use this value to filter against multiple columns in the Filter By Row
function. For tabular alerts with a single
index column and for scalar alerts, this will contain the same value as the
Alert Index. |
Alert Text |
Text about the alert. NOTE: Customize this text
using the value*AlertText properties. |
Cleared |
Selected if the alert has cleared. |
Cleared Reason |
DATA UPDATE |
Alert received a value
that did not meet the alert condition. |
EXPIRED |
Alert expired due to
the value in the alertExpireTime property. NOTE: This property is only
supported for Event alerts. |
DISABLED |
Alert definition was
disabled. An alert can be disabled by the enabledFlag and/or
rowEnabledFlag properties, or via the
Enable Alert Definition
command. |
MANUAL |
Cleared by the
Clear Alert command. |
ALERT HISTORY DEPTH EXCEEDED |
Number of
rows in the AlertTable exceeded the specified
Alert History Depth. |
Cleared Time |
Time that the alert was cleared. |
Comments |
This column is initially blank, but is updated
by the Add Comment and
Clear
Comments commands. NOTE: Comments can be added or cleared for any
active, cleared or acknowledged alert unless that alert has been purged from the
system. |
Count |
When an alert is generated, this
column contains a value of 1 and increases incrementally each time the
alert receives a data update as long as the Last Update Time has also
changed. If the Last Update Time has not increased, the Count is
not incremented.
For tabular alerts, the Last Update Time and Count are only
incremented when a data update comes in for a specified index. However, when a
tabular alert is attached to a cache, the cache sends new data for all indexes
even when only one index has changed. This results in inaccurate Last Update
Time and Count values. To configure your alert to show correct
Count and Last Update Time values when it is attached to a cache,
include the cache's time_stamp column in the alert's valueTable
data attachment. Set the alert's timeColumnName property to the name of
the cache's time_stamp column. This configures the alert to use the cache
time stamp for Last Update Time and makes the Count accurate. You
can use the -ignorelutforcount:true
option to set the Count column to increase for all indexes when any row
in the table is updated, even if the value in the cache time_stamp column
only changed for a single row.
The Update
Count on Acknowledge Alerts option is selected by default and controls
whether or not the Count is incremented on acknowledged alerts.
- If selected, the count stops incrementing
only after an alert is cleared.
- If deselected, the count stops incrementing
if an alert is either cleared or acknowledged.
|
ID |
Unique ID for the alert. |
Last Update Time |
Date/time that the value or
valueTable on the alert last received a data
update. This column is
updated whenever new data is received for an active (i.e. not cleared) alert. |
Owner |
Specify the Owner of an alert using the
Set Owner command. |
Severity |
Severity of the alert. |
Row Update Time |
Date/time that any column in
the row for the alert last received an update (as opposed to the
Last Update
Time column which is the last time the value or valueTable on the alert last
received a data update).
By default, the Last Update Time and Count columns are not tracked by the Row
Update Time. To track the updates of the two columns in the Row Update Time
column, use the -lutupdatesnewdata command line option.
When using the New Data Only
Alert Table as input to a cache, it is recommended
that you set the timestampColumnName property on the cache to the new Row
Update Time column.
NOTE:
The RtvAlertTable cache in the
Self Service Alerts
demo has been enhanced to use
the Row Update Time for the timestampColumnName property, and to limit
the columns from the Alert Table that are stored in history. |
Time |
Time the alert was activated. |
Alert
Variables Table
Contains all of the active alert variables and their current state.
Item |
Description |
Alert Name |
Value of the alertName property.
NOTE: Alerts without an alertName or with duplicate
names will not be added to the Alert
Variables Table and an error will print to the
console. |
Alert State |
Highest current severity for the
alert. For tabular alerts, it is the highest severity of all alerts in the
valueTable. NOTE: If an alert is disabled, the Alert State will be -1. |
Enabled |
Enabled state of the alert: true if
enabled, false if disabled. |
Description |
Description of the alert. This is the value from
the description property on the alert. |
Alert Type |
Type of alert: Limits, Discrete, Multi State or
Event. |
Tabular Alert |
Value is true if
alert is tabular (i.e.
useTabularDataFlag property is selected on
the alert). |
Index Column Names |
Index column name(s) for this alert.
If you have specified indexColumnNames on
the alert, this will contain that string. Otherwise, after the alert receives
its first data update it will fill in the value with the name of the index
column in the valueTable.
If the alert is scalar (i.e. the
useTabularDataFlag is not selected) or if it is an unindexed Event
alert, this field will be blank. |
Index Types |
A semi-colon (;) delimited list of available
index types for this alert. If a tabular alert does not have any index types, as
defined by the indexTypes property on the alert, the value will be All.
If
the alert is scalar (i.e. the useTabularDataFlag is not selected),
this field will be blank. |
Per-Tabular Alert Table
When the Alert data source reads your Alert Definition file, it creates a
variable for each alert using the unique alertName
specified in the Alert Definition file. For alerts that use tabular input data
(i.e. the useTabularData property is selected), this variable will be a
table. It contains one row for each alert index with the following columns:
Item |
Description |
Alert Index |
Name from the first column of the input data for
the alert definition.
For multiple index alerts, this is the
concatenation of all index columns in the valueTable as specified in the
indexColumnNames property on the alert and delimited by the
Multiple Index Delimiter
(default is ~). The specified indexColumnNames
will also be
included in this table. |
Alert State |
Highest current alert severity for this alert
index. If this alert or alert index is disabled, the value of Alert State will
become -1. |
Enabled |
Enabled state of the alert index: true if
enabled, false if disabled. |
Alert Index Types Table Information about the available index
types for your alert. This table only contains rows (one row for each index
type) for alerts that have at
least one index type specified on the alert's indexTypes property.
Item |
Description |
Alert Name |
Name of the alert. |
Index Type |
Name of the index type. |
Column Names |
Semi-colon (;) delimited list of column names
that define the index type. |
Alerting Enabled Table Indicates
whether the alert engine is enabled to the Alert data source.
Item |
Description |
AlertingEnabled |
Enabled state of the alert engine: true if
enabled, false if disabled. |
AlertTableValid |
Validity of AlertTable: false at startup,
true after one update pass if the following two conditions have been met:
1) The alert engine has completed intiailzation.
- If self service is configured, alert
intiailzation does not complete until the alert engine has attached to the
self service alerts database.
- If persistence is configured, alert
intialization does not complete until after the alert engine has read the
persisted alerts and added them to the alert table or the Persistence
Connection Timeout has expired.
2) The specified
Initial Delay time
has expired.
NOTE: If you are running displays that have
scalar data attachments to the AlertingEnabled table that do not specify a
Column Name, then you must modify the data attachment to specify the
AlertingEnabled column. RTView does not support scalar properties attached to
multi-column tables. |
Managing Alerts
In addition to being able to manage your
alerts while developing your display using the
Application Options dialog, you
can also manage them from your deployed display.
Use the following alert commands to manage your alerts
from a deployed display.
- Add Alert Definition File
- Remove Alert Definition File
- Enable Alert Definition
- Enable Alerts
- Acknowledge Alert
See Define Alert
Command for more information.
NOTE: Executing these commands from your display
in the Display Builder does not cause the Application Options dialog to update. For example, if
you add an Alert Definition file by using the command, it does not show up in the
Application Options dialog until you either close and re-open it, or click Apply.
|