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