====== SAP Jobs monitoring ====== This monitor is dedicated to surveillance of SAP background jobs. It will watch for job error status, duration, delay and job occurrence. You can set general rules to watch any job and be notified as soon as any fails. You can also configure specific rules for a given job to monitor its execution plan. A dedicated table is available to help managing notifications for specific job failures. ===== Monitored parameters ===== ==== SAP job status ==== * Monitor jobs with ''ABORTED'' state * Receive an alarm if a given job is ''ABORTED'' * Example: ''Job XYZ has been ABORTED on 2023/04/23 05:23'' * In the above example, the ''aggregate'' mode is OFF * Receive an alarm if a number of jobs greater than a threshold are ''ABORTED'' * Example: ''15 jobs matching Z_ABC* name have been aborted (>=10) in the last 60 minutes'' * In the above example, the ''aggregate'' mode is ON * You can filter jobs from a particular name, client and user * Use the ''Max duration'' or ''Max start delay'' threshold to activate duration and delay monitoring (must be > 0) * The severity of the alert can be customized with ''Abort. sev'' field * The ''aggregate'' option can be used to define the granularity of the monitoring: * OFF: One alarm per job * ON: One alarm for all jobs within the collected period ==== SAP job duration and delay ==== * Receive an alarm if a given job's duration or delay is too long * Example: ''Job XYZ is running since 46 minutes (>=30 min)'' * In the above example, the ''aggregate'' mode is OFF * Receive aggregated alarm reporting how many jobs are running or delayed for too long * Example: ''15 jobs matching Z_ABC* are delayed since 40 min (>=10)'' * In the above example, the ''aggregate'' mode is OFF * You can filter jobs from a particular name, client and user * Use the ''Max aborts'' threshold to activate job status monitoring (must be > 0) * The severity of the alert can be customized with ''Duration/Delay severity'' fields * The ''aggregate'' option can be used to define the granularity of the monitoring: * OFF: One alarm per job * ON: One alarm for all jobs within the collected period ==== SAP job occurence ==== * The purpose of this check is to be notified when a job expected run on a particular schedule is missing. * You can configure a given period and make sure the job runs at least once in that period (Ex: once per 60 min) * You can also configure a given schedule (with a CRON) and schedule period to make sure a job runs by an exact schedule (Ex: within 10:00 and 10:15) * To configure a particular period, use the **wizard** which offers multiple possibilities: * **Since last check** * **Since last X minutes** * **Every X minutes/hours/...**, starting from time X * **At schedule time:** Use a Cron schedule and period (Schedule period length) * Examples: * "0 0/15 * * * ? *" for 5 min -> Checks if the job runs at least once every 15 minutes * In this example, the job must run within a 5 minutes period after the cron period start: * Between 12h30 and 12h35, then between 12h45 and 12h50, etc... * "0 0 23 * * ? *" for 60 min -> Checks if the job runs once a day between 11pm and 12pm * As for other checks, you can filter on job name, user and client. * The severity of the alert can be customized with ''occurence severity'' field ==== SAP jobs calendars ==== * Sometimes the wrong calendar can be assigned to a given job within a SAP system. * This check can detect when the assigned calendar is not the expected one. * Set the calendar ID in the calendar field, an alarm will be sent automatically. ===== Configuration hints ===== ==== Load SAP jobs ==== * The monitor has the capability to discover SAP jobs from your system and let you select the ones to watch. * Just click on the ''Load jobs'' button to display the list of discovered jobs ==== Configuration wizard ==== * The table of rules contains lot's of paramaters which can be difficult to understand at the first place. * Use the wizard to open a configuration screen which will help you to configure exactly what you need. * Once parameters are set in the wizard, they will be transfered into the configuration table, where you can modify them if needed * Some configuration can only be achieved via the wizard: * SAP job occurence following a custom period or schedule {{:products:promonitor:6.8:monitorsguide:netweaver:pasted:20230824-181352.png}} ==== Time period ==== * By default, this monitor will look for jobs started since the last check * However, you can configure an arbitrary period, such as since last 15 min or 60 min which will be used even if the monitor runs every 5 minutes * This can be configured via the wizard ==== Filtering rules ==== * This monitor allows to define multiple rules for different use cases * Those use cases are often implemented by setting filters on job name, client and user. * **The filtering syntax is a bit special for this monitor**, because job name is not filtered the same way than user and client * User & client: [[..:..:monitorsguide:commonsettings|Use default filtering syntax]] * Job name: Use * to replace any **trailing** character of the job name * ''Z_ABC*'' -> matches jobs starting with ''Z_ABC'' * **Cannot be used for this:** ''*_PROCESSING'' -> will generate an error * If you want to use advanced filtering for job name, you need to activate **Advanced match** option ==== Exclusive option ==== * The exclusive check box defines weither a rule is exclusive or not: When it is active, any data matching the filter will not be processed by the next rules * This can be useful to create specific rules for results which shall not be processed by general monitoring rules ==== Notification table ==== * This table helps to simplify the management of notifications for SAP job alarms * You can define a job and client to associate with email recipients * If a mail plugin is configured to receive SAP job alarms, the recipients will automatically receive the alarm per email when the corresponding jobs trigger an alarm * I becomes easy to handle different recipients for some specific jobs ===== Atomic fields ===== ^Exclusion List|The exclusion list can be used when you activated to SAP jobs collection in the daily report monitor job. You can specify a list of jobs that you want to ignore, so they do not appear in the report. Note: This has no effect on the real time surveillance!| ^Metadata| If active all collected jobs will be sent to plugin compatible with metadata processing | ===== Configuration table ===== ^Parameter^Description^ ^Active|Use this field to activate or deactivate a line of configuration.| ^Job name|A filter to define the job that you want to monitor. Use * for all.| ^Client|A filter to match only a subset of clients.| ^Schedule info|Defines the schedule defined for the job. This field can only be modified via the wizard.| ^Max aborts|The threshold for the maximum number of aborted jobs within a period.| ^Abort sev.|Defines the severity of the alarm to send if a job get aborted.| ^Aggregate|If checked, an alarm will be sent if the total number of aborted jobs is over the threshold. If not check, then one alarm will be sent per job having a number of abort status equal or greater than the threshold.| ^Max duration|The threshold for the maximum job duration in seconds | ^Duration severity|The severity for the duration alarm.| ^Max start delay|The threshold for the maximum execution delay.| ^Delay severity|The severity for the delay alarm.| ^Occurrence severity|The severity used for schedule alarm.| ^Calendar|The execution calendar of the job. The check of the job won't be performed on calendar's closed days.| ^Alarm tag|This field allows to add custom text within the alarm message. %MSG% variable will contain the actual generated message and can be used such as: "my_prefix %MSG% my_suffix". By default, tag will be used as prefix.| ^Advanced match|If checked, will fetch all executed jobs from SAP and matches them according to specified job name with an advanced method. Collects more data, but allows more advanced matching methods.| ^Exclusive|If checked, all jobs matching the rule filter will not be processed by subsequent rules.| ^Alarm|If checked, this line of surveillance will be used for alarm generation.| ^Metric|If checked, this line of surveillance will be used for metric generation.| ===== Notification table ===== ^Parameter^Description^ ^Active|Use this field to activate or deactivate this rule| ^Job name|The job name to match| ^Client|The client to match| ^Recipient|A coma separated list of email recipients| ^Alarm tag|The optional alarm tag| ===== Examples ===== ^Active^Job name^Client^Schedule info^Max aborts^Abort sev.^Aggregate^Max duration^Duration severity^Max start delay^Delay severity^Occurrence severity^Calendar^Alarm tag^Alarm^Metric^ |true|*|*|From last 15 min|1|CRITICAL|false|0|DISABLED|0|DISABLED|DISABLED|None|false|true|false| **Effect** : A CRITICAL alarm will be sent for each aborted job occurred in the last 15 minutes ===== Examples ===== ^Active^Job name^Client^Schedule info^Max aborts^Abort sev.^Aggregate^Max duration^Duration severity^Max start delay^Delay severity^Occurrence severity^Calendar^Alarm tag^Alarm^Metric^ |true|MY_JOB|*|Every 1 HOURS Starting 2015/01/01 10:00|1|CRITICAL|false|15|WARNING|0|DISABLED|MAJOR|None|false|true|false| **Effect** : Sends a CRITICAL alarm if job MY_JOB is aborted. Sends a WARNING alarm if the job runs for more than 15 minutes. Sends a MAJOR alarm if the job is not scheduled every hour (one alarm per missed slot). ===== Generated metrics ===== ^metricId^metricUnit^metricTarget^metricDescription^ |JOBS_DURATION|Seconds|[JOB] (CLIENT)|The duration of the job in seconds| |JOBS_STATUS|Status|[JOB] (CLIENT)|The status of the job exexution. TRUE if success, FALSE instead| |ABORTED_JOBS|Aborted jobs|[JOB] (CLIENT)|The number of aborted jobs matching the filter.|