OpenTelemetry Collector Integration on Kubernetes Environment

OpenTelemetry Collector support receiving and exporting Metrics, Logs, and Traces. Use the following sample helm values.yaml to configure OpenTelemetry Collector to export logs, metrics, traces to Kfuse. Ensure that https or http is used depending if Kfuse has tls enabled or disabled.

image: repository: "otel/opentelemetry-collector-contrib" config: exporters: logging: verbosity: basic otlphttp: tls: insecure: true # add only if you're using insecure communication logs_endpoint: https://<REPLACE KFUSE ADDRESS>/ingester/otlp/v1/logs metrics_endpoint: https://<REPLACE KFUSE ADDRESS>/ingester/otlp/metrics traces_endpoint: https://<REPLACE KFUSE ADDRESS>/ingester/otlp/traces extensions: health_check: {} memory_ballast: size_in_percentage: 40 processors: batch: timeout: 10s resourcedetection: detectors: - env - eks - ec2 - gcp - aks - azure override: false timeout: 2s receivers: otlp: protocols: grpc: endpoint: ${env:MY_POD_IP}:4317 http: cors: allowed_origins: - http://* - https://* endpoint: 0.0.0.0:4318 service: extensions: - health_check pipelines: logs: exporters: - otlphttp processors: - batch - resourcedetection receivers: - otlp metrics: exporters: - otlphttp processors: - batch - resourcedetection receivers: - otlp traces: exporters: - otlphttp processors: - batch - resourcedetection receivers: - otlp telemetry: metrics: address: ${MY_POD_IP}:8888 mode: daemonset service: enabled: true nameOverride: otelcol ports: metrics: enabled: true otlp: enabled: true otlp-http: enabled: true presets: kubernetesAttributes: enabled: true resources: {}


OpenTelemetry Collector installation (default namespace):

helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts helm upgrade --install opentelemetry-collector open-telemetry/opentelemetry-collector -f values.yaml