mirror of
https://github.com/katanemo/plano.git
synced 2026-04-25 00:36:34 +02:00
- Introduced Docker Compose setup with OpenTelemetry Collector, Tempo, Prometheus, and Grafana. - Configured OTEL Collector to receive traces and derive Prometheus metrics. - Added Grafana dashboards for visualizing LLM request metrics and latencies. - Included configuration files for Prometheus and Tempo to support trace storage and metrics generation. - Updated README with setup instructions and architecture overview.
50 lines
1.5 KiB
YAML
50 lines
1.5 KiB
YAML
services:
|
|
# OpenTelemetry Collector: receives traces from Plano, derives Prometheus
|
|
# metrics via the spanmetrics connector, and forwards traces to Tempo.
|
|
otel-collector:
|
|
image: otel/opentelemetry-collector-contrib:0.102.0
|
|
command: ["--config=/etc/otel-collector-config.yaml"]
|
|
volumes:
|
|
- ./otel-collector-config.yaml:/etc/otel-collector-config.yaml:ro
|
|
ports:
|
|
- "9317:4317" # OTLP gRPC (Plano sends traces here)
|
|
- "8889:8889" # Prometheus metrics endpoint (spanmetrics)
|
|
depends_on:
|
|
- tempo
|
|
|
|
tempo:
|
|
image: grafana/tempo:2.5.0
|
|
command: ["-config.file=/etc/tempo.yaml"]
|
|
volumes:
|
|
- ./tempo.yaml:/etc/tempo.yaml:ro
|
|
ports:
|
|
- "9200:3200" # Tempo HTTP API
|
|
|
|
prometheus:
|
|
image: prom/prometheus:v2.53.0
|
|
command:
|
|
- "--config.file=/etc/prometheus/prometheus.yml"
|
|
- "--storage.tsdb.retention.time=7d"
|
|
volumes:
|
|
- ./prometheus.yaml:/etc/prometheus/prometheus.yml:ro
|
|
ports:
|
|
- "9190:9090"
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
depends_on:
|
|
- otel-collector
|
|
|
|
grafana:
|
|
image: grafana/grafana:11.1.0
|
|
environment:
|
|
- GF_SECURITY_ADMIN_USER=admin
|
|
- GF_SECURITY_ADMIN_PASSWORD=admin
|
|
- GF_USERS_ALLOW_SIGN_UP=false
|
|
volumes:
|
|
- ./grafana/provisioning:/etc/grafana/provisioning:ro
|
|
- ./grafana/dashboards:/var/lib/grafana/dashboards:ro
|
|
ports:
|
|
- "9000:3000"
|
|
depends_on:
|
|
- prometheus
|
|
- tempo
|