OpenTelemetry Collector
Let's see how to run OpenTelemetry Collector in a Kubernetes cluster.
NOTE
OpenTelemetry Collector Contrib will be installed by default
Repository
We'll use the official Helm chart:
bash
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
helm repo updateConfiguration
Create the values.yaml file to override default parameters.
yaml
opentelemetry-collector:
mode: daemonset
config:
receivers:
jaeger: null
zipkin: null
service:
pipelines:
logs:
exporters:
- logging
processors:
- memory_limiter
- batch
receivers:
- otlp
metrics:
exporters:
- logging
processors:
- memory_limiter
- batch
receivers:
- otlp
# - prometheus
traces:
exporters:
- logging
processors:
- memory_limiter
- batch
receivers:
- otlp
ports:
jaeger-compact:
enabled: false
jaeger-thrift:
enabled: false
jaeger-grpc:
enabled: false
zipkin:
enabled: falseDeployment
Install the application:
bash
helm upgrade --install otel-collector open-telemetry/opentelemetry-collector -f values.yaml --namespace otel-collector --create-namespaceWatch objects being created:
bash
kubectl get pod -n opentelemetry-collector --watchOptional check
Forwards port for local access:
bash
kubectl port-forward daemonsets/opentelemetry-collector-agent 4317:4317 -n opentelemetry-collectorClean-up
Uninstall the application and delete the namespace:
bash
helm uninstall otel-collector -n otel-collector
kubectl delete ns otel-collector