Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagexml
<?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 clientClient
 
       
 notification command substitution in this case:
 
 %<VARIABLE>% spelling on NotificationCommand element will be Allused Environmentfor variablesall Operating  e.g. %TEMP% or %JAVA_HOME%Systems (Windows, Unix)
        cmd /c 
 
        %SERVICE_NAME%    (Windows) e.g /bin/sh -c (Unix) must be separated by | from following command
 
        notification command Errorsubstitution Service 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 message string(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 number of send operations for same problem (if problem is recovered or acknowledged no error notifications will be sended) for sending error 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 number of send operations to same check 
 
                    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>

Sample UNIX

Code Block
languagexml
titleSample NotificationCommand Unix
...
<!-- 
/bin/sh -c is separated by | from calling script
-->
<NotificationCommand> 
<![CDATA[/bin/sh -c | echo "%JAVA_HOME% %SERVICE_NAME%:%SERVICE_STATUS%:%SERVICE_MESSAGE_PREFIX%history id=%ORDER_HISTORY_ID%, step =%ORDER_STEP_STATE%, error=%ERROR_TEXT%, check = %CHECK_TEXT%" > /tmp/command_output.txt
</NotificationCommand>
...

Sample UNIX

Code Block
languagexml
titlexxx
...
<!-- 
/bin/sh -c is separated by | from calling script
-->
<NotificationCommand><![CDATA[/bin/sh -c | /tmp/command.sh]</NotificationCommand>
...
 
 

Ex

Code Block
languagebash
titlecommand.sh
#! /bin/sh 
# notification command has set the environment variables for this script:
# $SCHEDULER_MON_SERVICE_NAME
# $SCHEDULER_MON_SERVICE_STATUS
# $SCHEDULER_MON_SERVICE_MESSAGE_PREFIX
# $SCHEDULER_MON_TABLE_FIELD_<field name>   table field name of result row for message string(see table definition SCHEDULER_MON_NOTIFICATIONS)
echo $JAVA_HOME $SCHEDULER_MON_SERVICE_NAME:$SCHEDULER_MON_SERVICE_STATUS:$SCHEDULER_MON_SERVICE_MESSAGE_PREFIX history id = $SCHEDULER_MON_TABLE_FIELD_ORDER_HISTORY_ID > /tmp/command_output.txt
 

 

Explanation

  • SystemMonitorNotification can contain several Notification definitions for notification of error or success conditions
    • Notification (required) contain one NotificationMonitor
      • NotificationMonitor (required) contains the configuration for delivery notifications to System Monitor and has the following attributes
        • service_name_on_error (optional) - Service name to send of error/recovery messages. One of service_name_on_error or service_name_on_success must be set.
        • service_name_on_success (optional) - Service name to send of success messages if order is successfully completed. One of service_name_on_error or service_name_on_success must be set.
        • service_status_on_error (optional) - Service status (e.g. CRITICAL or WARNING) to send of error messages. If not set - CRITICAL will be sended
        • service_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 elements
        • NotificationCommand (optional) command line for calling of the extern script for system notification
        • NotificationInterface (optional) calling API for system notification (currently for NSCA notifications). This Element has the following attributes
          • service_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 notifications
          • monitor_host (required) - hostname of System Monitor
          • monitor_encryption (required) - specifies that the communication with the System Monitor is encrypted. NONE, XOR, TRIPLE_DES encryptions are available.
      • NotificationObject (required) contains the configuration of objects, which will be sended to System Monitor
        • JobChains (optional) - can contain several JobChain definitions
          • JobChain (required) has the following attributes (one of scheduler_id or name must be set):
            • notifications (optional) - Number of notifications for the same problem (if problem is recovered or acknowledged - no notification will be sended). 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 database
            • name (optional) - Job chain name including possible folder names. By default - all JobChains for defined scheduler_id are checked
            • step_from (optional) - Start Job node name for checking
            • step_to (optional) - End Job node name for checking
        • Timers (optional) - can contain several Timer definitions
          • Timer (required) has the following elements
            • JobChains (optional) - can contain several JobChain definitions for performance notification
              • JobChain (required) has the following attributes (one of scheduler_id or name must be set):
                • notifications (optional) - Number of notifications for 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 database
                • name (optional) - Job chain name including possible folder names. By default - all JobChains for defined scheduler_id are checked
                • step_from (optional) - Start Job node name for checking
                • step_to (optional) - End Job node name for checking

...