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.
OpenTelemetry
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.
Signals
Metrics
- Metrics are aggregations over a period of time of numeric data (a metric is a measurement captured at runtime).
Logs
- 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
- 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.
Collector
OpenTelemetry supports two primary methods of exporting data from your process to an analysis backend:
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.
Protocol: OTLP/HTTP
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.