Agent and OpenTelemetry overview and architecture
Overview
SUSE® Observability supports Open Telemetry. Open Telemetry is a set of standardized protocols and an open-source framework to collect, transform and ship telemetry data such as traces, metrics and logs. Open telemetry supports a wide variety of programming languages and platforms.
SUSE Observability has support for both metrics and traces. When used in combination with the Kubernetes stackpack the Kubernetes pods are enriched with traces when available. By installing the Open Telemetry stackpack new overview pages for services and service instances become available providing access to traces and span metrics. Open Telemetry metrics can be used in monitors and metric bindings. The stackpack comes with metric bindings for span metrics and .NET and JVM memory metrics. There are also out-of-the-box monitors for span error rates and duration.
For Kubernetes workloads, the recommended setup is to instrument applications with OpenTelemetry and send their traces and metrics through the SUSE® Observability Agent telemetry gateway. The gateway can enrich telemetry with Kubernetes metadata before forwarding it to SUSE® Observability.
-
To send application traces and metrics, follow the Kubernetes Agent telemetry gateway guide.
-
To scrape Prometheus or OpenMetrics endpoints, follow the Agent metrics scraping guide.
-
If your use case requires a separately managed collector (for example, to use collector components or telemetry sources not covered by the Agent setup), see deployment options.
Architecture
The Agent provides Kubernetes and workload collection capabilities, with optional OpenTelemetry components for additional collection paths:
-
The telemetry gateway receives OTLP metrics and traces from instrumented applications.
-
The metrics scraper collects metrics from Prometheus and OpenMetrics endpoints.
-
The Kubernetes resource collector collects Kubernetes resource topology.
These OpenTelemetry components are disabled by default and must be explicitly enabled. The RBAC Agent is also optional and is only needed for Kubernetes RBAC support.
Telemetry gateway
The telemetry gateway provides an OTLP destination for instrumented applications. Applications send metrics and traces to the gateway, which processes and forwards them to SUSE® Observability. The gateway does not ingest application OTLP logs. Log collection is a separate path and should not be confused with the gateway’s metrics and traces pipeline.
For more information, see Telemetry gateway.
Metrics scraper
The Agent metrics scraper collects metrics from Prometheus and OpenMetrics endpoints using ServiceMonitor and PodMonitor resources.
For more information, see OpenMetrics scraping with the Agent.
Kubernetes resource collector
The Kubernetes resource collector watches Kubernetes Custom Resource Definitions (CRDs), selected Custom Resource instances, and optional additional Kubernetes resources to provide SUSE® Observability with topology information about your Kubernetes environment.
For more information, see Kubernetes resource collector.
References
-
Open Telemetry collector on the Open Telemetry documentation
-
SDKs to instrument your application on the Open Telemetry documentation