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_nameotel:
service_name: example
Type: String
Default: varnish-supervisor
Service name for metrics identification
endpointotel:
endpoint: http://collector:4318
Type: String
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.
metricsMetrics exporter configuration.
enabledotel:
metrics:
enabled: false
Type: Boolean
Default: true
Enable metrics export.
exporterotel:
metrics:
exporter: prometheus
Type: String
Default: otlp
Selects how metrics are exposed.
Options:
otlp: Push metrics to an OTLP collector at the configured endpoint.prometheus: Expose Supervisor and Varnish metrics together on a Prometheus scrape endpoint (see prometheus_host and prometheus_port) instead of pushing them to a collector.endpointotel:
metrics:
endpoint: http://prometheus:9090/api/v1/otlp/v1/metrics
Type: String
OpenTelemetry endpoint URL for metrics export. Used when exporter is otlp.
When using the http/protobuf protocol, ensure the endpoint path ends with /v1/metrics.
protocolotel:
metrics:
protocol: grpc
Type: String
Default: http/protobuf
Options:
http/protobufgrpchttp/jsonProtocol to use when exporting metrics.
export_intervalotel:
metrics:
export_interval: 30
Type: Integer
Default: 60
Metrics export interval in seconds. Applies to the otlp exporter.
scrape_intervalotel:
metrics:
scrape_interval: 10
Type: Integer
Default: 10
How often, in seconds, Varnish counters are polled from varnishstat for metrics. This is independent of the OTLP push cadence set by export_interval.
prometheus_hostotel:
metrics:
exporter: prometheus
prometheus_host: 0.0.0.0
Type: String
Default: localhost
Host for the Prometheus scrape endpoint. Only used when exporter is prometheus.
prometheus_portotel:
metrics:
exporter: prometheus
prometheus_port: 9464
Type: Integer
Default: 9464
Port for the Prometheus /metrics scrape endpoint, which serves both Supervisor and Varnish metrics. Only used when exporter is prometheus.
tracingNote: Orca Premium feature
enabledotel:
tracing:
enabled: true
Type: Boolean
Default: false
Enable tracing export. Requires the vmod-otel license addon.
endpointotel:
tracing:
endpoint: http://prometheus:9090/api/v1/otlp/v1/traces
Type: String
OpenTelemetry endpoint URL for trace export.
When using the http/protobuf protocol, ensure the endpoint path ends with /v1/traces.
protocolotel:
tracing:
protocol: grpc
Type: String
Default: http/protobuf
Options:
http/protobufgrpchttp/jsonProtocol to use when exporting traces.
export_intervalotel:
tracing:
export_interval: 5
Type: Integer
Default: 5
Tracing batch export interval in seconds.
samplerotel:
tracing:
sampler: parentbased_traceidratio
Type: String
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 on sampler_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_argotel:
tracing:
sampler: traceidratio
sampler_arg: 0.1
Type: Number
Default: 1.0
Sampler argument for ratio-based samplers. A value between 0.0 (sample nothing) and 1.0 (sample everything).
logsLogs exporter configuration.
enabledotel:
logs:
enabled: true
Type: Boolean
Default: true (when endpoint is configured)
Enable logs export.
endpointotel:
logs:
endpoint: http://loki:3100/otlp/v1/logs
Type: String
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.
protocolotel:
logs:
protocol: grpc
Type: String
Default: http/protobuf
Options:
http/protobufgrpchttp/jsonProtocol to use when exporting logs.
export_intervalotel:
logs:
export_interval: 10
Type: Integer
Default: 5
Logs export interval in seconds.