Skip to main content
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

You will be prompted for the Tempo URL and optional auth. Leave auth fields blank if your Tempo runs without authentication.

Option 2: Environment variables

Add to your .env:

Option 3: Persistent store

Integrations are automatically persisted to ~/.opensre/integrations.json:

Investigation tools

OpenSRE exposes a single query_tempo tool with an action parameter: Searches traces by service, span name, duration, and tags using TraceQL. Returns one summary row per trace.

get_trace

Fetches a full trace by ID and flattens its spans.

list_services

Lists all services registered in Tempo.

list_span_names

Lists all span names registered in Tempo.

Verify

Expected output:

Troubleshooting

Security best practices

  • Use a read-only token or service account if your Tempo deployment supports auth.
  • Store credentials in .env, never in code.
  • Restrict network access to Tempo — OpenSRE only needs the HTTP API port (3200 by default).