KBI 220515 How To Change Engine Alert Priority
Version
Argent Console All
Date
2 Apr 2007
Summary
Customer is using Argent Engine Alert functionality and has an Email Alert fired when specific events occur (e.g. Monitoring Engine Offline), however, they do not want the Event to display in the Argent Management Console.
They currently have several Relators that are configured similarly, i.e. Alerts are fired, and the Priority is set to a Custom value.
Their Argent Management Console Applications and Events views are configured to filter out any Events with a Custom Priority.
Technical Background
The Argent products include a “self-monitoring” feature that allows for the posting of Events to the Argent Management Console and firing of Alerts in the event that any (or all) of the following conditions occur:
-
Error in Main Engine
-
Monitoring Engine Off-line
-
Main Engine Off-line And Backup Engine Taking Over
-
Backup Engine Returning Control To Main Engine
-
Daughter Scheduling Engine Off-line
-
ODBC Exception.
-
Other Errors
The Events are posted with the Relator name “System” and Rule name “System” with a default priority set to “Critical”.
There is no facility for changing the Priority of these Events in the Argent Management Console GUI.
Resolution
In order to provide the requested functionality, we configure the Engine Alert to use an Alert Macro, giving us the ability to configure multiple Alerts when the Event occurs.
This is shown in the first screenshot below “Screen R2B Engine Alert Configuration”:
Screen R2B – Engine Alert Configuration
The Alert Macro Definition (shown below) includes the Email Alert “ALERT_GENERAL” and a new, custom SQL Alert “SA_CHANGE_EVENT_PRIORITY”.
Screen C29A – Alert Macro Definition – &AM_ENGINE_ALERT
In the SQL Alert Definition for “SA_CHANGE_EVENT_PRIORITY”, we update values in the AAC_CONSOLE table in the backend Argent Database using the following SQL statement1 :
UPDATE AAC_CONSOLE
SET [CUSTOM_PRIORITY_TEXT ] = ‘DO_NOT_SHOW_IN_ARGENT_CONSOLE’,
[PRIORITY ] = 4,
[CONSOLE_COMMENT ] = ‘Event Priority Altered by Alert SA_CHANGE_EVENT_PRIORITY’
WHERE [JOB_NUMBER ] = RIGHT(‘%AGEVENTID%’,6);
First, Events are entered into the table AAC_CONSOLE.
Next, we change the value of the field CUSTOM_PRIORITY_TEXT to any arbitrary string (although for auditing purposes it is reasonable to provide a somewhat descriptive string).
Then we change the Event PRIORITY to 4, indicating a custom priority2 , and update the CONSOLE_COMMENT to indicate that the SQL Alert has updated the Event.
Finally the WHERE clause uses the %AGEventID% to specify which record in the AAC_CONSOLE is updated3.
In our example, we have an Event posted by the Engine Alert “Daughter Scheduling Engine Off-line”.
The Daughter Scheduling Engine is installed on the Server “NAPA”.
The first set of screenshots show the Application and Event List views unfiltered.
The second set of screenshots show the Application and Event List views filtered to not display any Events with a Custom Priority.
Screen C10 – SQL Alert Definition – SA_CHANGE_EVENT_PRIORITY
Argent Management Console – Unfiltered Applications and Events Lists
Argent Management Console – Filtered Applications and Events Lists
1 SQL Statement may be copied and pasted as-is. Change bold items as desired for your environment.
2 Note that it is the PRIORITY value that is later used to filter the Argent Management Console views. Other values for PRIORITY: 0 = Critical, 1 = Medium, 2 = Low, 4 = Custom
3 Because the Event ID is in the format “E999999”, we use the SQL function RIGHT(‘