Skip to main content

Kubernetes

This guide installs OpenTelemetry Collectors in your cluster and forwards telemetry to Tracefox.

Overview

We deploy two collectors using the OpenTelemetry Helm chart:

  • DaemonSet collector: node-level logs and metrics (kubelet, cAdvisor, host metrics).
  • Deployment collector: cluster-level metrics and Kubernetes events.

Both export OTLP/HTTP to Tracefox.

Prerequisites

  • Helm 3
  • A Tracefox ingest endpoint and API key
  • Cluster access with permission to install collectors and required RBAC

Step 1: Add the Helm repo

helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
helm repo update

Step 2: Install the DaemonSet collector (node-level)

Create values-daemonset.yaml:

mode: daemonset

image:
repository: otel/opentelemetry-collector-contrib

presets:
logsCollection:
enabled: true
hostMetrics:
enabled: true
kubeletMetrics:
enabled: true
kubernetesAttributes:
enabled: true

config:
exporters:
otlphttp/tracefox:
endpoint: https://ingest.tracefox.ai
headers:
x-api-key: YOUR_INGEST_API_KEY
service:
pipelines:
logs:
exporters: [otlphttp/tracefox]
metrics:
exporters: [otlphttp/tracefox]

Install:

helm install tracefox-otel-daemonset open-telemetry/opentelemetry-collector \
--namespace tracefox-otel --create-namespace \
--values values-daemonset.yaml

Step 3: Install the Deployment collector (cluster-level)

Create values-deployment.yaml:

mode: deployment

image:
repository: otel/opentelemetry-collector-contrib

presets:
kubernetesAttributes:
enabled: true
kubernetesEvents:
enabled: true
k8sCluster:
enabled: true

config:
exporters:
otlphttp/tracefox:
endpoint: https://ingest.tracefox.ai
headers:
x-api-key: YOUR_INGEST_API_KEY
service:
pipelines:
logs:
exporters: [otlphttp/tracefox]
metrics:
exporters: [otlphttp/tracefox]

Install:

helm install tracefox-otel-cluster open-telemetry/opentelemetry-collector \
--namespace tracefox-otel \
--values values-deployment.yaml

Step 4: Correlate app telemetry with Kubernetes

Add these resource attributes to your app signals to make filters work in Tracefox:

  • k8s.cluster.name
  • k8s.namespace.name
  • k8s.node.name
  • k8s.pod.name
  • k8s.container.name

For example:

export OTEL_RESOURCE_ATTRIBUTES="k8s.cluster.name=YOUR_CLUSTER,k8s.namespace.name=default"

Verify

  • Search for Kubernetes logs and metrics in Tracefox.
  • Filter by namespace or pod to validate attribute enrichment.
  • If you do not see kube events, confirm the Deployment collector RBAC has access.