While application logs and traces usually provide request-oriented data, metrics are aggregated statistics over time. They reflect the internal state of a component. Typical statistics like the amount of processed requests, or the amount of registered users, can be very useful to monitor the current state and the health of a component. Also, you can define proactive and reactive alerts if metrics are about to reach thresholds, or if they already passed thresholds.
The Kyma Telemetry module provides an API MetricPipeline, which will establish a cluster-central gateway based on the OpenTelemetry Collector, where instrumented workloads can send metric data to. If you specify an SAP Cloud Logging endpoint as destination, you get instant access to the metric data with a basic metric explorer.
Additionally, the MetricPipeline supports different kinds of input scenarios to easily collect metrics:
- from the Kubernetes runtime about your application
- from Istio sidecars
- from any application exposing metrics in a Prometheus format
To instrument the metric data inside your application, use the available OpenTelemetry SDKs. Additionally, a lot of auto-instrumentations are available for most of the languages and tools. For sending spans to the gateway or to the destination by the gateway, only the OpenTelemetry protocol (OTLP) is supported.