...
Location: <scheduler_install>/config/notification
File | Description |
---|---|
SystemMonitorNotification_v1.0.xsd | The XML Schema file defines which values are allowed in your XML files for the JobScheduler monitoring. That means that to configure the JobScheduler objects you want to monitor and the System Monitor you just have to modify your |
SystemMonitorNotification_<MonitorSystem>.xml | Configuration file for each System Monitor.
|
| Configuration file for all System Monitors.
This file is optional and contains the definitions of the |
SystemMonitorNotification Elements
The configuration element descriptions are organized into the following major categories:
Element | Element description | Description |
---|---|---|
SystemMonitorNotification | Top Level Element | Configuration for notifications to be sent to a system monitor. |
Notification | Required, multiple use allowed inside the SystemMonitorNotification element | Specifies a system monitor notification that includes a command line invocation and the JobScheduler objects. |
Timer | Optional or multiple use allowed inside the SystemMonitorNotification element | Performance measurement definition. |
SystemMonitorNotification
...
- attribute
system_id
in case of the
SystemMonitorNotificationTimers.xml
the value of this attribute is not important and can have any value.
e.g.:
timers
Attribute | Usage | Description |
---|---|---|
system_id | required | System Monitor identifier. |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<SystemMonitorNotification system_id="op5"> ... |
...
Notification
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
name | optional | Notification description |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
... <Notification name="Mail: on failed job"> ... |
...
The following elements may be nested inside a Notification
element:
Element | Element description | Description |
---|---|---|
NotificationMonitor | Required, only once inside the Notification element | Specifies the System Monitor interface that is being used for messages: either by a Plug-in Interface or by command line invocation |
NotificationObjects | Required, only once inside the Notification element | Specifies the Job Chain and the Timer definitions |
SystemMonitorNotification / Notification / NotificationMonitor
...
- error case
- an error has occured / been recovered during a job chain / job execution
- the
service_name_on_error
setting is responsible for this monitoring case
- the
- an error has occured / been recovered during a job chain / job execution
- success case
- a job chain / job ends succesfully
- the
service_name_on_success
setting is responsible for this monitoring case
- the
- a job chain / job ends succesfully
- performance check (see
Timer
)- usually the
service_name_on_error
setting is responsible for this monitoring case but the performance check will also work if only theservice_name_on_success
setting has been defined.
- usually the
...
In addition, the service_name_on_error
/ service_name_on_success
attributes have the following meaning:
...
NotificationMonitor
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
service_name_on_error | Optional | See explanation above. |
service_name_on_success | Optional | See explanation above. |
service_status_on_error | Optional | This setting specifies the service status code for error messages. Default: |
service_status_on_success | Optional | This setting specifies the service status code for success messages Default: |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<!-- Example op5 NSCA Status: 0 - OK 1 - WARNING 2 - CRITICAL 3 - UNKNOWN --> ... <!-- Sending occurred errors as CRITICAL (default) --> <NotificationMonitor service_name_on_error="JobScheduler Monitoring Errors"> ... <!-- Sending occurred errors as WARNING --> <NotificationMonitor service_name_on_error="JobScheduler Monitoring Errors" service_status_on_error="1"> ... |
One of the following elements must be nested inside a NotificationMonitor
element:
Element | Element description | Description |
---|---|---|
NotificationInterface | Optional or only once inside the NotificationMonitor element | NSCA plug-in Interface to be executed for System Monitor notification |
NotificationCommand | Optional or only once inside the NotificationMonitor element | Command line to be executed for System Monitor notification |
NotificationMail | Optional or only once inside the NotificationMonitor element | Mail interface to be executed for System Monitor notification |
NotificationJMS | Optional or only once inside the NotificationMonitor element | JMS interface to be executed for System Monitor notification |
SystemMonitorNotification / Notification / NotificationMonitor / NotificationInterface
...
NotificationInterface
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
monitor_host | Required | This setting specifies the host name or ip address of System Monitor host. |
monitor_port | Required | This setting specifies the TCP port that the System Monitor would listen to. |
monitor_password | Optional | This setting specifies the password
|
monitor_connection_timeout | Optional | This setting specifies the connection timeout in ms. Default: |
monitor_response_timeout | Optional | This setting specifies the response timeout in ms. |
monitor_encryption | Optional | This setting specifies that the communication with the System Monitor is encrypted. By default no encryption is used.
|
service_host | Required | This setting specifies the name of the host that executes the passive check. The name must match the corresponding setting in the System Monitor. |
plugin | Optional | Default:
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
... <NotificationInterface monitor_host="monitor_host" monitor_port="5667" monitor_encryption="XOR" service_host="service_host"><![CDATA[ scheduler id=${MON_N_SCHEDULER_ID}, history id=${MON_N_ORDER_HISTORY_ID}, job_chain=${MON_N_JOB_CHAIN_NAME}(${MON_N_ORDER_ID}), step =${MON_N_ORDER_STEP_STATE}, error=${MON_N_ERROR_TEXT} ]]></NotificationInterface> ... |
Note | ||
---|---|---|
| ||
In case you are using Opsview as the monitoring tool, the plugin used in Instead, you should use the XML element |
SystemMonitorNotification / Notification / NotificationMonitor / NotificationCommand
...
NotificationCommand
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
plugin | Optional | Default:
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
... <NotificationCommand><![CDATA[ echo scheduler id=${MON_N_SCHEDULER_ID}, history id=${MON_N_ORDER_HISTORY_ID}, job_chain=${MON_N_JOB_CHAIN_NAME}(${MON_N_ORDER_ID}), step =${MON_N_ORDER_STEP_STATE}, error=${MON_N_ERROR_TEXT} > D://errors.txt ]]></NotificationCommand> ... |
...
NotificationMail
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
content_type | Optional | Content type of the e-mail. Possible values:
|
Default: | ||
charset | Optional | Charset of the e-mail. |
Default: | ||
encoding | Optional | Encoding of the e-mail. Possible values:
|
Default: | ||
priority | Optional | Priority of the e-mail. Possible values:
|
Default: | ||
plugin | Optional | Java class of the plugin implementation (extends |
Default: |
The following elements can be nested inside a NotificationMail
element:
Element | Element description | Description |
---|---|---|
From | Optional or only once inside of the NotificationMail element | E-mail address of the account that sends e-mail. |
To | Optional or only once inside of the element | E-mail address of the recipient(s) of a notification e-mail. |
CC | Optional or only once inside of the NotificationMail element | E-mail address of the recipient(s) of a carbon copy notification e-mail. |
BCC | Optional or only once inside of the NotificationMail element | E-mail address of recipient(s) of a blind carbon copy notification e-mail. |
Subject | Required, only once inside of the NotificationMail element | Subject of an e-mail notification. |
Body | Required, only once inside of the NotificationMail element | Body of an e-mail notification. |
SystemMonitorNotification / Notification / NotificationMonitor / NotificationMail / From
...
NotificationJMS
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
client_id | Optional | The client identifier for this connection. |
destination | Optional | A Possible values:
See: Destination |
Default: | ||
acknowledge_mode | Optional | Session acknowledgment mode. Possible values:
See: Session |
Default: | ||
delivery_mode | Optional | Delivery mode. Possible values:
See: |
Default: | ||
priority | Optional | The producer's default priority. |
Default: | ||
time_to_live | Optional | Sets the default length of time in milliseconds from its dispatch time that a produced message should be retained by the message system. See: MessageProducer.setTimeToLive Possible values:
Default: |
plugin | Optional | Java class of the plugin implementation (extends |
Default: |
One of the following elements must be nested inside a NotificationJMS
element:
Element | Element description | Description |
---|---|---|
ConnectionFactory | Optional or only once inside the NotificationJMS element | Specifies use of a JMS ConnectionFactory implementation |
ConnectionJNDI | Optional or only once inside the NotificationJMS element | Specifies use of a JNDI properties file to create a JNDI IntialContextFactory |
JMS message:
Element | Element description | Description |
---|---|---|
Message | Required, only once inside of NotificationJMS element | Body of a JMS notification |
SystemMonitorNotification / Notification / NotificationMonitor / NotificationJMS / ConnectionFactory
...
ConnectionFactory
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
java_class | Required | Java class of the JMS ConnectionFactory e.g.: |
user_name | Optional | The caller's user name |
password | Optional | The caller's password |
The following element can be nested inside a ConnectionFactory
element:
Element | Element description | Description |
---|---|---|
ConstructorArguments | Optional or only once inside of ConnectionFactory element |
SystemMonitorNotification / Notification / NotificationMonitor / NotificationJMS / ConnectionFactory / ConstructorArguments
The following elements can be nested inside a ConstructorArguments
element:
Element | Element description | Description |
---|---|---|
Argument | Required, multiple use allowed inside the ConstructorArguments element | JMS ConnectionFactory constructor argument |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
... <ConnectionFactory java_class="org.apache.activemq.ActiveMQConnectionFactory"> <ConstructorArguments> <Argument type="java.lang.String"><![CDATA[tcp://localhost:61616]]></Argument> </ConstructorArguments> </ConnectionFactory> ... |
...
Argument
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
type | Required | Java type of a constructor argument. Possible values:
|
Default: |
The value of the constructor argument will be stored as CDATA
node.
...
ConnectionJNDI
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
file | Required | Path of the JNDI properties file |
lookup_name | Optional | Name to lookup JMS connection factory objects |
Default: |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory java.naming.provider.url=tcp://localhost:61616 |
...
One of the following elements must be nested inside a NotificationObjects
element:
Element | Element description | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Job | Optional or multiple use allowed inside the NotificationObjects element | Restricts notifications for order or standalone jobs | ||||||||||
JobChain | Optional or multiple use allowed inside the NotificationObjects element | Restricts notifications for job chains | ||||||||||
TimerRef | Optional or multiple use allowed inside the NotificationObjects element | Restricts notifications for performance checks (Timer) | ||||||||||
MasterMessage | Optional or only once inside the NotificationObjects element |
Includes problems detected by a JobScheduler Master, e.g. database connection lost. | ||||||||||
TaskWarning | Optional or only once inside the NotificationObjects element |
Includes job execution warning messages. | ||||||||||
TaskIfLongerThan | Optional or only once inside the NotificationObjects element |
Includes the feature to send notification in case that the execution of job requires a longer duration than expected. | ||||||||||
TaskIfShorterThan | Optional or only once inside the NotificationObjects element |
Includes the feature to send notification in case that the execution of job requires a shorter duration than expected. |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<SystemMonitorNotification system_id="op5"> <Notification> <NotificationMonitor service_name_on_error="JobScheduler Monitoring Errors"> ... </NotificationMonitor> <NotificationObjects> <!-- Send the job error, occurrent in the "test/my_job" order job, to the "JobScheduler Monitoring Errors" service. --> <Job name="test/my_job" /> <!-- Send the job chain error, occurrent in the "test/my_jobchain" job chain, to the "JobScheduler Monitoring Errors" service. --> <JobChain name="test/my_jobchain" /> </NotificationObjects> </Notification> </SystemMonitorNotification> |
SystemMonitorNotification / Notification / NotificationObjects / Job
...
This element specifies the order-controlled
or
jobs for which notifications are being sent to a system monitor.standalone
Support for standalone
jobs starting with
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
Job
supports the following attributes:
Attribute | Usage | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
notifications | Optional Integer | Specifies the number of transfers the same notification to a System Monitor. Default: | ||||||||||
scheduler_id | Optional | Notifications are restricted to the JobScheduler instance with the given identification. By default notifications will be sent for all JobScheduler instances that log into the same database. Regular expression can be used. | ||||||||||
name | Optional | Job name including possible folder names. Regular expression can be used.
| ||||||||||
return_code_from | Optional | Restricts notifications for jobs for a particular return code range. | ||||||||||
return_code_from | Optional | Restricts notifications for jobs for a particular return code range. |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
... <Job notifications="2" name="test/my_job"/> ... <Job scheduler_id="scheduler_4444" /> ... <Job scheduler_id="scheduler_4444" name="test/my_.*" /> ... <Job name="test/my_job" return_code_from="5"/> ... <Job name="test/my_job" return_code_to="10"/> ... <Job name="test/my_job" return_code_from="5" return_code_to="5"/> ... |
...
SystemMonitorNotification / Notification / NotificationObjects / JobChain
Specifies the job chains for which notifications are being sent to a system monitor.
The element can be repeatedly used to specifiy a number of job chains.
Default behaviour for repeatedly failed job chain steps: when an error reoccurrs in the same job node for which a notification has already been sent then this order state is considered being previously notified and no new notification will be sent.
See child element NotifyRepeatedError
.
JobChain
supports the following attributes:
Attribute | Usage | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
notifications | Optional Integer | Specifies the number of transfers the same notification to a System Monitor. Default: | ||||||||||
scheduler_id | Optional | Notifications are restricted to the JobScheduler instance with the given identification. By default notifications will be sent for all JobScheduler instances that log into the same database. Regular expression can be used. | ||||||||||
name | Optional | Job chain name including possible folder names. Regular expression can be used.
| ||||||||||
return_code_from | Optional | Restricts notifications for job chains for a particular return code range. | ||||||||||
return_code_from | Optional | Restricts notifications for job chains for a particular return code range. | ||||||||||
step_from | Optional | Restricts notifications for job chains to a sequence of job nodes that are specified with the step_from and step_to attributes. | ||||||||||
step_to | Optional | Restricts notifications for job chains to a sequence of job nodes that are specified with the step_from and step_to attributes. | ||||||||||
excluded_steps | Optional | Specifies the steps which will be excluded from the analyzing (separated by semicolon) |
The following element can be nested inside a JobChain
element:
Element | Element description | Description |
---|---|---|
NotifyRepeatedError | Optional or only once inside the JobChain element | Send notifications for all errors that occur, do not suppress errors for repeatedly failed executions. |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
...
<JobChain notifications=" | ||||||
Code Block | ||||||
| ||||||
... <JobChain notifications="2" name="test/my_jobchain"/> ... <JobChain scheduler_id="scheduler_4444" /> ... <JobChain scheduler_id="scheduler_4444" name="test/my_.*" /> ... <JobChain name="test/my_jobchain" return_code_from="5"/> ... <JobChain name="test/my_jobchain" return_code_to="10"/> ... <JobChain name="test/my_jobchain" return_code_from="5" return_code_to="5"/> ... <JobChain name="test/my_jobchain" step_from="200"/> ... <JobChain name="test/my_jobchain" step_to="500"/> ... <JobChain name="test/my_jobchain" step_from="200"/> ... <JobChain name="test/my_jobchain" step_to="500"/> ... <JobChain name="test/my_jobchain" step_from="300" step_to="300"/> ... <JobChain name="test/my_jobchain" excluded_steps="200;300"/> ... |
="300" step_to="300"/>
...
<JobChain name="test/my_jobchain" excluded_steps="200;300"/>
...
<JobChain name="test/my_jobchain">
<NotifyRepeatedError />
</JobChain>
... |
SystemMonitorNotification / Notification / NotificationObjects / JobChain / NotifyRepeatedError
Jira | ||||||||
---|---|---|---|---|---|---|---|---|
|
Send notifications for all errors that occur, do not suppress errors for repeatedly failed executions.
One of the following elements can be nested inside a NotifyRepeatedError
element:
Element | Element description | Description |
---|---|---|
NotifyByIntervention | Optional or only once inside the NotifyRepeatedError element | Send notifications for errors that occur due to repeated failed executions if the restart was caused by manual intervention. |
NotifyByPeriod | Optional or only once inside the NotifyRepeatedError element | Send notifications for errors that occur due to repeatedly failed executions if a configurable period of time is exceeded. |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
...
<JobChain name="test/my_jobchain">
<NotifyRepeatedError>
<NotifyByIntervention />
<NotifyRepeatedError>
</JobChain>
...
<JobChain name="test/my_jobchain">
<NotifyRepeatedError>
<NotifyByIntervention />
<NotifyByPeriod period="2h" />
<NotifyRepeatedError>
</JobChain>
... |
SystemMonitorNotification / Notification / NotificationObjects / JobChain / NotifyRepeatedError / NotifyByIntervention
Send notifications for all errors that occur, do not suppress errors for repeatedly failed executions.
SystemMonitorNotification / Notification / NotificationObjects / JobChain / NotifyRepeatedError / NotifyByPeriod
Send notifications for errors that occur due to repeatedly failed executions if a configurable period of time is exceeded.
NotifyByPeriod
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
period | Required | Possible values:
|
SystemMonitorNotification / Notification / NotificationObjects / TimerRef
TimerRef
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
notifications | Optional Integer | Specifies the number of transfers the same notification to a System Monitor. Default: |
ref | Optional | Corresponds with Timer name setting defined in the SystemMonitorNotification / Timer element |
notify_on_error |
Optional Boolean | Send timer check notification when the configured job chain contains the error notifications. Default: |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<SystemMonitorNotification system_id="op5"> <Notification> <NotificationMonitor service_name_on_error="JobScheduler Monitoring Error"> ... </NotificationMonitor> <NotificationObjects> <!-- Send the job chain error, occurring in the "test/my_jobchain" job chain, to the "JobScheduler Monitoring Errors" service. --> <JobChain name="test/my_jobchain" /> </NotificationObjects> </Notification> <Notification> <NotificationMonitor service_name_on_error="JobScheduler Monitoring Performance"> ... </NotificationMonitor> <NotificationObjects> <!-- Sends the performance check error, occurring in the "test/my_jobchain" job chain, to the "JobScheduler Monitoring Performance" service. Sends the performance check error to the "JobScheduler Monitoring Performance" service will be ignored when the "test/my_jobchain" has the job chain error (default notify_on_error = false). --> <TimerRef ref="my_timer" /> </NotificationObjects> </Notification> <Timer name="my_timer"> <TimerJobChain name="test/my_jobchain" /> </Timer> </SystemMonitorNotification> |
...
MasterMessage
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
scheduler_id | Optional | Notifications are restricted to the JobScheduler instance with the given identification. By default notifications will be sent for all JobScheduler instances that log into the same database. Regular expression can be used. |
|
Optional Integer | Specifies the number of transfers the same notification to a System Monitor. Default: |
SystemMonitorNotification / Notification / NotificationObjects / TaskWarning
...
TaskWarning
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
scheduler_id | Optional | Notifications are restricted to the JobScheduler instance with the given identification. By default notifications will be sent for all JobScheduler instances that log into the same database. Regular expression can be used. |
|
Optional Integer | Specifies the number of transfers the same notification to a System Monitor. Default: |
SystemMonitorNotification / Notification / NotificationObjects / TaskIfLongerThan
...
TaskIfLongerThan
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
scheduler_id | Optional | Notifications are restricted to the JobScheduler instance with the given identification. By default notifications will be sent for all JobScheduler instances that log into the same database. Regular expression can be used. |
|
Optional Integer | Specifies the number of transfers the same notification to a System Monitor. Default: |
SystemMonitorNotification / Notification / NotificationObjects / TaskIfShorterThan
...
TaskIfShorterThan
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
scheduler_id | Optional | Notifications are restricted to the JobScheduler instance with the given identification. By default notifications will be sent for all JobScheduler instances that log into the same database. Regular expression can be used. |
|
Optional Integer | Specifies the number of transfers the same notification to a System Monitor. Default: |
SystemMonitorNotification / Timer
The following elements must be nested inside a Timer
element:
Element | Element description | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
TimerJob | Optional or multiple use allowed inside the Timer element | Restricts notifications for
| ||||||||||
TimerJobChain | Optional or multiple use allowed inside the Timer element | Restricts notifications for job chains | ||||||||||
Minimum | Optional or only once inside the Timer element | Minimum required execution time for job chains or selected job nodes. Allows script code to be executed that returns the minimum execution time in seconds. | ||||||||||
Maximum | Optional or only once inside the Timer element | Maximum allowed execution time for job chains or selected job nodes. Allows script code to be executed that returns the maximum execution time in seconds. |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<SystemMonitorNotification system_id="op5"> ... <Timer name="my_timer_1"> <TimerJobChain name="test/my_jobchain_1" /> <TimerJob name="test/my_job_1" /> <Maximum><Script language="javascript"><![CDATA[1000]]></Script></Maximum> </Timer> <Timer name="my_timer_2"> <TimerJobChain name="test/my_jobchain_2" /> <TimerJobChain name="test/my_jobchain_3" /> <Minimum><Script language="javascript"><![CDATA[500]]></Script></Minimum> <Maximum><Script language="javascript"><![CDATA[1000]]></Script></Maximum> </Timer> </SystemMonitorNotification> |
Timer
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
name | Required | Corresponds to Timer used in the The name must be unique across all timers definitions. |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
... <Timer name="my_timer"> ... |
SystemMonitorNotification / Timer / TimerJob
...
TimerJob
supports the following attributes:
Atribute | Usage | Description |
---|---|---|
scheduler_id | Optional | Notifications are restricted to the JobScheduler instance with the given identification. By default notifications will be sent for all JobScheduler instances that log into the same database. Regular expression can be used. |
name | Optional | Job name including possible folder names. Regular expression can be used. |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
... <TimerJob scheduler_id="scheduler_4444" /> ... <TimerJob scheduler_id="scheduler_4444" name="test/my_.*" /> ... <TimerJob name="test/my_job"/> ... |
...
TimerJobChain
supports the following attributes:
Attribute | Usage | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
scheduler_id | Optional | Notifications are restricted to the JobScheduler instance with the given identification. By default notifications will be sent for all JobScheduler instances that log into the same database. Regular expression can be used. | ||||||||||
name | Optional | Job chain name including possible folder names. Regular expression can be used.
| ||||||||||
step_from | Optional | Restricts checks for job chains to a sequence of job nodes that are specified with the step_from and step_to attributes. | ||||||||||
step_to | Optional | Restricts checks for job chains to a sequence of job nodes that are specified with the step_from and step_to attributes. |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
... <TimerJobChain scheduler_id="scheduler_4444" /> ... <TimerJobChain scheduler_id="scheduler_4444" name="test/my_.*" /> ... <TimerJobChain name="test/my_jobchain" step_from="200"/> ... <TimerJobChain name="test/my_jobchain" step_to="500"/> ... <TimerJobChain name="test/my_jobchain" step_from="300" step_to="300"/> ... |
SystemMonitorNotification / Timer / Minimum
The following elements must be nested inside a Minimum
element:
Element | Element description | Description |
---|---|---|
Script | Required, only once inside the Minimum element | Script code in one of the supported languages |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
... <Timer name="my_timer"> ... <Minimum><Script language="javascript"><![CDATA[1000]]></Script></Minimum> </Timer> ... |
SystemMonitorNotification / Timer / Maximum
The following elements must be nested inside a Maximum
element:
Element | Element description | Description |
---|---|---|
Script | Required, only once inside the Maximum element | Script code in one of the supported languages |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
... <Timer name="my_timer"> ... <Maximum><Script language="javascript"><![CDATA[1000]]></Script></Maximum> </Timer> ... |
SystemMonitorNotification / Timer / Minimum|Maximum / Script
Script
supports the following attributes:
Attribute | Usage | Description |
---|---|---|
language | Required | Script language name Supported languages:
|
The Script element can contain:
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
... <Script language="javascript"><![CDATA[ function my_calculate(){ var fileSize = new java.lang.Double(${file_size}); var timerExpiryFactor = 0.0025; var timerExpiryTolerance = timerExpiryFactor*0.1; var timerExpiry = new java.lang.Double(timerExpiryFactor+timerExpiryTolerance); timerExpiry = timerExpiry*fileSize; return timerExpiry; } my_calculate(); ]]></Script> ... |
This example job calculates and creates a new order parameter file_size
.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="ISO-8859-1"?> <job title="Sample Job with Store Result Monitor" order="yes" stop_on_error="no" tasks="1"> <params> <!-- set the scheduler_notification_result_parameters parameter --> <param name="scheduler_notification_result_parameters" value="file_size"/> </params> <!-- calculate and create the new order parameter if necessary --> <script language="java:javascript"><![CDATA[ function spooler_process(){ var order = spooler_task.order; var params = spooler.create_variable_set(); params.merge(spooler_task.params); params.merge(order.params); // parameter scheduler_file_path was set in the previous job chain step var file = new java.io.File(params.value("scheduler_file_path")); var fileSize = file.length()/1024; order.params.set_var("file_size",fileSize.toString()); return true; }]]> </script> <!-- set the StoreResultsJobJSAdapterClass as a monitor --> <monitor name="notification_monitor" ordering="1"> <!-- JobScheduler version 1.9.x, 1.10.x <script java_class="com.sos.scheduler.notification.jobs.result.StoreResultsJobJSAdapterClass" language="java"/> --> <!-- JobScheduler version 1.11.x, 1.12.x --> <script java_class="com.sos.jitl.notification.jobs.result.StoreResultsJobJSAdapterClass" language="java"/> </monitor> <run_time /> </job> |
...
Message
Anchor | ||||
---|---|---|---|---|
|
...
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Table of the history of steps of processed orders / jobs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
scheduler id = ${MON_N_SCHEDULER_ID}, history id = ${MON_N_ORDER_HISTORY_ID}, job_chain = ${MON_N_JOB_CHAIN_NAME}(${MON_N_ORDER_ID}), error = ${MON_N_ERROR_TEXT} |
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Table of the history of notifications sent to a system monitor.
|
|
|
|
|
|
|
|
|
|
| |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
step from = ${MON_SN_STEP_FROM}, step to = ${MON_SN_STEP_TO}, notification = ${MON_SN_CURRENT_NOTIFICATION} (of ${MON_SN_NOTIFICATIONS}) |
Expand | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||
Table of the history of executed checks (Timer)
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
timer name = ${MON_C_NAME}, text = ${MON_C_CHECK_TEXT} |
...
Service variables
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
service name = ${SERVICE_NAME} |
JOC Cockpit variables
Jira server SOS JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 6dc67751-9d67-34cd-985b-194a8cdc9602 key JS-1388
...
-
config/private/private.conf
configuration file is active and contains the configuredjoc.url
entry.
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<a href="${JOC_HREF_JOB_CHAIN}">${MON_N_JOB_CHAIN_NAME}</a> <a href="${JOC_HREF_ORDER}">${MON_N_ORDER_ID}</a> <a href="${JOC_HREF_JOB}">${MON_N_JOB_NAME}</a> |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
%TEMP%/test.exe |
Notification environment variables
...
Service variables
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
1) configured command in the SystemMonitorNotification_<MonitorSystem>.xml file <NotificationCommand><![CDATA[/tmp/command.sh]</NotificationCommand> 2) content of the /tmp/command.sh file #! /bin/sh # Note: "> /tmp/command_output.txt" is used to simulate the starting of the notification client # echo "$SCHEDULER_MON_SERVICE_NAME:$SCHEDULER_MON_SERVICE_STATUS:$SCHEDULER_MON_SERVICE_MESSAGE_PREFIX history id = $SCHEDULER_MON_TABLE_MON_N_ORDER_HISTORY_ID" > /tmp/command_output.txt |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
... <!-- zabbix_sender Zabbix sender installed on the JobScheduler host localhost Hostname of the zabbix server Zabbix_server JobScheduler Agent name(host name) that registred on Zabbix samples.job1 Item key of zabbix (replace "/" to "." of JOB_NAME ${MON_N_ERROR_TEXT} See explanation "Table variables" --> <NotificationCommand> <![CDATA[zabbix_sender -z localhost -s zabbix_server -k samples.job1 -o ${MON_N_ERROR_TEXT}]]> </NotificationCommand> ... |
Examples Mail
NotificationMail content_type="text/html"
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
... <NotificationMail content_type="text/html" charset="ISO-8859-1" encoding="7bit" priority="Normal"> <From><![CDATA[jobscheduler@sos-berlin.com]]></From> <To><![CDATA[spam@sos-berlin.com]]></To> <Subject><![CDATA[JobScheduler notification: job successfully completed: ${MON_N_JOB_NAME}]]></Subject> <Body><![CDATA[<style type="text/css"> .tg {border-collapse:collapse;border-spacing:0;border-color:#aaa;} .tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#aaa;color:#333;background-color:#fff;} .tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#aaa;color:#fff;background-color:#f38630;} </style> <table class="tg"> <tr> <th colspan="4">JobScheduler</th> </tr> <tr> <td>JobScheduler ID</td><td>${MON_N_SCHEDULER_ID}</td> <td>Agent URL</td><td>${MON_N_AGENT_URL}</td> </tr> <tr> <th colspan="4">Order</th> </tr> <tr> <td>Order ID</td><td><a href="${JOC_HREF_ORDER}">${MON_N_ORDER_ID}</a></td> <td>Order Title</td><td>${MON_N_ORDER_TITLE}</td> </tr> <tr> <td>Job Chain Name</td><td><a href="${JOC_HREF_JOB_CHAIN}">${MON_N_JOB_CHAIN_NAME}</a></td> <td>Job Chain Title</td><td>${MON_N_JOB_CHAIN_TITLE}</td> </tr> <tr> <td>Job Name</td><td><a href="${JOC_HREF_JOB}">${MON_N_JOB_NAME}${MON_N_JOB_NAME}</a></td> <td>Job Title</td><td>${MON_N_JOB_TITLE}</td> </tr> <tr> <th colspan="4">Task History</th> </tr> <tr> <td>Task ID</td><td>${MON_N_TASK_ID}</td> <td>Time elapsed</td><td>${MON_N_TASK_TIME_ELAPSED}</td> </tr> <tr> <td>Start Time</td><td>${MON_N_TASK_START_TIME}</td> <td>End Time</td><td>${MON_N_TASK_END_TIME}</td> </tr> </table>]]></Body> </NotificationMail> ... |
JobScheduler - Store parameters to database
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
... <spooler> <config ...> <params> ... <param name="sos.use_notification" value="true"/> ... </spooler> |
...
sos / notification / SystemNotifier
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<add_order job_chain ="sos/notification/ResetNotifications" id ="op5 JobScheduler Monitoring Error acknowledgement" title ="op5 JobScheduler Monitoring Error acknowledgement"> <params> <param name="service_name" value="JobScheduler Monitoring Error" /> <param name="system_id" value="op5"/> <param name="operation" value="acknowledge" /> </params> </add_order> |
Key to the above code:
Element | Attribute | Value |
---|
Description | |
---|---|
add_order |
XML Command to add the new order to the specified job chain on the JobScheduler. |
job_chain | sos/notification/ResetNotifications |
Job chain path must correspond with the path of the ResetNotifications job chain installed on the JobScheduler. |
id |
Order identifier. |
title |
Order title. | ||
param |
3 following parameters must be set: |
name | service_name | JobScheduler Monitoring Error | Relevant service name to set all already occured service errors in JobScheduler Interface Monitor as acknowledged. |
name | system_id | op5 | System identification. Corresponds with |
name | operation | acknowledge | Fixed value. Operation name to execute the acknowledgement in the JobScheduler Monitoring Interface. |
Example ResetNotifications <add_order> XML command via Perl script for op5 monitor system
...
System Monitor
- The JobScheduler is notified about the acknowledgment in the System Monitor by the execution of a script. See sos / notification / ResetNotifications
Recoverable Errors
Initial Situation
...
Jira | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|