Skip to main content
TL;DRThis guide shows you how to export Odigos telemetry to ClickHouse Observability. You’ll learn how to:
  • Deploy Odigos on Kubernetes with Helm
  • Add sources in the Odigos UI
  • Add an OTLP HTTP destination pointed at ClickHouse Observability
  • Verify logs, metrics, and traces in ClickHouse Observability
Odigos auto-instruments applications without code changes or restarts; ClickHouse Observability stores and queries the data in ClickHouse.Time required: 10–20 minutes

What is Odigos?

Odigos is an instrumentation control plane for Kubernetes and VMs that instruments applications from the kernel using eBPF. Because collection runs in the kernel, app overhead stays low while visibility stays high. You get production-grade OpenTelemetry traces, metrics, logs, and profiles without shipping new agents in application code or waiting on library upgrades across every service. That eBPF layer is what makes deep, consistent telemetry possible at scale. Odigos can automatically turn on and off deeper instrumentation when needed to help debug or troubleshoot problems:
  • Code-level context — attributes tied to functions and runtime behavior
  • HTTP traffic — requests and responses across your services
  • Messaging systems — payloads and messages from Kafka and similar brokers
  • Errors in detail — stack traces when things fail
  • Custom instrumentation — extend coverage where auto-instrumentation stops without requiring code changes or restarts
Behind the scenes, Odigos creates and manages a full OpenTelemetry pipeline for your cluster: collectors that scale with load, routing to the backends you choose, and pipeline logic you control in the UI. Define sampling to manage volume, PII masking to keep sensitive data out of exports, and OTTL rules to filter, transform, or enrich telemetry before it leaves the cluster.

Why Odigos + ClickHouse Observability?

Rolling out OpenTelemetry across many services is often time consuming and only provides surface-level visibility in applications. Odigos handles eBPF instrumentation for deeper telemetry and collector operations on Kubernetes; ClickHouse Observability provides ClickHouse-backed storage and the ClickStack UI for querying telemetry at scale.
Key takeaways
  • Odigos auto-instruments any Kubernetes workload without requiring restarts and manages OpenTelemetry pipelines automatically.
  • ClickHouse Observability stores logs, metrics, and traces in ClickHouse and surfaces them in the ClickStack UI.

Prerequisites

  • A ClickHouse Observability service reachable from your Kubernetes cluster. See Getting started. For self-managed deployments, see Self-managed setup.
  • Your OTLP HTTP endpoint and ingestion API key from Team Settings → Data → Managed Telemetry. For self-managed deployments, use your standalone collector endpoint and OTLP_AUTH_TOKEN.
  • A Kubernetes cluster (Linux nodes with kernel 4.18 or later for eBPF instrumentation)
  • Helm, kubectl, and cluster credentials to install into odigos-system namespace
  • An Odigos Enterprise on-prem token — contact the Odigos team for access

Integrate ClickHouse Observability with Odigos

1

Deploy Odigos with Helm

Odigos Enterprise requires an on-prem license token. Export it in your shell:
Alternatively, you can store the token in a Kubernetes Secret named odigos-pro before installing. See Odigos Enterprise documentation (requires access).Add the Odigos Helm repository and install the chart into odigos-system:
You can pass additional configuration overrides with --set flags or a custom values file (-f). To inspect the chart’s default values, run helm show values odigos/odigos.Verify Odigos pods are running:
2

Add sources in the Odigos UI

  1. Port-forward the Odigos UI service:
  1. Open http://localhost:3000 in your browser.
  2. Go to Sources and select the namespaces or workloads you want to instrument.
  3. Click done at the bottom, once you have marked all workloads for instrumentation.
  4. Verify workloads have been instrumented successfully in the sources column.
3

Add ClickHouse Observability as a destination in the Odigos UI

To send telemetry, add an OTLP HTTP destination in Odigos. Select your deployment below.
ClickHouse Observability gives you an OTLP endpoint. ClickHouse handles ingestion, schemas, and compute. Point Odigos at that endpoint. You do not deploy a collector.
  1. In the Odigos UI, click Add Destination and select OTLP HTTP.
  2. Set OTLP HTTP Endpoint to the HTTPS endpoint from ClickHouse Cloud, including port 4318. For example, https://<service-id>.otel.<region>.aws.clickhouse.com:4318.
  3. In Headers, add:
    • Key: Authorization
    • Value: Bearer <YOUR_INGESTION_API_KEY>
  4. Enable Logs, Metrics, and Traces.
  5. Save the destination.
4

Verify telemetry in ClickHouse Observability

  1. Open the ClickStack UI:
  2. Check Logs, Metrics, and Traces for data from your instrumented services.
  3. Filter traces by odigos.version to validate end-to-end export.
If data is missing, check collector logs: kubectl logs deploy/odigos-gateway -n odigos-system

Advanced configuration

Native ClickHouse destination

The native ClickHouse destination is available only for self-managed deployments. For fully managed deployments, use the OTLP HTTP destination with your managed endpoint.
When ClickHouse is directly reachable from your cluster, you can use Odigos’s native ClickHouse destination instead of OTLP HTTP. Configure the ClickHouse endpoint, database name, and schema options in the UI or with a manifest — see Odigos ClickHouse destination.
  • Production schema: Set CLICKHOUSE_CREATE_SCHEME to false and apply your own DDL.
  • TLS / auth: Use CLICKHOUSE_TLS_ENABLED, CLICKHOUSE_USERNAME, and a Kubernetes Secret for the password.
Kubernetes manifest
Save the manifest as destination.yaml and apply it:

HyperDX log normalizer

For self-managed deployments that export directly to ClickHouse with Odigos’s native ClickHouse destination, enable HyperDX log normalizer (HYPERDX_LOG_NORMALIZER: true). It parses JSON log bodies and normalizes attributes for better querying in the ClickStack UI. This setting does not apply to the fully managed OTLP destination.

Configure destinations with Kubernetes manifests

OTLP HTTP (ClickStack)
Apply the manifest:

Odigos VM Agent

The Odigos VM Agent instruments Linux processes, systemd services, and/or docker containers using eBPF. Telemetry exports to the same destinations as cluster-based Odigos, including ClickHouse Observability over OTLP HTTP. The VM Agent is part of Odigos Pro. See the VM Agent overview for setup, sources, and destination configuration.

Odigos Central

Odigos Central is a centralized control plane for managing instrumentation, destinations, and pipeline configuration across multiple Kubernetes clusters from one UI - instead of configuring each cluster separately. Odigos Central is available in Odigos Enterprise. See the Central overview for multi-cluster management, SSO, and unified sampling rules.

Next steps

  • Explore traces across instrumented services in ClickHouse Observability
  • Build dashboards for metrics Odigos exports
  • For self-managed deployments, tune ClickHouse schema and TTL for your retention and query patterns

Read more

Example destination configuration

The following screenshot shows an OTLP HTTP destination with logs, metrics, and traces enabled and a bearer token in the Authorization header. Replace the example endpoint and token with your service’s OTLP HTTP endpoint and ingestion API key.