Skip to main content

Telelemetry

Integration with Multiple Backends

When we install the helm chart for OBLV Deploy, it installs an OTel collector and a Prometheus backend.

Users can configure this Otel collector to send telemetry data in multiple backends.

  1. Get the config map into a file:

    kubectl get cm oblv-deploy-stack-oblv-deploy-chart-collector-config \
    -n kube-system -o yaml > /tmp/collector-config.yaml

    cat /tmp/collector-config.yaml

    apiVersion: v1
    data:
    collector-config.yaml: |
    receivers:
    otlp:
    protocols:
    grpc:
    endpoint: 0.0.0.0:4317
    http:
    endpoint: 0.0.0.0:4318
    exporters:
    debug:
    verbosity: detailed
    prometheus: # pull based exporter
    endpoint: 0.0.0.0:8889
    send_timestamps: true
    service:
    pipelines:
    traces:
    receivers: [otlp]
    exporters: [debug]
    metrics:
    receivers: [otlp]
    exporters: [debug, prometheus]
    logs:
    receivers: [otlp]
    exporters: [debug]
    kind: ConfigMap
  2. Next, we can edit this config file to add multiple backends for different telemetry data. We can add Loki backend for logs and a Jaeger backend for traces:


    apiVersion: v1
    data:
    collector-config.yaml: |
    receivers:
    otlp:
    protocols:
    grpc:
    endpoint: 0.0.0.0:4317
    http:
    endpoint: 0.0.0.0:4318
    exporters:
    debug:
    verbosity: detailed
    prometheus: # pull based exporter
    endpoint: 0.0.0.0:8889
    send_timestamps: true
    otlp/jaeger:
    endpoint: https://jaeger.oblv.com:4317
    loki:
    endpoint: https://loki.example.com:3100/loki/api/v1/push
    service:
    pipelines:
    traces:
    receivers: [otlp]
    exporters: [debug, otlp/jaeger]
    metrics:
    receivers: [otlp]
    exporters: [debug, prometheus]
    logs:
    receivers: [otlp]
    exporters: [debug, loki]
    kind: ConfigMap
  3. After editing the file, we can apply the changes to the configmap:

    kubectl apply -f /tmp/collector-config.yaml -n kube-system

    configmap/oblv-deploy-stack-oblv-deploy-chart-collector-config configured
  4. Once, the config map has been updated, we can restart the pod for the collector:

      kubectl rollout restart \
    deployment/oblv-deploy-stack-oblv-deploy-chart-collector \
    -n kube-system

    deployment.apps/oblv-deploy-stack-oblv-deploy-chart-collector restarted