Table of Contents
SAP Cloud ALM Real User Monitor Monitoring
The SAP Cloud ALM Real User Monitoring monitor retrieves real user monitoring metrics from your SAP Cloud ALM tenant and publishes them into the monitoring system. It can also evaluate thresholds and raise alarms based on a selected measure per row.
Prerequisites
Network connectivity from the collector to your SAP Cloud ALM tenant API endpoint, for example:
https://your-tenant.api.xxx.hana.ondemand.com
Cloud ALM Connector (required)
The monitor requires a Web Service connector with authentication type CLOUD_ALM.
This connector is based on a service key of the SAP Cloud ALM API service instance in the BTP subaccount that contains your Cloud ALM entitlement.
The following OAuth scopes must be included in the instance parameters in the authorities list:
$XSMASTERAPPNAME.calm-api.hm.read$XSMASTERAPPNAME.calm-api.metrics.read$XSMASTERAPPNAME.calm-api.rum.personal.read(optional) Required to see real user names in Real User Monitoring. Without this scope, user names appear encrypted/anonymized.
API Endpoints used
| Endpoint | Purpose |
|---|---|
| POST /oauth/token | Authentication (BTP UAA) |
| GET /api/calm-metrics/v1/metrics?provider=rum | Retrieve real user monitoring metrics |
Key Features
Metrics Collection
The monitor can collect and publish the following measures for Cloud ALM real user monitoring metrics:
- responseTime – Average response time (ms)
- users – Number of users
- requests – Number of requests
- okStatus – OK status indicator
- warningStatus – Warning status indicator
- criticalStatus – Critical status indicator
Alarm Capabilities
- Per-row thresholds using the standard
G2W:80 W2M:90syntax. Multi Threshold Syntax - Alarm evaluation is performed only on the selected metric for each row
- Attributes Filter can further restrict which datapoints are evaluated
- Exclusive controls whether a matching datapoint can be consumed by later rows
- Wildcard support (
*) for Metric and Service name - Optional alarm tag for grouping or routing
- Automatic clear is supported by the monitoring framework when the alarm condition no longer matches
Metric Publishing Behavior
The monitor supports both global and row-level metric publishing:
Send all metrics = true
- publishes all supported datapoints for all returned metrics
Send all metrics = false
- publishes only the selected measure for rows where Send metric is enabled
- only rows with Send metric enabled will publish performance data
When row-level publishing is used, the monitor publishes the measure selected in Alarm on for matching rows.
Advanced Discovery
- Load ALM Real User Metrics button: Automatically discovers metric names and service names currently reported by Cloud ALM and populates the configuration table.
- The loaded metrics also expose the available datapoint attributes, so you can use them to build an Attributes Filter for each row.
Configuration
Monitor Configuration
Method 1: Load ALM Real User Metrics
- Open the monitor configuration.
- Click the Load ALM Real User Metrics button.
- The table will be populated with METRIC and SERVICE_NAME from your live Cloud ALM tenant.
- Activate the rows you want, define thresholds, choose Alarm on, and save.
Method 2: Wildcard / Manual Mode
- Set Metric =
and/or Service name =to monitor everything or a broad subset. - If Send all metrics is enabled, all collected datapoints are published.
- If Send all metrics is disabled, only rows with Send metric enabled will publish performance data.
Settings Reference
| Field | Description | Default |
|---|---|---|
| Active | Enable/disable this configuration row | true |
| Service name | Filter by service name ( = any) | * |
| Metric | Filter by metric name ( = any) | * |
| Thresholds | Multi-level thresholds (G2W / W2M / etc.) | G2W:80 W2M:90 |
| Alarm tag | Optional tag added to the alarm message | (empty) |
| Exclusive | If enabled, matching datapoints of this row can be consumed and not reused by later rows | true |
| Alarm | Enable/disable alarm creation for this row | true |
| Send metric | Publish the selected measure for this row when Send all metrics is disabled | true |
| Send all metrics | Publish all returned metrics and measures globally | true |
Collected Metrics
All metrics are stored with the base key:
promonitor.cloud_alm.rum.*
| Metric Key | Unit | Description | Tags |
|---|---|---|---|
promonitor.cloud_alm.rum.<metric>.responseTime | milliseconds | Average response time | service.name, sap.service.name, service.namespace, service.instance.id, sap.service.display_name, request, requestType, user, microService |
promonitor.cloud_alm.rum.<metric>.users | - | Number of users | same as above |
promonitor.cloud_alm.rum.<metric>.requests | - | Number of requests | same as above |
promonitor.cloud_alm.rum.<metric>.okStatus | - | OK status count / indicator | same as above |
promonitor.cloud_alm.rum.<metric>.warningStatus | - | Warning status count / indicator | same as above |
promonitor.cloud_alm.rum.<metric>.criticalStatus | - | Critical status count / indicator | same as above |
Alarm Evaluation Notes
- Alarm evaluation is performed only on the metric selected in Alarm on
- The monitor checks datapoints with the selected metric name and evaluates the configured thresholds
- If Exclusive is enabled, a matching datapoint can be consumed so that later rows do not evaluate it again
Troubleshooting
- “No metrics returned” or empty table after Load: Check that the connector uses CLOUD_ALM authentication and that the service key from the BTP SAP Cloud ALM API instance is valid. Also verify the tenant has Real User Monitoring data.
- HTTP 401/403: Token issue – regenerate the service key in the BTP instance.
- Metrics show 0 but data exists in Cloud ALM: Some metrics may legitimately report 0 for one or more measures.
- Alarms not triggering:
- Verify the row is Active
- Verify Alarm is enabled
- Verify Alarm on matches the intended measure
- Verify Metric and Service name match the incoming Cloud ALM metric
- Verify threshold syntax is correct (Multi thresholds syntax)
- No metrics stored when data exists: If Send all metrics is disabled, make sure Send metric is enabled on the relevant row.
