Docker environment for running an OpenTelemetry stack locally using:
- Prometheus for metrics;
- Mimir as Prometheus long-term storage;
- Loki for logs;
- Tempo for traces;
- Grafana Agent as telemetry collector;
- Grafana for visualization;
- MinIO as storage for Mimir, Loki, Tempo.
The goal is to provide the simplest and lightest setup possible for running these components together. This means no authentication, no HA configuration, no load-balancer, no TLS.
Clone the repository with:
$ git clone [email protected]:nunchistudio/docker-opentelemetry.gitThen, start the Docker environment:
$ cd ./docker-opentelemetry
$ docker compose up -dAt this point you should have all containers running (truncated for better visibility):
$ docker ps
IMAGE PORTS
grafana/agent:latest 0.0.0.0:7020-7021->7020-7021/tcp
grafana/grafana:latest 0.0.0.0:3000->3000/tcp
prom/prometheus:latest 0.0.0.0:9090->9090/tcp
grafana/mimir:latest 0.0.0.0:3300->3300/tcp, 8080/tcp
grafana/tempo:latest 0.0.0.0:3200-3201->3200-3201/tcp, 0.0.0.0:50397->7946/tcp
grafana/loki:latest 0.0.0.0:3100->3100/tcp, 0.0.0.0:50398->7946/tcp
minio/minio:latest 0.0.0.0:9000-9001->9000-9001/tcpYou can access the Grafana dashboard at http://localhost:3000. Datasources are already configured to work with Mimir, Loki, and Tempo.
OpenTelemetry collector endpoint is exposed at localhost:7021.
Repository licensed under the MIT License.