OpenTelemetry
Configuration for the integrated OpenTelemetry exporter. A recognizable service_name should be set, and at least one endpoint — either the top-level endpoint or a signal-specific one under metrics, tracing, or logs. All other parameters are optional.
Example:
otel:
service_name: example
metrics:
endpoint: http://prometheus:9090/api/v1/otlp/v1/metrics
service_name string
otel:
service_name: example
Default: varnish-supervisor
Service name for metrics identification
endpoint string
otel:
endpoint: http://collector:4318
OTLP endpoint URL used for all signals (metrics, traces, and logs) when no signal-specific endpoint is configured. Sets the OTEL_EXPORTER_OTLP_ENDPOINT environment variable.
When using an HTTP protocol (http/protobuf or http/json), the OTLP SDK automatically appends the /v1/<signal> path (for example /v1/metrics), so the endpoint should not include it. A signal-specific endpoint (under metrics, tracing, or logs) takes precedence over this value for that signal.
metrics
Metrics exporter configuration.
enabled boolean
otel:
metrics:
enabled: false
Default: true
Enable metrics export.
endpoint string
otel:
metrics:
endpoint: http://prometheus:9090/api/v1/otlp/v1/metrics
OpenTelemetry endpoint URL for metrics export.
When using the http/protobuf protocol, ensure the endpoint path ends with /v1/metrics.
protocol string
otel:
metrics:
protocol: grpc
Default: http/protobuf
Options:
http/protobufgrpchttp/json
Protocol to use when exporting metrics.
export_interval integer
otel:
metrics:
export_interval: 30
Default: 60
Metrics export interval in seconds.
tracing
Note: Orca Premium feature
enabled boolean
otel:
tracing:
enabled: true
Default: false
Enable tracing export. Requires the vmod-otel license addon.
endpoint string
otel:
tracing:
endpoint: http://prometheus:9090/api/v1/otlp/v1/traces
OpenTelemetry endpoint URL for trace export.
When using the http/protobuf protocol, ensure the endpoint path ends with /v1/traces.
protocol string
otel:
tracing:
protocol: grpc
Default: http/protobuf
Options:
http/protobufgrpchttp/json
Protocol to use when exporting traces.
export_interval integer
otel:
tracing:
export_interval: 5
Default: 5
Tracing batch export interval in seconds.
sampler string
otel:
tracing:
sampler: parentbased_traceidratio
Default: always_on
Trace sampler type. Controls how traces are sampled.
Options:
always_on: Sample all traces.always_off: Sample no traces.traceidratio: Sample a fraction of traces based onsampler_arg.parentbased_always_on: Follow parent span’s sampling decision, default to always on.parentbased_always_off: Follow parent span’s sampling decision, default to always off.parentbased_traceidratio: Follow parent span’s sampling decision, default to ratio-based.
sampler_arg number
otel:
tracing:
sampler: traceidratio
sampler_arg: 0.1
Default: 1.0
Sampler argument for ratio-based samplers. A value between 0.0 (sample nothing) and 1.0 (sample everything).
logs
Logs exporter configuration.
enabled boolean
otel:
logs:
enabled: true
Default: true (when endpoint is configured)
Enable logs export.
endpoint string
otel:
logs:
endpoint: http://loki:3100/otlp/v1/logs
OTLP endpoint URL for logs export. When empty, logs export is disabled.
When using the http/protobuf protocol, ensure the endpoint path ends with /v1/logs.
protocol string
otel:
logs:
protocol: grpc
Default: http/protobuf
Options:
http/protobufgrpchttp/json
Protocol to use when exporting logs.
export_interval integer
otel:
logs:
export_interval: 10
Default: 5
Logs export interval in seconds.