SAP ALM API & Integration: Open Telemetry Support with the SAP Cloud ALM Raw Data API
In this series of articles, we will focus on the SAP Cloud ALM Raw Data API.
The SAP Cloud ALM raw data API implements the OpenTelemetry protocol to provide access to the observability signals produced by SAP Cloud ALM.
With the SAP Cloud ALM raw data API you can send and receive observability data to any backend with no specific vendor requirements and benefit of the automatic instrumentation agents to collect without requiring any code changes or specific integrations for popular frameworks and languages.
Raw Data API
This API lets you manipulate Raw Data from the different monitoring use-cases.
This API implements the Open Telemetry protocol (OTLP) to read and inject raw data managed by SAP Cloud ALM with the Open Telemetry protocol.
The raw data APIs are either outbound or inbound APIs.
- Inbound means that other applications make calls to SAP Cloud ALM’s API to inject data in SAP Cloud ALM.
- Outbound means that other applications make calls to SAP Cloud ALM’s API to read data in SAP Cloud ALM.
Created in 2019, OpenTelemetry (OTeL) defines a single set of APIs and libraries to simplify the collection and transfer of telemetry data.
OpenTelemetry is an open and unified standard for creating and ingesting telemetry data. It provides a centralised and flexible observability solution to integrate different monitoring tools across cloud and applications with a consistent collection mechanism and format for metrics, events, logging, and tracing.
Telemetry refers to data emitted from a system. The data can come in the form of traces, logs and metrics referred as signals.
- Metrics are aggregations over a period of time of numeric data (a metric is a measurement captured at runtime).
- Logs are timestamped text records, emitted by services or other components, either structured (recommended) or unstructured, with metadata.
- While logs are an independent data source, they may also be attached to spans.
- In OpenTelemetry, any data that is not part of a distributed trace or a metric is a log. For example, events are a specific type of log.
- Logs are often used to determine the root cause of an issue and typically contain information about who changed what as well as the result of the change.
- Traces, records the paths taken by requests (made by an application or end-user) as they propagate through multi-service architectures.
- Traces track the progression of a single request.
OpenTelemetry supports two primary methods of exporting data from your process to an analysis backend:
- either directly from a process
- or by proxying it through the OpenTelemetry Collector.
A collector is a proxy that can receive, process, and export telemetry data.
- A collector can receive data in various formats and send it to one or more backends, including SAP Cloud ALM.
- A collector is also able to change the format of the received data to enable transfer between various services.
- Each collector component (receiver, processor, and exporter) is enabled through pipelines.
A collector is made of 3 components:
- A receiver, which can be push or pull based, is how data gets into the Collector.
- Processors are run on data between being received and being exported. Processors are optional.
- An exporter, which can be push or pull based, is how data are sent to one or more backends/destinations. Exporters may support one or more data sources.
The OpenTelemetry Protocol (OTLP) specification describes the encoding, transport, and delivery mechanism of telemetry data.
OTLP is implemented over gRPC and HTTP. OTLP specifies Protocol Buffers schema that is used for the payloads.
SAP Cloud ALM supports OTLP transport system over HTTP uses protobuf payloads encoded either in binary format or in JSON format.
In the next article, we will look into the SAP Cloud ALM raw data metrics API.
Thanks for reading.