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.namek8s.namespace.namek8s.node.namek8s.pod.namek8s.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.