Download and Install the Package
Go to [official website](https://github.com/grafana/tempo/releases/) to download the latest version of the installation package. Here we take tempo_2.9.0_linux_amd64.tar.gz as an example.
1wget https://github.com/grafana/tempo/releases/download/v2.9.0/tempo_2.9.0_linux_amd64.tar.gz
2tar -zxvf tempo_2.9.0_linux_amd64.tar.gz
Extract and Install
1tar -zxvf tempo_2.9.0_linux_amd64.tar.gz
2mv tempo_2.9.0_linux_amd64 /opt/tempo
Modify Configuration
Create and modify the /opt/tempo/tempo.yaml file.
1server:
2 http_listen_port: 3200 # Tempo's own HTTP interface, can be used for health checks or cluster management
3 grpc_listen_port: 3201 # Internal gRPC module communication, e.g., frontend ↔ distributor / ingester / compactor
4distributor:
5 receivers:
6 otlp:
7 protocols:
8 grpc:
9 endpoint: "0.0.0.0:3217" # Receives OTLP gRPC trace data
10 http:
11 endpoint: "0.0.0.0:3218" # Receives OTLP HTTP trace data
12ingester:
13 trace_idle_period: 5m
14storage:
15 trace:
16 backend: local
17 local:
18 path: /opt/tempo/data/traces
19 wal:
20 path: /opt/tempo/data/wal
21 pool:
22 max_workers: 100
23 queue_depth: 10000
24compactor:
25 compaction:
26 # block retention time
27 block_retention: 168h
Start the Service
1/opt/tempo/tempo --config.file=/opt/tempo/tempo.yaml
Verify the Service
Access http://192.168.0.1:3200/metrics, if you can see the corresponding metrics, it indicates that the installation was successful.
Configure Auto-Start on Boot
Create a systemd service file:
1# /etc/systemd/system/tempo.service
2[Unit]
3Description=Tempo Monitoring
4After=network.target
5[Service]
6ExecStart=/opt/tempo/tempo --config.file=/opt/tempo/tempo.yaml
7Restart=always
8[Install]
9WantedBy=multi-user.target
Reload the systemd configuration and enable the service:
1systemctl daemon-reload
2systemctl enable tempo
3systemctl start tempo
Now, Tempo should automatically run at system startup. You can use the following commands to check the service status:
1# Check service status
2systemctl status tempo
3# View service logs
4journalctl -u tempo -f