Contact Us
×
How you can contact us:

Job & Automation Monitoring

Scope & Content

Scope

The purpose of Job & Automation Monitoring, which is available as of SAP Focused Run 3.0 FP02, is to provide transparency about the status of automation processes regarding Execution Status, Application Status, Start Delay and Run Time with the aim to offer these 4 core operations aspects for all kinds of (scheduled) automation processes (for simplification called “jobs” in the later text), that run on different platforms with a unified user experience using a common look-and-feel and handling pattern.

Job & Automation Monitoring will replace the Job Monitoring application that supports the monitoring of ABAP jobs only. See a high-level feature comparison with Job Monitoring here.

The basic concept is to collect individual job execution data into the central monitoring application, to correlate it to the related job definition and evaluate every execution using historical data. The rating of the last execution is propagated to the job level and finally to the service level so that you can easily understand the current status of many jobs that are executed in the different systems. In case of issues with job executions, context-based navigation is offered from the aggregate to the individual job execution and finally a direct navigation to the corresponding job instance in the executing system (or service) to provide quick access for a more detailed analysis, for example to stop a not ending execution or to restart a failed execution.  

Job & Automation Monitoring shall help to understand the current status of the automation processes, cross all involved cloud services and systems. The aggregated historical data shall help to detect deteriorations to avoid downtimes. In case of a SAP ABAP system it shall help you to efficiently monitor Standard Jobs, which are those jobs that are scheduled by the SM36 Standard Job functionality or in SAP S/4HANA systems by the Technical Job Repository (see SAP Note 2190119).

 

Concept

Jobs and workflows are executed in the managed cloud services and on-premise systems. The individual executions are captured (start, end times, and status) by the local execution infrastructures this “normalized” run data is sent to SAP Focused Run, where the individual execution data is assembled and correlated with definition data. 

Content

Job & Automation Monitoring in SAP Focused Run collects data for these job types: 

  • SAP ABAP Jobs
  • SAP BW Process Chains
  • SAP Application Jobs
  • SAP Intelligent Robotic Process Automation Jobs

Supported Products

  • SAP NetWeaver Application Server for ABAP (higher than 7.40)
  • SAP S/4HANA and SAP Business Suite
  • SAP S/4HANA Cloud
  • SAP Intelligent Robotic Process Automation
  • SAP Marketing Cloud
  • SAP Integrated Business Planning for Supply Chain
  • SAP SuccessFactors Employee Central Payroll
  • SAP BTP, ABAP Environment

Features

Home Page

The Status Overview provides a summary regarding job execution for the systems in scope. It shows the number of systems and the number of automations ("jobs"). The jobs are rated based on the rating of the latest execution:

  • The Execution Status is rated green, if a job finished successfully or not. It is rated red, if a job execution does not finish, i.e., aborts.
  • The Application Status is rated green, if a job successfully processed the application data. It is rated red, if e.g., an ABAP job execution writes errors into the application log and yellow if there are warnings, but no errors.
  • The Start Delay is rated green, if the technical delay of a job (e.g., in case of an ABAP job the time passed until a job gets a work process assigned) did not exceed the threshold defined. You can set a fixed threshold, where the delay is compared with the threshold value.
  • The Run Time is rated green, if the runtime of a job did not exceed the threshold defined. You can set a relative threshold, where the current run time is compared with the average run time.

The Application Overview provides a card-based overview, with more details:

  • Last execution had an exception - All Job Types: Information on the number of jobs, where the last execution had an issue in the different aspects.
  • Last execution had an exception - Standard Job: Information on the number of standard jobs, where the last execution had an issue in the different aspects.
  • Open Job Alerts - All job types: Information on the alert numbers per alert type.
  • Open Job Alerts -Standard Job: Information on the alert numbers per alert type for standard jobs.
  • Missing execution of mandatory job: Information on the alert numbers in case of missing execution of a mandatory job.

In the Alert Ticker you see the most recent Job & Automation Monitoring alerts for the services in scope.

Please note that alerts that currently rated green are not shown in the alert ticker, whereas Job & Automation Monitoring considers all alerts that are not confirmed. Consequently, the alert number in the Status Overview section is typically higher than in the Alert Ticker.

Monitoring

  • For all systems in scope the jobs are listed and rated regarding Execution Status, Application Status, Start Delay and Run Time. The rating reflects the rating of the respective aspect for the latest execution of the job.
  • The list of jobs is default sorted by Execution Status rating in a descending order. You can change the sort and filter the list of jobs.
  • Column Open Alerts shows the number of not yet confirmed alert situations. By clicking on a number, you are navigated to the alert details.

To drill-down to a failed execution of a job in the remote system:

  • Click on a name, you view the list of executions for the selected job sorted by planned start time.
  • Click on the arrow in the end of the line, to view the run details regarding the executed actions (e.g., reports and variants).

  • Clicking on the information icon next to each execution, to view further details and navigate directly to the job in the managed system by clicking on the Run ID value.

Alerting

Alerts are created for every distinct job name and job type. You can get alerted, if a job has a red Executions Status, a red or yellow Application Status, if it's Delay or Run Time exceeds a threshold that you have set.

The alert Additional Key contains the NAME, TYPE and CONTEXT of the job. In the alert details you see the alerted executions of the job and have a direct link to the managed system like from the job monitoring application.

Analysis and Trend Reporting

Analytical information is offered for the jobs regarding number of executions, failed executions and run time. The table is default sorted by Total Run Time. You can change the sorting and apply filters.

On clicking on the graph icon at the end of every line you can navigate to the trend graphs for the job.

Note that hourly aggregates are built for the data. In case of a large time frame this could lead to many data points and therefore the hourly aggregates are summed up to daily values automatically for better readability.

Prerequisites

  • In managed ABAP system ST-PI 740 SP16 or higher + SAP note 3102288 is implemented (managed ABAP system needs to have SAP_BASIS 7.4 & above)
  • SDA version is at least 1.59 (for download see here)
  • In SAP Focused Run System, the following SAP notes are applied (and manual actions executed): 
    • 3204354 - FRUN 3.0 FP03 Job & Automation Monitoring UI corrections
    • 3211130 - FRUN 3.0 FP03 Job & Automation Monitoring back-end corrections

Setup

Activation of Job & Automation Monitoring Use Case

Flag and save the use case setting.

Collect Job Execution Information via Agent for Technical Systems

SAP ABAP Jobs and SAP BW Process Chains data is collected via the Simple Diagnostic Agent. To get this data collected for a technical system, you need to configure for it the data collection. In below picture for the top 3 systems data collection is activated. For the first system there are issues.

If you switch to "On", then by default for job type SAP ABAP Job the job execution data is collected from all clients. In the detail view you can restrict clients and collect data for further job types. Currently SAP ABAP Job and SAP BW Process Chain is offered for Application Server ABAP.

Collect Job Execution Information via SAP Cloud ALM Push Proxy for Services

SAP Application Jobs from S/4HANA CE and SAP Intelligent Robotic Process Automation Jobs are pushed from the respective services via the so-called SAP Cloud ALM Push Proxy to SAP Focused Run.

Configuration

Option to Set Run Time and Delay Threshold in Monitoring

Once job data is loaded from the managed system, you will see that Execution Status, Application Status, Start Delay and Run Time are rated. The rating is set according to the Rating Rules, for which you can adjust the thresholds for Start Delay and Run Time. Please note that this change is applied only to your session, it is not (yet) possible to save the setting.

Option to Set Name of Job with Changing Name

In case of the ABAP job scheduler there is no job definition with a unique ID. When scheduling a job the user defines what shall be executed, gives a job name and on save this entity gets a run ID. The job name does not need to be unique as together with the run ID it is unique for the ABAP system. At execution of the job the next occurrence is determined, and the job data is copied to the next due date and gets a new run id value.

To be able to group the executions of a job for Job & Automation Monitoring a stable ID is formed by the data collector as a hash value:

 ID

 Hash of

 JobId

 jobname + client + number of steps + job metadata[(step no + program + variant)]

 

If a job constantly changes its name (e.g. job name contains a time stamp), the formed JobId hash value is not stable, which does allow to group executions under one JobID. To enable the grouping for such a case, the JobId hash value is formed without the job name and on the monitoring UI, such a situation is indicated as follows:

In such a case, please give the job a name that represents all related executions (by pressing the pencil icon).

Note: Several ABAP jobs that have changing names and that execute the same (i.e. client + number of steps + job metadata[(step no + program + variant)] are identical), cannot be distinguished by the monitoring application. 

Option to Get Application Status Rated for ABAP Jobs

For SAP ABAP jobs in many cases the rating of the Application Status is grey. This is normal, if the job does not write any application log messages. To ensure that application log messages that are written during batch execution of a program are linked to the job execution you need to do following configuration:

  1. call transaction CRIT
  2. add "Auto-linking Applog-Handles for jobs"
  3. activate the profile

In below example the linking is restricted to jobs executed in client 200. Please note, that with "Option" [=] the value * will be interpreted as *. For patterns make sure to use "Option" [x].

Configuration of Alerts

To configure alerting for specific jobs, expand the configuration pane and then access the system, for which you want to configure alerting.

Alerts are created for every distinct job name and job type as this information is written into the “Additional Alert Keys”. If you do not maintain filter values all jobs for a system are considered.

If you adjust the alert configuration adjust the Alert Name to describe, what is monitored. For example, if you restrict via filter an alert to specific jobs or set specific thresholds. If you configure several alerts of the same type, please avoid redundancies, i.e., overlapping the filter conditions.

Job Monitoring Alerting is integrated with SAP Focused Run downtime management, i.e., an alert for a job is created only, if the executing system is currently not in a planned downtime.

 

Alert Types

The following Alert Types are offered:

  • Critical Execution Status: An alert is raised, if the Executions Status of a job is rated red, which is the case if an execution aborts or cancels. The option to get alerted only, if a job fails several times in a row is not enabled yet.
  • Critical Application Status: An alert is raised, if the Application Status of a job is rated red, which is the case if an execution produces an application error (for an ABAP job error in SLG1 log). You have the option to get alerted also for warnings, if the Application Status of a job is rated red or yellow.
  • Critical Delay: An alert is raised, if the start-delay of a job execution (Start Time - Planned Start Time) exceeds the threshold set by you. It is not raised, if the planned start time of the job falls into a planned down time.
  • Critical Runtime: An alert is raised, if the run time of a job execution (End Time - Start Time) exceeds the threshold set by you.
  • Missing Execution of Mandatory Job: An alert is raised, if the execution of a mandatory job is more than 5 minutes after the expected start time. A job can be set "mandatory" in section "Job Definitions", in the table that contains the recurring jobs.

Alert Filters

For the filter values you can use the conditions "is", "is not" or "contains". The "is" condition supports a pattern for the alert filters Job / Automation Name, Job / Automation Execution User and Job / Automation Executable Name (e.g. Name = SAP_* filters all jobs that start with SAP_) 
  • Job / Automation Name: To restrict the alert to jobs or automations with specific names as displayed in the monitoring application.
  • Job / Automation Execution User: To restrict the alert to jobs or automations, where the executable is executed by a specific user. Take the value from field “Executed by” of the job from the monitoring application*.
  • Job / Automation Executable Name: To restrict the alert to jobs or automations, based on what is being executed. Take the value from field “Executable” of the job from the monitoring application* (in case of ABAP systems the field contains “<report> | <variant>”).
  • ABAP Client: To restrict the alert to jobs or automations, that are running in a specific client.
  • Job type: To restrict the alert to jobs or automations of a specific job type.
  • Standard Job: To restrict to “Standard Jobs”. 

Alert Settings

In the Alert Settings section you can find and maintain the typical SAP Focused Run alert and notification settings:

  • Alert Severity: Set to a high value, if you want to get in the alert inbox a high priority assigned to the alert. Please note, that the current rating of the alert influences its priority, for example
    • if Alert Severity is set to 0 - Low , and Current Rating for instance is Red then - Alert Priority is set to Medium.
    • if Severity is 0 - Low, and Current rating is Green then- Alert Priority is set to Low.
  • Raise Alert: If “Grouped” is set then no new notification is sent out on every occurrence of the alert situation, for example every time a job fails to finish successfully. 
  • Automatic Alert Confirmation: If the flag is set, an alert gets confirmed automatically, if a succeeding execution of the same job did not raise the alert.
  • Notification Variant: Enter the variant that shall be used when triggering a notification. If no value is entered, the global variant will be used, if that is maintained.
  • Outbound Variant: Enter the variant that shall be used when triggering an external incident system via outbound connector BADI. If no value is entered, the global variant will be used, if that is maintained.

 

Alert Resolution

The alert resolution text is copied over to the alert instance. A default text is offered, that you should adjust, to describe the actions that you want the alert processor to do before turning to an expert.

Option to flag Jobs as Mandatory

Mandatory jobs are those jobs, that you expect to run in a system just like you have scheduled them (with the defined executables and with the defined periodicity). 

In view Job Definitions all recurring jobs are listed and you have the option to flag them “Mandatory” via the button above the table. With utility report REPT_ADD_STD_JOB_TO_MANDT_JOBS you can set all standard jobs “mandatory” for a specified system (ExtendedSID).

Once you have flagged a job as mandatory, it stays in table Job Definitions also if it has been changed or deleted in the managed system and consequently with alert type “Missing Execution of Mandatory Job” you can get alerted, if the execution of the job is overdue.

For example, you need to make sure that 2 jobs are running unchanged after system setup. As part of system configuration activities, you have

  1. changed the variant of a standard job A and adjusted its periodicity.
  2. scheduled a job B.

Both jobs are scheduled, and you want to get alerted, if these jobs are not running as expected. For this you flag job A and job B in table Job Definitions as mandatory and create an alert of type “Missing Execution of Mandatory Job” and filter for job A and job B.

An alert will be created if the execution of the jobs is overdue. This will be the case, if

  • the job is changed (for example the name of the variant changes) as the data collector will create a new hash ID for the job and not send job data for the former ID any more.
  • the job is deleted
  • the job is scheduled to run less frequent (as the job will be recognized as overdue).

Use Cases

  • Get alerted 
    • if a standard job fails (using alert filter "Standard Job")
    • if a job from a list of jobs fails or runs too long (using alert filter "Job Name")
    • if an ABAP job writes a critical job log message
    • if an ABAP job writes a critical application log message
    • if a job does not run any more *
    • if jobs that execute a specific report fail (using alert filter "Job Executable")
  • Analyze**
    • which are the long running jobs and check if they deteriorate
    • for a job, if there are times with high run time or high failure rate

* possible as of SAP Focused Run 3.0 FP03 by defining one or more jobs as mandatory and configuring the (new) alert type "Missing Execution of Mandatory Job"

** possible as of SAP Focused Run 3.0 FP03 via the (new) view "Analysis" and the (new) view "Trend Graphs")

Housekeeping

In SAP Focused Run Job & Automation Monitoring data reorganization is as follows:

  • the data of individual executions are kept for monitoring depending on job frequency and deleted with a default rule that you cannot change. The rule is, that for every job at least the last 14 executions are kept, all from the last 24 hours and on top all failed executions for 3 days. 
  • jobs that are deleted in the managed service (that are not scheduled any more) are removed from the database after 2 weeks together with the related executions and schedules.
  • the data of individual executions are aggregated for analysis and deleted by default after 52 weeks. You can change the default to a value between 4 and 150 weeks.

Note: Please ensure to confirm alerts as alerted job executions are not removed from the data base.

Troubleshooting

You have switched on data collection for a technical system of Type Application Server ABAP, but the status of data collection stays "in progress" for more than 15 minutes or switches to "failed”. 

Background: By switching on data collection for a managed system you have implicitly created a filter for job type SAP ABAP Job and will collect job data from all clients. You might have explicitly created filters, for example to collect ABAP jobs only from a certain client or collect BW process chains. The following artifacts need to work for the collection to happen

  1. Job SAP_FRN_JAM_DATA_COLLECTION is running 
  2. In remote ABAP system needed ST-PI + notes (see prerequisites) are applied.
  3. Agent version needs to be >= 1.59
  4. In Agent Administration for the technical system (see in Configuration Information)
    • the following files are received from SAP Focused Run for creation or deletion of threads based on activation or deactivation of filters in monitoring configuration
      • com.sap.solman.agent.jobmon.housekeeping
      • com.sap.solman.agent.jobmon.metadata
      • com.sap.solman.agent.jobmon.runtime
    • the following threads have been created (see in Agent Internals in tab Collector Framework)
      • in case of ABAP job monitoring
        • jobmonhousekeeping [<<FRUN SID>>.JOB_ABAP_HOUSEKEEP_OP_<<host>>_<<LMDB ID of managed system>>] Period [86400 S]
        • jobruntime [<<FRUN SID>>.JOB_ABAP_RUNTIME_OP_<<host>>_<<configuration ID of filter>>] Period [300 S]
        • metadata [<<FRUN SID>>.JOB_ABAP_METADATA_OP_<<host>>_<<LMDB ID of managed system>>] Period [300 S]
      • in case of BW Process Chain monitoring
        • jobmonhousekeeping [<<FRUN SID>>.JOB_BW_HOUSEKEEP_OP_<<host>>_<<LMDB ID of managed system>>] Period [86400 S]
        • jobruntime [<<FRUN SID>>.JOB_BW_RUNTIME_OP_<<host>>_<<configuration ID of filter>>] Period [300 S]
        • metadata [<<FRUN SID>>.JOB_BW_METADATA_OP_<<host>>_<<LMDB ID of managed system>>] Period [300 S]

If there are exception like “Empty CSRF token” in the threads the reason could be that the properties file is outdated (job monitoring had to update the custom properties). In order to make the agent use the new properties you need to manually reconfigure and restart the agent using the Agent Administration and selecting the technical system or Host.

  1. Re-configure the SDA (to push the updated Properties files to the system)
    • Via the Mass Action drop down 
      • select Configure Agent
      • Press Go button
  2. Re-start the SDA (once the Agent configuration has completed):
    • via the Agent Action drop down
      • select Restart Agent
      • press Go button

Issue: In the Additional Alert Key we see job name FRN_ARP_0000001242. However, this job does not exist. The actual job names, that we see in SM37 are:

  1. FRN_GP_C2022111514563629923_001
  2. FRN_GP_C2022111514563629923_002
  3. ...
  4. FRN_GP_C2022111514563629923_012
  5. ...

Answer: As explained in the Configuration section under Option to Set Name of Job with Changing Name: In case of the ABAP job scheduler there is no job definition with a unique ID. To be able to group the executions of a job for Job & Automation Monitoring a stable ID is formed by the data collector as a hash value that contains the job name. If a job constantly changes its name (e.g. job name contains a time stamp), the formed JobId hash value is not stable, which does allow to group executions under one JobId. To enable the grouping for such a case, the JobId hash value is formed without the job name and on the monitoring UI you have the option to give to such a job a name that represents the group of jobs. It is this name, that will be used at alert creation.

Still forward navigation from the alert details via URL to the job in the managed ABAP system is supported.

In SM37 all jobs are displayed, whereas in the monitoring application jobs that execute report RSPROCESS are not displayed. The reason is, that those jobs are elements of BW Process Chains. They are displayed as executables of the related BW Process Chain (job type SAP BW Process Chain).

With note 3102288 (version 31) parent PPF jobs are collected, but not the child jobs that execute reports RBANK_PROC_START or RBANK_PROC_END. Those child jobs are consequently invisible in the monitoring application. The reason for not collecting their execution data is, that the parent job runs until all child jobs have finished and if any of the child jobs fails, the parent job has a message in its job log. If the collector (as of ST-PI 7.4 SP20) finds such messages, it rates the parent job yellow.

There are ABAP jobs, that write messages of type E (Error) or W (Warning) into the job log, without actually aborting. To indicate such a situation the job monitoring application rates such job executions with yellow Execution Status rating.

Release Notes

  1. Initial Version

Detail information available in Configuration Guide with Use Cases.

  1. Pattern support for alert filters Job Name, Execution User and Executable Name
  2. New Alert Type "Missing execution of mandatory job"
  3. New view Analysis offering summarized information on
    • number of executions
    • number of failed executions
    • total and average run times 
  4. New view Trend Reporting offering trend information (based on hourly aggregates) for individual jobs regarding
    • number of executions
    • number of failed executions
    • total and average run times
  5. Option to monitor via SAP Cloud ALM Proxy cloud jobs like
    • SAP Application Jobs
    • SAP Intelligent RPA Jobs    

Detail information available in Configuration Guide with Use Cases.