OpenTelemetry Traces Integration
Helm Installation
These instructions install the trace collector in daemonset
mode.
For additional modes and more configuration options, see OpenTelemetry documentation for OpenTelemetry Collector Chart.
-
Get the IP for the Kloudfuse endpoint.
If the Kloudfuse stack installs with a DNS or VPC endpoint, use that address instead of the IP address.
kubectl get svc -n kfuse | grep kfuse-ingress-nginx-controller-internal kfuse-ingress-nginx-controller-internal LoadBalancer 10.53.250.80 10.53.232.3 80:32716/TCP,443:30767/TCP 125m
-
Create a file
otel-values.yaml
that contains the following code.Use the IP address from the previous step. Note that
tls.insecure
istrue
, which is default. Replace the endpoint, and ensure that you usehttps
orhttp
correctly, depending on Kloudfuse stack TLS protocol settings. See Configure HTTPS and TLS on Kloudfuse.Add any
tolerations
andaffinity
as required by your deployment.
image: repository: "otel/opentelemetry-collector-contrib" command: name: "otelcol-contrib" config: exporters: logging: verbosity: basic otlphttp: tls: insecure: true # add only if you're using insecure communication 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 memory_limiter: check_interval: 5s limit_percentage: 80 spike_limit_percentage: 25 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 - memory_ballast pipelines: metrics: exporters: - logging - otlphttp processors: - memory_limiter - batch - resourcedetection receivers: - otlp traces: exporters: - otlphttp processors: - batch - resourcedetection receivers: - otlp telemetry: metrics: address: ${MY_POD_IP}:8888 mode: daemonset nameOverride: otelcol ports: metrics: enabled: true otlp: enabled: true otlp-http: enabled: true presets: kubernetesAttributes: enabled: true
-
Add
otel repo
, and update it.helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts helm repo update
-
Install the
otel
collector.helm install my-opentelemetry-collector open-telemetry/opentelemetry-collector -f otel-values.yaml