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
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: ''
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
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]