garage/script/telemetry
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-30 08:20:31 +00:00
..
grafana/provisioning telemetry: swap elastic for jaeger 2.x 2026-09-30 08:20:31 +00:00
.env telemetry: swap elastic for jaeger 2.x 2026-09-30 08:20:31 +00:00
compose.yaml telemetry: swap elastic for jaeger 2.x 2026-09-30 08:20:31 +00:00
grafana-garage-dashboard-prometheus.json telemetry: swap elastic for jaeger 2.x 2026-09-30 08:20:31 +00:00
prometheus.yml telemetry: swap elastic for jaeger 2.x 2026-09-30 08:20:31 +00:00
README.md telemetry: swap elastic for jaeger 2.x 2026-09-30 08:20:31 +00:00

Garage telemetry test stack

A small local stack to look at Garage metrics and traces:

  • Prometheus scrapes Garage metrics from the admin API
  • Jaeger receives traces over OTLP
  • Grafana with the Garage dashboard preloaded

Configure Garage

Build Garage with the telemetry-otlp feature to export traces, then set in your config:

[admin]
api_bind_addr = "0.0.0.0:3903"
trace_sink = "http://localhost:4317"

The admin API must listen on an address reachable from containers, not the local loopback. If you set metrics_token, uncomment the authorization section in prometheus.yml.

Start the stack

cd script/telemetry
docker compose up

Web interfaces

  • Grafana: The Garage dashboard is preloaded, and traces can be browsed in Explore with the Jaeger data source.
  • Jaeger: trace search UI
  • Prometheus: check that the garage target is up under Status → Targets

Traces are kept in memory and are lost when Jaeger restarts. Metrics are kept for 7 days. Run docker compose down -v to remove all data.

Upgrades

The versions are managed in the .env file.