.docker/observability/README.md
This directory contains the comprehensive observability stack for RustFS, designed to provide deep insights into application performance, logs, and traces.
The stack is composed of the following best-in-class open-source components:
By default, this stack uses Tempo in single-binary mode and does not require Kafka/Redpanda.
If you want the Kafka-backed HA Tempo path, use docker-compose-example-for-rustfs.yml together with docker-compose-tempo-ha-override.yml.
Run the following command to start the entire stack:
docker compose up -d
The default docker-compose.yml is the single-node stack.
If you need the Kafka-backed HA Tempo configuration, start it with:
docker compose -f docker-compose-example-for-rustfs.yml -f docker-compose-tempo-ha-override.yml up -d
| Service | URL | Credentials | Description |
|---|---|---|---|
| Grafana | http://localhost:3000 | admin / admin | Main visualization hub. |
| Prometheus | http://localhost:9090 | - | Metric queries and status. |
| Jaeger UI | http://localhost:16686 | - | Secondary trace visualization. |
| Tempo | http://localhost:3200 | - | Tempo status/metrics. |
Data is stored in the following Docker volumes:
prometheus-data: Prometheus metricstempo-data: Tempo traces (WAL and Blocks)loki-data: Loki logs (Chunks and Rules)jaeger-data: Jaeger traces (Badger DB)To clear all data:
docker compose down -v
prometheus.yml to add scrape targets or alerting rules.grafana/ directory.otel-collector-config.yaml to modify pipelines, processors, or exporters.docker compose ps.docker compose logs -f <service_name>.http://localhost:13133 for health status and http://localhost:1888/debug/pprof/ for profiling.