-
Notifications
You must be signed in to change notification settings - Fork 155
Expand file tree
/
Copy pathtempo.yaml
More file actions
125 lines (116 loc) · 5.9 KB
/
Copy pathtempo.yaml
File metadata and controls
125 lines (116 loc) · 5.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# For more information on this configuration, see the complete reference guide at
# https://grafana.com/docs/tempo/latest/configuration/
#
# This repository runs Tempo 3.0 in monolithic mode (`-target=all`). Tempo 3.0 replaces the
# legacy ingester/compactor architecture with a live-store write path and backend scheduler
# compaction. See the migration guide:
# https://grafana.com/docs/tempo/latest/set-up-for-tracing/setup-tempo/migrate-to-3/
# Enables result streaming from Tempo (to Grafana) via HTTP.
stream_over_http_enabled: true
# Configure the server block.
server:
# Listen for all incoming requests on port 3200.
http_listen_port: 3200
# The distributor receives incoming trace span data for the system.
distributor:
receivers: # This configuration will listen on all ports and protocols that tempo is capable of.
jaeger: # The receivers all come from the OpenTelemetry collector. More configuration information can
protocols: # be found there: https://github.com/open-telemetry/opentelemetry-collector/tree/main/receiver
thrift_http: #
grpc: # For a production deployment you should only enable the receivers you need!
thrift_binary: # Note that from Tempo 2.7.0, if an endpoint if not specified, it will listen only on localhost.
thrift_compact:
otlp:
protocols:
http:
endpoint: "0.0.0.0:4318" # Listen to OTLP HTTP on port 4318, on all interfaces.
grpc:
endpoint: "0.0.0.0:4317" # This example repository only utilises the OTLP gRPC receiver on port 4317, on all interfaces.
zipkin: # Receive trace data in any supported Zipkin format.
# Tempo 3.0 removed the legacy `ingester` block. In monolithic mode, the live-store holds recent
# trace data and flushes completed blocks to storage.
live_store:
# The length of time after a trace has not received spans to consider it complete and flush it.
# Previously: ingester.trace_idle_period
max_trace_idle: 10s
# Cut the head block when this much time passes. Previously: ingester.max_block_duration
max_block_duration: 5m
# Cut the head block when it hits this size. Previously: ingester.max_block_bytes
max_block_bytes: 1_000_000
# Tempo 3.0 replaced the standalone `compactor` block with backend scheduler compaction jobs
# executed by backend workers.
backend_scheduler:
provider:
compaction:
compaction:
compaction_window: 1h # Blocks in this time window will be compacted together.
max_block_bytes: 100_000_000 # Maximum size of a compacted block.
block_retention: 1h # How long to keep blocks. Default is 14 days, this demo system is short-lived.
compacted_block_retention: 10m # How long to keep compacted blocks stored elsewhere.
# Configuration block to determine where to store TSDB blocks.
storage:
trace:
backend: local # Use the local filesystem for block storage. Not recommended for production systems.
block:
bloom_filter_false_positive: .05 # Bloom filter false positive rate. lower values create larger filters but fewer false positives.
# Write Ahead Log (WAL) configuration.
wal:
path: /tmp/tempo/wal # Directory to store the the WAL locally.
# Local configuration for filesystem storage.
local:
path: /tmp/tempo/blocks # Directory to store the TSDB blocks.
# Pool used for finding trace IDs.
pool:
max_workers: 100 # Worker pool determines the number of parallel requests to the object store backend.
queue_depth: 10000 # Maximum depth for the querier queue jobs. A job is required for each block searched.
# Configures the metrics generator component of Tempo.
metrics_generator:
# Specifies which processors to use.
processor:
# Span metrics create metrics based on span type, duration, name and service.
span_metrics:
# Configure extra dimensions to add as metric labels.
dimensions:
- http.request.method
- url.path
- http.response.status_code
- service.version
# Service graph metrics create node and edge metrics for determinng service interactions.
service_graphs:
# Configure extra dimensions to add as metric labels.
dimensions:
- http.request.method
- url.path
- http.response.status_code
- service.version
# Tempo 3.0 removed the `local-blocks` processor. TraceQL metrics on recent trace data are
# served by the live-store; historical TraceQL metrics are read from object storage.
# The former `traces_storage` path was only required by local-blocks and is no longer needed.
# The registry configuration determines how to process metrics.
registry:
collection_interval: 5s # Create new metrics every 5s.
# Configure extra labels to be added to metrics.
external_labels:
source: tempo # Add a `{source="tempo"}` label.
group: 'mythical' # Add a `{group="mythical"}` label.
# Configures where the store for metrics is located.
storage:
# WAL for metrics generation.
path: /tmp/tempo/generator/wal
# Where to remote write metrics to.
remote_write:
- url: http://mimir:9009/api/v1/push # URL of locally running Mimir instance.
send_exemplars: true # Send exemplars along with their metrics.
# Global override configuration.
overrides:
defaults:
# Per-tenant compaction overrides. Values of 0 defer to the backend_scheduler compaction settings above.
compaction:
block_retention: 1h
compaction_window: 1h
metrics_generator:
processors: [service-graphs, span-metrics] # enables metrics generator (local-blocks removed in Tempo 3.0)
generate_native_histograms: both
# Disable usage statistics reporting to Grafana Labs.
usage_report:
reporting_enabled: false