Expert guidance for configuring and deploying the OpenTelemetry Collector. Use when setting up a Collector pipeline, configuring receivers, exporters, or processors, deploying a Collector to Kubernetes or Docker, or forwarding telemetry to Dash0. Triggers on requests involving collector, pipeline, OTLP receiver, exporter, or Dash0 collector setup.
95
93%
Does it follow best practices?
Impact
96%
1.39xAverage score across 12 eval scenarios
Advisory
Suggest reviewing before use
A large e-commerce company runs microservices across two Kubernetes clusters: a primary production cluster and a disaster-recovery cluster in a different region. Their platform observability team has deployed OpenTelemetry Collectors on each cluster, but telemetry arriving at their backend is difficult to analyze because it lacks Kubernetes context. Traces, metrics, and logs all arrive without information about which namespace, deployment, or pod they originated from, making it impossible to filter by workload or correlate signals from the same service.
The team has also run into an issue where infrastructure metadata (host names, cloud provider details) was overwriting the service.name set by their application SDKs, leaving spans labeled unknown_service instead of the intended service identifiers.
They want a single collector-config.yaml for the gateway Collector (a Deployment, not a DaemonSet) that solves these problems. The config should:
The cluster runs Istio as a service mesh. The clusters are named prod-eu-1 and dr-eu-2. The unique cluster identifier should be derived from a built-in Kubernetes resource that has a unique UID per cluster.
Produce a file named collector-config.yaml containing a complete OpenTelemetry Collector configuration for the gateway Collector. The configuration must cover all three signal types (traces, metrics, and logs).
Include a file named notes.md explaining: