Enable OpenTelemetry in the Agent
|
Agent installation
You must install the SUSE® Observability Agent before enabling the OpenTelemetry pipeline by following the Agent quick start guide |
Overview
The SUSE® Observability Agent includes optional OpenTelemetry Collector-based components that supplement its existing collection capabilities - a telemetry gateway for application metrics and traces sent over OTLP, Prometheus/OpenMetrics scraping, and Kubernetes resource topology collection. These components are disabled by default and can be enabled through the Agent Helm values; they cover these use cases without requiring a separately managed collector.
The OTel support in the agent is split into independent components that can be toggled:
-
Telemetry gateway (
otel.telemetryGateway) — receives metrics and traces pushed over OTLP from application-embedded OpenTelemetry SDKs and forwards them to SUSE Observability. Point your SDKs at thesuse-observability-agent-otel-telemetry-gatewayservice in the agent’s namespace on port4317(gRPC) or4318(HTTP). -
Prometheus / OpenMetrics scraping (
otel.prometheusScraping) — discoversServiceMonitorandPodMonitorCustom Resources, scrapes the targets they describe, and ships the resulting metrics over OTLP. This track is metrics-only; use it for workloads that expose a Prometheus / OpenMetrics endpoint but are not instrumented with an OTel SDK. See Scraping OpenMetrics with ServiceMonitor and PodMonitor for the full how-to. -
K8s resource collector (
otel.k8sResourceCollector) — watches Custom Resource Definitions (CRDs), selected Custom Resource instances, and optional additional Kubernetes resources, then forwards topology logs to SUSE Observability. See K8s resource collector for the full configuration guide.
For use cases that require a separately managed collector, see OpenTelemetry deployment options.
Enable OTel pipeline
The OTel pipeline is disabled by default. To turn it on, set the master switch in your agent Helm values:
otel:
enabled: true
prometheusScraping:
monitorCrds:
# Leave at the default, false, if the ServiceMonitor and PodMonitor CRDs
# are already managed by another chart (for example kube-prometheus-stack) or
# if you want to install them manually.
enabled: true
This also enables the Prometheus / OpenMetrics scraping and K8s resource collector components.
Enabling or disabling components
You can enable or disable individual components in your Agent Helm values. Each component has its own enabled toggle:
otel:
enabled: true
telemetryGateway:
enabled: true # accept OTLP push from SDKs
prometheusScraping:
enabled: false # stop scraping ServiceMonitor / PodMonitor targets
k8sResourceCollector:
enabled: false # stop collecting CRD/CR topology
Resource impact
When enabled, the OpenTelemetry components can add up to four workloads, depending on which components are turned on:
-
A telemetry gateway OpenTelemetry Collector (when
otel.telemetryGateway.enabled=true) that terminates the OTLP push receiver and forwards metrics and traces to SUSE Observability. -
A scraper OpenTelemetry Collector (when
otel.prometheusScraping.enabled=true) that scrapes the targets selected by the Target Allocator. -
A Target Allocator (when
otel.prometheusScraping.enabled=true) that watchesServiceMonitor/PodMonitorresources and distributes scrape targets across the scraper collectors. -
A k8s resource collector OpenTelemetry Collector (when
otel.k8sResourceCollector.enabled=true) that discovers CRDs and selected Custom Resources.
Workload CPU and memory requests/limits can be tuned in the Agent Helm values under otel.telemetryGateway, otel.prometheusScraping.collector, otel.prometheusScraping.targetAllocator, and otel.k8sResourceCollector. Refer to the Agent Helm chart values.yaml for the available settings.