+ ๐ An observability stack for monitoring all the other running services in this org.
+ Runs locally via Docker Compose. Intended to be deployed to a homelab via Ansible.make runThis will:
- Install the Loki Docker logging plugin if not already installed (required once per machine)
- Start all services via
docker compose
make stopmake logs # tail logs from all services
make status # show running container status
make restart # stop + startOnce running, the following are available:
| Service | URL | Purpose |
|---|---|---|
| Grafana | http://localhost:3000 | Dashboards (anonymous admin, no login required) |
| Prometheus | http://localhost:9090 | Metrics storage + scraping |
| Loki | http://localhost:3100 | Log storage |
| Tempo | http://localhost:3200 | Trace storage |
| OTel Collector (gRPC) | localhost:4319 | Send traces, metrics, logs via OTLP/gRPC |
| OTel Collector (HTTP) | localhost:4320 | Send traces, metrics, logs via OTLP/HTTP |
Point any OpenTelemetry-instrumented app at the OTel Collector:
# gRPC (recommended)
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4319
# HTTP
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4320All three signals (traces, metrics, logs) are accepted and forwarded to the appropriate backend.
Container logs from all services in the stack are automatically shipped to Loki via the Docker logging driver.
