OpsCanary
kubernetesobservabilityPractitioner

Unlocking Observability: OpenTelemetry and Kubernetes Events with OpenChoreo

5 min read CNCF BlogOct 27, 2026Reviewed for accuracy
Share
Practitioner — Hands-on experience recommended

In today's complex microservices architectures, understanding how requests traverse through various services is crucial for effective debugging. OpenChoreo addresses this challenge by integrating OpenTelemetry-powered distributed tracing with Kubernetes events. This combination not only helps you visualize the flow of requests but also captures critical events that may not appear in standard application logs or traces, providing a more comprehensive view of your system's health.

OpenChoreo operates by utilizing the OpenTelemetry Collector for its telemetry pipeline. Developers instrument their applications using the OpenTelemetry SDK, exporting spans over OTLP. The Collector processes these spans through a series of steps: Receive, Enrich, Sample, and Export. For Kubernetes events, the k8s_events receiver monitors events across your cluster, while the k8seventenrich processor enhances each event with resource attributes before sending them to a durable log backend. You can easily set this up using Helm with the command: helm upgrade --install observability-events-otel-collector \ oci://ghcr.io/openchoreo/helm-charts/observability-events-otel-collector \ --namespace openchoreo-observability-plane --create-namespace \ --version 0.2.0.

When implementing this in production, ensure you configure the namespace correctly, as it defaults to openchoreo-observability-plane. This setup allows you to efficiently monitor and debug your applications, but be aware of the overhead that comes with tracing and event collection. Always consider your application's performance and resource constraints when deploying observability tools like this.

Key takeaways

  • →Leverage OpenTelemetry for distributed tracing to debug requests across microservices.
  • →Capture persistent Kubernetes events to gain insights that standard logs may miss.
  • →Use the OpenTelemetry Collector's pipeline: Receive, Enrich, Sample, and Export.
  • →Configure the observability events collector in the correct namespace for optimal operation.
  • →Monitor the performance impact of tracing and event collection in production.

Why it matters

Effective observability is key to maintaining high availability and performance in microservices. By combining distributed tracing with Kubernetes event tracking, you can quickly identify and resolve issues that impact user experience.

Code examples

Bash
helm upgrade --install observability-events-otel-collector \
  oci://ghcr.io/openchoreo/helm-charts/observability-events-otel-collector \
  --namespace openchoreo-observability-plane --create-namespace \
  --version 0.2.0

When NOT to use this

The official docs don't call out specific anti-patterns here. Use your judgment based on your scale and requirements.

Want the complete reference?

Read official docs

Test what you just learned

Quiz questions written from this article

Take the quiz →
Linux FoundationSponsor

Industry-standard certifications built by the people behind Linux and Kubernetes. Earn the CKA — the gold standard Kubernetes administrator cert. OpsCanary readers get 30% off year-round with code OPSCANARY3.

Get CKA certified →

Get the daily digest

One email. 5 articles. Every morning.

No spam. Unsubscribe anytime.