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.

Architecture

flowchart LR apps["Instrumented applications"] metrics["Prometheus / OpenMetrics endpoints"] cluster["Cluster and workloads"] subgraph agent["SUSE Observability Agent"] gateway["Telemetry gateway"] scraper["Metrics scraper"] resources["Kubernetes resource collector"] logs["Log agents"] nodes["Node agents"] central["Cluster Agent"] rbac["RBAC Agent"] end obs["SUSE Observability"] apps -->|"OTLP metrics and traces"| gateway metrics -->|"Scraped metrics"| scraper cluster --> resources cluster --> logs cluster --> nodes cluster --> central cluster --> rbac gateway -->|"Metrics and traces"| obs scraper -->|"Metrics"| obs resources -->|"Resource topology"| obs logs -->|"Logs"| obs nodes -->|"Host and workload data"| obs central -->|"Cluster data"| obs rbac -->|"Access-control data"| obs

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