2026-10-12 13:24:38 +03:30
|
|
|
server:
|
|
|
|
|
http_listen_port: 3200
|
|
|
|
|
|
|
|
|
|
distributor:
|
|
|
|
|
receivers:
|
|
|
|
|
otlp:
|
|
|
|
|
protocols:
|
|
|
|
|
grpc:
|
|
|
|
|
endpoint: 0.0.0.0:4317
|
|
|
|
|
http:
|
|
|
|
|
endpoint: 0.0.0.0:4318
|
|
|
|
|
|
|
|
|
|
ingester:
|
|
|
|
|
max_block_duration: 5m
|
|
|
|
|
|
|
|
|
|
compactor:
|
|
|
|
|
compaction:
|
|
|
|
|
block_retention: 336h
|
|
|
|
|
|
|
|
|
|
storage:
|
|
|
|
|
trace:
|
|
|
|
|
backend: local
|
|
|
|
|
wal:
|
|
|
|
|
path: /var/tempo/wal
|
|
|
|
|
local:
|
|
|
|
|
path: /var/tempo/blocks
|
|
|
|
|
|
|
|
|
|
metrics_generator:
|
|
|
|
|
registry:
|
|
|
|
|
external_labels:
|
|
|
|
|
source: tempo
|
|
|
|
|
storage:
|
|
|
|
|
path: /var/tempo/generator/wal
|
|
|
|
|
remote_write:
|
|
|
|
|
- url: http://prometheus:9090/api/v1/write
|
|
|
|
|
send_exemplars: true
|
|
|
|
|
# Not in the Ansible template, which is broken without it: the
|
|
|
|
|
# local-blocks processor needs a traces WAL, and when it can't initialise,
|
|
|
|
|
# Tempo 2.8 starts *no* processors for the tenant ("local blocks processor
|
|
|
|
|
# requires traces wal"), so service-graphs and span-metrics never emit.
|
|
|
|
|
traces_storage:
|
|
|
|
|
path: /var/tempo/generator/traces
|
|
|
|
|
|
|
|
|
|
overrides:
|
|
|
|
|
defaults:
|
|
|
|
|
metrics_generator:
|
|
|
|
|
processors: [service-graphs, span-metrics, local-blocks]
|
2026-10-24 22:40:58 +03:30
|
|
|
# Not in the Ansible template. Without it the generator labels exemplars
|
|
|
|
|
# traceID (the code default; the docs wrongly say trace_id), which the
|
|
|
|
|
# Prometheus datasource's exemplarTraceIdDestinations (trace_id) never
|
|
|
|
|
# matches, so exemplars render but don't link to Tempo.
|
|
|
|
|
trace_id_label_name: trace_id
|