OpenTelemetry Collector Reference

This reference documents the Kubernetes configuration options for the OpenTelemetry Collector, which aggregates telemetry data from Kafka to ClickHouse.

Kubernetes ReplicationController Docs

Defaults:

replicaCount: 1

Kubernetes Image Pull Policy

Defaults:

image: # Controls container image pulls pullPolicy: IfNotPresent # Container image repository repository: docker.grafbase.com/proxy/enterprise-platform/ghcr.io/grafbase/otel-collector # Image tag to use tag: latest

Kubernetes Service Account Docs

Defaults:

serviceAccount: # Controls service account creation create: true # Annotations to add to the service account annotations: {} # Service account name. Uses default if not set name: ''

Kubernetes Service Types

Defaults:

service: # Either ClusterIP, NodePort, ExternalName, or LoadBalancer type: ClusterIP # Port to expose port: 80 # Target port targetPort: 13133 # Name of the service name: http # The node port to use nodePort: 30131

Kubernetes Ingress Docs

Defaults:

ingress: # Enables ingress enabled: false # Ingress class className: 'nginx' hosts: # Hostnames and paths for the ingress - host: otel-collector.local paths: - path: /* pathType: ImplementationSpecific backend: serviceName: otel-collector servicePort: 13133

Kubernetes Horizontal Pod Autoscaler

Defaults:

autoscaling: # Enables autoscaling enabled: true # Minimum number of replicas minReplicas: 1 # Maximum number of replicas maxReplicas: 2 # Target CPU utilization percentage targetCPUUtilizationPercentage: 50

Configuration values for the cluster configmap.

Defaults:

configmap: # Enables configmap creation and env var mounting enabled: true name: '' values: # Kafka broker endpoint KAFKA_BROKER: grafbase-enterprise-platform-kafka:9092 # ClickHouse database endpoint URL CLICKHOUSE_ENDPOINT: clickhouse://grafbase-enterprise-platform-clickhouse:9000 # ClickHouse database name CLICKHOUSE_DB: analytics # ClickHouse database user CLICKHOUSE_USER: grafbase

Configuration values for the cluster secret.

secrets: # Enables secret creation and env var mounting enabled: true name: '' values: # ClickHouse database password CLICKHOUSE_PASSWORD: grafbase

OpenTelemetry Collector configuration.

otelConfig: | receivers: kafka: protocol_version: 3.8.0 brokers: - ${env:KAFKA_BROKER} autocommit: enable: false processors: memory_limiter: check_interval: 1s limit_percentage: 90 spike_limit_percentage: 20 batch: timeout: 5s send_batch_size: 100000 exporters: clickhouse: endpoint: ${env:CLICKHOUSE_ENDPOINT} database: ${env:CLICKHOUSE_DB} username: ${env:CLICKHOUSE_USER} password: ${env:CLICKHOUSE_PASSWORD} timeout: 5s sending_queue: queue_size: 1000 retry_on_failure: enabled: true initial_interval: 5s max_interval: 30s max_elapsed_time: 300s extensions: health_check: service: extensions: [health_check] telemetry: logs: level: 'debug' pipelines: metrics: receivers: [kafka] processors: [memory_limiter, batch] exporters: [clickhouse] traces: receivers: [kafka] processors: [memory_limiter, batch] exporters: [clickhouse]