...
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="utf-8"?> <SystemMonitorNotification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="SystemMonitorNotification_v1.0.xsd"> <Notification> <!-- configure system monitor service name and command for send notification to OP5 system monitor using nsca client notification command substitution in this case: All Environment variables e.g. %TEMP% or %JAVA_HOME% %SERVICE_NAME% Error Service (service_name_on_error) %SERVICE_STATUS% 1 if error occured (service_status_on_error) 0 if error recovered (service_status_on_success) %SERVICE_MESSAGE_PREFIX% ERROR if error occured RECOVERED if error recovered TIMER if performance check %ORDER_HISTORY_ID% ... table field name of result row for building message (see table definition SCHEDULER_MON_NOTIFICATIONS) --> <NotificationMonitor service_name_on_error="Error Service" service_status_on_error="1" service_status_on_success="0"> <NotificationCommand> <![CDATA[cmd /c echo my_nsca_service_host:%SERVICE_NAME%:%SERVICE_STATUS%:%SERVICE_MESSAGE_PREFIX%history id=%ORDER_HISTORY_ID%, step =%ORDER_STEP_STATE%, error=%ERROR_TEXT%, check = %CHECK_TEXT% | C:\nsca\send_nsca.exe -H nsca_server_host -c C:\nsca\send_nsca.cfg -d : ]]> </NotificationCommand> </NotificationMonitor> <NotificationObject> <!-- configure job chains and countnumber of send operations for same problem for sending error/recovered notifications requirement: monitoring of this job chains must be configured in CheckHistoryConfiguration.xml --> <JobChains> <JobChain notifications="10" name="samples/sample_jobChain_1"/> <JobChain notifications="10" name="samples/sample_jobChain_2"/> </JobChains> <Timers> <Timer> <!-- configure job chains and countnumber of send operations forto sendingsame performancecheck notifications requirement: timer check for this job chain must be configured in CheckHistoryConfiguration.xml --> <JobChains> <JobChain notifications="1" name="samples/sample_jobChain_1"/> </JobChains> </Timer> </Timers> </NotificationObject> </Notification> </SystemMonitorNotification> |
...
SystemMonitorNotification
can contain severalNotification
definitions for notification of error or success conditionsNotification
contain one NotificationMonitorNotificationMonitor
contains the configuration for delivery notifications to System Monitor and has the following attributesservice_name_on_error
(optional) - Service name to send of error/recovery messagesservice_name_on_success
(optional) - Service name to send of success messages if order is successfully completedservice_status_on_error
(optional) - Service status (e.g. CRITICAL or WARNING) to send of error messages. If not set - CRITICAL will be sendedservice_status_on_success
(optional) - Service status (e.g. SUCCESS) to send of success messages. If not set - OK will be sended
NotificationMonitor
can has one of the following elementsNotificationCommand
command line for calling of the extern script for system notificationNotificationInterface
calling API for system notification (currently for NSCA notifications). This Element has the following attributesservice_host
(required) - hostname for the host the notification are sent from (the way it is named at the System Monitor)monitor_port
(required) - port of System Monitor to receive notificationsmonitor_host
(required) - hostname of System Monitormonitor_encryption
(required) - specifies that the communication with the System Monitor is encrypted. NONE, XOR, TRIPLE_DES encryptions are available.
For this concrete example and following the description from above (about the schema):
NotificationObject
contains the configuration of objects, which will be sended to System MonitorJobChains
(optional) - can contain severalJobChain
definitionsJobChain
(optional) - can contain severalJobChain
definitionsJobChain
has the following attributesnotifications
(optional) - Number of notifications to the same problem. By default - 1
scheduler_id
(optional) - JobScheduler instance with the given identification. By default - JobChain will be checked in all JobScheduler instances that logged into the same databasename
(optional) - Job chain name including possible folder names. By default - all JobChains for defined scheduler_id are checkedstep_from
(optional) - Start Job node name for checkingstep_to
(optional) - End Job node name for checking
Timers
(optional) - can contain severalTimer
definitionsTimer
has the following elementsJobChains
(optional) - can contain severalJobChain
definitions for performance notificatioJobChain
has the following attributesnotifications
(optional) - Number of notifications to the same check. By default - 1
scheduler_id
(optional) - JobScheduler instance with the given identification. By default - JobChain will be checked in all JobScheduler instances that logged into the same databasename
(optional) - Job chain name including possible folder names. By default - all JobChains for defined scheduler_id are checkedstep_from
(optional) - Start Job node name for checkingstep_to
(optional) - End Job node name for checking
<!--
For this concrete example and following the description from above (about the schema):
- Configure for Notifications to a specific System Monitor: op5 Monitor
- Specify the type of notification:
- Configure for Notifications to a specific System Monitor: op5 Monitor
- Specify the type of notification: "service_name_on_error" or "service_name_on_success"
- Specify then the EXACT name of the service (the way it is named at the System Monitor): "OMS Mass Processing Problem Tracking"
- Specify the EXACT hostname for the host the notification are sent from (the way it is named at the System Monitor): "OMS Interfacing Server"
- Specify the port the application to receive passive checks is running on: "5667"
- Specify the hostname of the System Monitor, that is the hostname for the host the notification are sent from: "dipsy.sos"
- Define the type of encryption is used to send the information to the System Monitor: "XOR"
- Specify how many notifications have to be sent to the System Monitor for a specific Job Scheduler object:"20" notfications for "MY_JOB_CHAIN_NAME"
- The same as above in case there is configured a Timer for this Job Scheduler object:"20" notfications for the Timer for "MY_JOB_CHAIN_NAME"
-->Job Chains
Job Chains for these solutions have to be placed under\live\notification
. Four Job Chains were implemented for this solution and they have the following functions:
CheckHistory
: reads JobScheduler database tables where the logging is placed, analyses them and writes results into another tables, the Notification tables.CleanupNotifications
: deletes entries in the Notification tables. Currently this takes place once every day.ResetNotifications
: sets Status for Notifications in the Notification tables (e.g. Acknowledge)SystemNotifier
: responsible for notifiying the system Monitor about the current notifications. Moreover, this JobChain is responsible for updating the Notification tables after having notified the System Monitor.
...