-
Technical Assistance
Request product support from SAP
-
Non-Technical Assistance
Request non-product support or provide feedback on SAP Support Portal site
Technical Assistance
Request product support from SAP
Non-Technical Assistance
Request non-product support or provide feedback on SAP Support Portal site
This guide describes how a cloud application can be enabled for SAP Cloud ALM via the OpenTelemetry (OTEL) based Next Generation – Data Collection Infrastructure (NG-DCI). Specifically, this guide describes how the OTEL data collection for Real User Monitoring in SAP Cloud ALM can be achieved. For SAP Cloud ALM Real User Monitoring both frontend and backend measurements are leveraged.
The Next Generation – Data Collection Infrastructure consists of the Data Collection Instrumentation (DCI), DCR (BTP service) and SAP Cloud ALM (including the Data Routing Infrastructure, DRI). The actual instrumentation is done with DCI.
Below you can find the broader concept and architecture diagram:
Currently only Real User Monitoring and Health Monitoring are able to consume data provided by NG-DCI. However, several other use cases of SAP Cloud ALM for operations are planned.
We start with the integration of BTP CF with SAP Cloud ALM as target platform. However, we will enable SAP Focused Run in the future to also consume data provided by NG-DCI. So the instrumentation at managed service side needs to be done only once. Please be aware, that all functionalities in yellow boxes are future plans.
The cloud application to be monitored may consist of several micro services and run on SAP BTP Cloud Foundry.
At least one Java application handling Front-end Statistical Records (FESR) requests must exist and must be implemented using Spring Boot.
At least one node.js application handling Front-end Statistical Records (FESR) requests must exist and use express.js.
The OTEL ALM Libraries are shipped by SAP Repository Based Shipment Channel (RSBC). Request the technical user name and password in the RBSC UI https://ui.repositories.cloud.sap/www/webapp/users. For a full documentation of the RBSC please see the RBSC documentation https://shipments.pages.repositories.cloud.sap/docs/.
Please use these versions for JAVA:
and these versions for Node.js
For a complete version history, please check the following Version Update for Data Collection Instrumentation Libraries (SAP Help).
Java
For the Java OTEL ALM Libraries an integration in the SAP CF JAVA Buildpack is planned for later, in that case no integration into the Maven build is required as the libraries are already included in the buildpack itself. For now, you have to include the library as a maven dependency:
<repositories>
<repository>
<id>***artifactory-id***</id>
<url>https://73555000100200018064.mavensrv.base.repositories.cloud.sap</url>
</repository>
</repositories>
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>**artifactory-id**</id>
<username>***technical-user-name read from vault***</username>
<password>***password read from vault***</password>
</server>
</servers>
</settings>
Node.js or CAP (JavaScript)
In your .npmrc file, specify the credentials for the repository containing the OTEL ALM Libraries:
//73555000100200018064.npmsrv.cdn.repositories.cloud.sap/:_auth=<base64 encoded version of username:password>
The value for the _auth property is Base64 encoding of the combination of 'username:password' where the user name is the user name of the technical user. Respectively, the same holds for password.
Note - It is recommended to store the password in a vault and reference it in the settings, so that it can be read during build and pipeline deployment!
As of now, the only offered frontend measurements come from SAP UI5. For this, we leverage the Front End Subrecords measurement provided by the UI5 framework. Currently we only support "standalone" UI5 applications for front end measurements.
To instrument your own application with Frontend measuring there are three steps:
The first point can be achieved with a simple meta tag in your root index.html of your UI5 application. We will send the beacon to the /fesr endpoint (Note: depending on your project and routing setup this may contain an application specific prefix like in this example):
<meta name="sap-ui-fesr" content="/<optional app-specific-prefix>/fesr">
Here, the prefix is /<optional app-specific-prefix> is an application specific prefix example. It may or may not be necessary in your case. The endpoint /fesr is mandatory.
Since your UI application will likely use a reverse proxy to communicate with your backend you need to configure the /fesr route to be routed to the specific endpoint which will be configured in the next step. Usually, this is done by a central approuter. You must configure your central approuter to route the /fesr routes:
{
"routes": [
{
"source": "^/fesr$",
"target": "/fesr",
"destination": "<destination pointing to your fesr receiver backend>",
"csrfProtection": false,
"authenticationType": "xsuaa"
}
]
}
Note that csrfProtection must be set to false.
Now, that UI5 is sending the FESR beacons to /fesr they need to be received and transmitted to SAP Cloud ALM. For this, you need to include both the FESR receiver library as well as the OpenTelemetry data collection instrumentation:
To configure the data collection instrumentation for backend services you only need the respective autoinstrumentation:
In case you encounter problems using or setting up the Next Generation – Data Collection Infrastructure in SAP Cloud ALM, please report an incident using the following components:
Please select your SAP Cloud ALM tenant when reporting the incident.