User Tools

Site Tools


products:promonitor:latest:monitorsguide:sap_cloud_alm:job_automation_monitoring_monitor

ALM Job & Automation Monitoring

Retrieves job execution metrics from SAP Cloud ALM Job & Automation Monitoring (JAM). Publishes time-series metrics and evaluates alarms per configured row.

  • API: GET /api/calm-metrics/v1/metrics?provider=jam

Prerequisites

Cloud ALM Connector (required)

Requires a Web Service connector with authentication type CLOUD_ALM.

SAP Cloud ALM Connector

Based on a service key from the SAP Cloud ALM API service instance in the BTP subaccount.

Required OAuth scopes in the authorities list of the instance parameters:

  • $XSMASTERAPPNAME.calm-api.jam.read
  • $XSMASTERAPPNAME.calm-api.metrics.read

API Endpoints

Endpoint Purpose
POST /oauth/token Authentication (BTP UAA)
GET /api/calm-metrics/v1/metrics?provider=jam Retrieve JAM metrics

Key Features

  • Publishes eight metric types per JAM datapoint: run_time average_run_time executions success warning aborted application_warning application_error
  • Time window is derived from the monitor schedule: from = now - schedule_interval, to = now (format yyyyMMddHHmmss UTC)
  • Paginated fetching up to 3000 records per page using x-total-count response header
  • Per-row thresholds with standard G2W:80 W2M:90 syntax. Multi Threshold Syntax
  • Attributes Filter narrows which datapoints a row evaluates
  • Exclusive controls whether a matched datapoint is consumed or passed to later rows
  • Glob support for Metric and Service name fields (* = all)
  • Optional alarm tag for grouping or routing
  • Auto-clear when alarm condition no longer matches
  • Load Services button: auto-discovers JAM service IDs and names from the live tenant

Data Collection

Data collection populates Service name and Service ID from the Cloud ALM JAM service registry.

Always run data collection before adding rows. A service name not returned by data collection may not match what the metrics API returns.

Click Load Services to run data collection and populate the surveillance table.

Configuration

Method 1: Load Services

  1. Open monitor configuration
  2. Click Load Services
  3. Table populates with Service name and Service ID from the live tenant
  4. Enable rows, set thresholds, save

Method 2: Manual / Wildcard

  1. Set Metric = * and/or Service name = * to match all
  2. Use only service names returned by data collection

Settings Reference

Field Type Default Description
Active Boolean true Enable or disable this row
Service name String * Glob matched against JAM service label e.g. MY_SERVICE.100. * = all. Populated by data collection
Service ID String (empty) UUID of service. Auto-populated by data collection
Metric String * Metric type to match. Exact values or *. See Metric types
Attributes Filter String (empty) Narrows datapoints. Format: key:value,key2:value2. Empty = no restriction. See Attributes Filter
Thresholds String G2W:80 W2M:90 Alarm thresholds. Multi Threshold Syntax
Alarm tag String (empty) Optional tag appended to alarm message
Exclusive Boolean true If true datapoint is consumed by this row and not re-evaluated by later rows
Alarm Boolean true Enable alarm evaluation for this row
Metric Boolean true Publish metric datapoints for this row

Metric types

Value Description
run_time Last execution run time in ms
average_run_time Average run time in ms
executions Total execution count
success Count of successful executions
warning Count of executions completed with warnings
aborted Count of aborted executions
application_warning Count of executions with application warnings
application_error Count of executions with application errors
* All of the above

Attributes Filter

Narrows which datapoints a row matches. All clauses must match (AND). Matching is case insensitive. Malformed clauses are silently ignored.

Attribute Description Example
jobname Name of the scheduled job MY_JOB
jobtype Internal job type identifier ABAP
jobtypelabel Human-readable job type label ABAP Job
servicetype Service type identifier S4
servicetypelabel Human-readable service type label SAP S/4HANA

Example filter value:

jobtype:ABAP,servicetypelabel:SAP S/4HANA

Filter Evaluation Order

  1. No rows configured: nothing is published. Add at least one active row to collect data.
  2. Service name: glob matched against JAM service label. MY_SERVICE* matches MY_SERVICE.100. * matches all.
  3. Metric: exact match or *. Partial globs do NOT work.
  4. Attributes Filter: all clauses must match. Empty = match all datapoints.
  5. Exclusive = true: datapoint consumed by first matching row. Later rows skip it.
  6. Metric = false: row evaluates alarms but publishes no metric datapoints.

Collected Metrics

Base key: promonitor.cloud_alm.jam.*

Metric key Unit Description
promonitor.cloud_alm.jam.run_time ms Last execution run time
promonitor.cloud_alm.jam.average_run_time ms Average run time
promonitor.cloud_alm.jam.executions count Total executions
promonitor.cloud_alm.jam.success count Successful executions
promonitor.cloud_alm.jam.warning count Executions with warnings
promonitor.cloud_alm.jam.aborted count Aborted executions
promonitor.cloud_alm.jam.application_warning count Executions with application warning
promonitor.cloud_alm.jam.application_error count Executions with application error

Tags published with each datapoint: service_name sap_service_name service_namespace service_instance_id sap_service_display_name plus datapoint-level tags jobname jobtype jobtypelabel servicetype servicetypelabel

Alarm Evaluation

Alarms use a suppression key to deduplicate. Format:

  • With job name: {monitorId}_{connectorId}_alm_jam_{service}_{metric}_{jobName}_{rowIdx}
  • Without job name: {monitorId}_{connectorId}_alm_jam_{service}_{metric}_{rowIdx}

One alarm per unique key. A new execution value overwrites the previous alarm state for the same key.

Examples

1. Publish all metrics for all services

Set Service name = * and Metric = *. An empty table sends nothing.

2. Alarm on average run time above 5 minutes for all services

Active Service name Metric Attributes Filter Thresholds Exclusive Alarm Metric
true * average_run_time (empty) G2W:300000 W2M:600000 true true true

Value is in ms. G2W:300000 = warning above 5 min. W2M:600000 = major above 10 min.

3. Alarm on aborted executions for one service

Active Service name Metric Attributes Filter Thresholds Exclusive Alarm Metric
true MY_SERVICE aborted (empty) G2W:1 W2M:5 true true true

Alarms as soon as 1 aborted job appears. G2W:1 means any non-zero value triggers warning.

4. Alarm on ABAP jobs only

Active Service name Metric Attributes Filter Thresholds Exclusive Alarm Metric
true * aborted jobtype:ABAP G2W:1 W2M:5 true true true

Only ABAP job datapoints evaluated. Other job types not matched.

5. Alarm without publishing metrics

Active Service name Metric Attributes Filter Thresholds Alarm Metric
true * average_run_time (empty) G2W:300000 W2M:600000 true false

Metric = false: alarms fire but no datapoints written to time-series.

6. Two services with different thresholds

Active Service name Metric Attributes Filter Thresholds Exclusive Alarm Metric
true MY_SERVICE average_run_time (empty) G2W:120000 W2M:300000 true true true
true * average_run_time (empty) G2W:300000 W2M:600000 true true true

Row 1 consumes MY_SERVICE datapoints (Exclusive = true). Row 2 applies a looser threshold to all other services.

7. Monitor errors and warnings separately

Active Service name Metric Attributes Filter Thresholds Alarm tag Exclusive Alarm Metric
true MY_SERVICE application_error (empty) G2W:1 W2M:5 JAM_ERR true true true
true MY_SERVICE application_warning (empty) G2W:5 W2M:20 JAM_WARN true true true

Each metric type gets its own threshold and alarm tag.

Troubleshooting

Symptom Check
Empty table after Load Services Connector uses CLOUD_ALM auth. Service key is valid. Tenant has active JAM data.
HTTP 401 or 403 Regenerate service key in BTP instance. Verify OAuth scopes include calm-api.jam.read.
No data in time window Check the monitor schedule. The time window is now - schedule_interval. A very short schedule may return no data if JAM has not yet produced new results.
Metrics show 0 but Cloud ALM has data Check from/to time window matches when JAM jobs actually run. Some measures legitimately report 0.
Alarms not triggering Row is Active. Alarm is enabled. Metric and Service name match incoming data. Threshold syntax is correct.
Duplicate alarms for same job Add Attributes Filter with jobname: to target a specific job per row.
No metrics stored when data exists Enable Metric on the relevant row.

Limitations

  • Metric field does not support partial glob patterns. *Error does NOT match application_error. Use exact values or *.
  • Service ID is auto-populated by data collection. Manual entry is possible if the UUID is known.
  • Malformed Attributes Filter clauses are silently ignored. Validate format before saving.
  • Time window resolution depends on the monitor schedule. If the schedule interval is larger than the JAM data retention window, some executions may be missed.
  • Exclusive = true means first matching row wins. Order rows from most specific to most general.
products/promonitor/latest/monitorsguide/sap_cloud_alm/job_automation_monitoring_monitor.txt · Last modified: by luis