Overview
OpenSRE uses Grafana Tempo to investigate trace-related alerts — searching spans by service, fetching full traces by ID, listing instrumented services, and filtering by error status or latency. This integration talks to Tempo directly via its HTTP API. It does not require a Grafana instance or datasource proxy. If you run the full Grafana stack, the Grafana integration already surfaces Tempo through the datasource proxy — use this integration when you run Tempo standalone.Prerequisites
- Grafana Tempo 1.4+
- Network access from the OpenSRE environment to your Tempo instance
- Auth credentials only if your deployment requires them (many run without auth behind a gateway)
Setup
Option 1: Interactive CLI
Option 2: Environment variables
Add to your.env:
Option 3: Persistent store
Integrations are persisted to~/.opensre/integrations.json:
Credentials
Auth is optional. Many Tempo deployments run without authentication behind a gateway. When auth is required, supply one of:- Bearer token →
TEMPO_API_KEY - Basic auth →
TEMPO_USERNAME/TEMPO_PASSWORD - Multi-tenant →
TEMPO_ORG_IDasX-Scope-OrgID
Investigation tools
OpenSRE exposes a singlequery_tempo tool with an action parameter:
search
get_trace
list_services
list_span_names
Verify
Local Docker verification
Start a disposable all-in-one Tempo using the repository’s local configuration:uv run opensre integrations setup tempo. Enter
http://127.0.0.1:3200 as the URL and leave the bearer token, username,
password, and tenant prompts blank. Then verify the connection:
checkout-service, POST /checkout, a two-second
duration, HTTP status 500, and an error span. Stop the disposable instance
when finished:
Troubleshooting
Security
- Use a read-only token or service account if Tempo supports auth.
- Store credentials in
.env, never in code. - Restrict network access to Tempo — OpenSRE only needs the HTTP API port (
3200by default).