Tempo setup
Overview
Grafana Tempo is an open-source, high-scale distributed tracing backend. It integrates seamlessly with Grafana for visualizing traces and helps you understand the behavior of your applications during deployments and in production.
Tempo is part of our observability stack and works alongside other monitoring tools to provide detailed insights into request flows across your distributed systems.
Prerequisites
Before enabling Tempo, ensure that:
- Your cluster has sufficient resources to run Tempo (default: 2Gi memory, 1 CPU per replica)
- You have access to modify your cluster definition file
Note: Enabling Tempo will automatically enable Alloy, which acts as the trace collection agent.
Configuration
To enable Tempo in your cluster, add or modify the following configuration in your cluster definition YAML file under spec:
observability:
tempo:
enabled: true
replicas: 2
resources:
requests:
memory: 2Gi
cpu: 1
limits:
memory: 2Gi
retention: 24h
volumeSize: 10GiConfiguration parameters
| Parameter | Description | Default | Required |
|---|---|---|---|
enabled | Whether to enable Grafana Tempo. Also enables Alloy | false | Yes |
replicas | The number of replicas for Grafana Tempo | 2 | No |
resources | Resource requests and limits for Tempo pods | See default | No |
retention | Data retention period for traces | 24h | No |
volumeSize | Storage volume size for Tempo data | 10Gi | No |
Deployment
After updating your cluster definition file:
- Create a PR with your change
- Apply the changes through your standard deployment process
- Verify the deployment:
kubectl get pods -n observability | grep tempoYou should see Tempo pods running (number matches your replicas configuration).
Accessing traces in Grafana
Once Tempo is deployed:
- Access your Grafana
- Search for
Tempo Operational - Start using the traces from Tempo