2021-06-03 11:20:19 -04:00
|
|
|
services:
|
2021-06-07 17:20:46 +02:00
|
|
|
|
2024-04-24 16:16:07 +00:00
|
|
|
# Tempo runs as user 10001, and docker compose creates the volume as root.
|
|
|
|
# As such, we need to chown the volume in order for Tempo to start correctly.
|
|
|
|
init:
|
|
|
|
image: &tempoImage grafana/tempo:latest
|
|
|
|
user: root
|
|
|
|
entrypoint:
|
|
|
|
- "chown"
|
|
|
|
- "10001:10001"
|
|
|
|
- "/var/tempo"
|
|
|
|
volumes:
|
|
|
|
- ./tempo-data:/var/tempo
|
|
|
|
|
|
|
|
tempo:
|
|
|
|
image: *tempoImage
|
|
|
|
command: [ "-multitenancy.enabled=true", "-config.file=/etc/tempo.yaml" ]
|
|
|
|
volumes:
|
|
|
|
- ../shared/tempo.yaml:/etc/tempo.yaml
|
|
|
|
- ./tempo-data:/var/tempo
|
|
|
|
ports:
|
2024-12-20 17:02:16 +01:00
|
|
|
- "3200" # tempo
|
|
|
|
- "4317" # otlp grpc
|
2024-04-24 16:16:07 +00:00
|
|
|
depends_on:
|
|
|
|
- init
|
|
|
|
|
2021-06-03 11:20:19 -04:00
|
|
|
# Generate fake traces...
|
2022-12-01 23:24:46 +10:00
|
|
|
k6-tracing:
|
2025-03-13 14:40:36 +10:00
|
|
|
image: ghcr.io/grafana/xk6-client-tracing:v0.0.7
|
2021-06-03 11:20:19 -04:00
|
|
|
environment:
|
2022-12-01 23:24:46 +10:00
|
|
|
- ENDPOINT=otel-collector:4317
|
|
|
|
restart: always
|
|
|
|
depends_on:
|
|
|
|
- otel-collector
|
2021-06-03 11:20:19 -04:00
|
|
|
|
|
|
|
# And put them in an OTEL collector pipeline...
|
|
|
|
otel-collector:
|
2022-09-29 17:48:17 +10:00
|
|
|
image: otel/opentelemetry-collector:0.61.0
|
2021-06-07 17:20:46 +02:00
|
|
|
command: [ "--config=/etc/otel-collector.yaml" ]
|
2021-06-03 11:20:19 -04:00
|
|
|
volumes:
|
2021-06-07 17:20:46 +02:00
|
|
|
- ./otel-collector.multitenant.yaml:/etc/otel-collector.yaml
|
2021-06-03 11:20:19 -04:00
|
|
|
|
2021-06-07 17:20:46 +02:00
|
|
|
prometheus:
|
|
|
|
image: prom/prometheus:latest
|
2024-10-16 16:48:19 -04:00
|
|
|
command:
|
2022-09-29 17:48:17 +10:00
|
|
|
- --config.file=/etc/prometheus.yaml
|
|
|
|
- --web.enable-remote-write-receiver
|
|
|
|
- --enable-feature=exemplar-storage
|
2024-07-11 16:03:26 +00:00
|
|
|
- --enable-feature=native-histograms
|
2021-06-07 17:20:46 +02:00
|
|
|
volumes:
|
|
|
|
- ../shared/prometheus.yaml:/etc/prometheus.yaml
|
|
|
|
ports:
|
|
|
|
- "9090:9090"
|
|
|
|
|
2021-06-03 11:20:19 -04:00
|
|
|
grafana:
|
2025-03-13 14:40:36 +10:00
|
|
|
image: grafana/grafana:11.5.2
|
2021-06-03 11:20:19 -04:00
|
|
|
volumes:
|
2021-06-07 17:20:46 +02:00
|
|
|
- ./grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
|
2021-06-03 11:20:19 -04:00
|
|
|
environment:
|
|
|
|
- GF_AUTH_ANONYMOUS_ENABLED=true
|
|
|
|
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
|
|
|
|
- GF_AUTH_DISABLE_LOGIN_FORM=true
|
2024-10-16 16:48:19 -04:00
|
|
|
- GF_FEATURE_TOGGLES_ENABLE=traceqlEditor metricsSummary
|
2021-06-03 11:20:19 -04:00
|
|
|
ports:
|
2021-10-06 01:19:05 -06:00
|
|
|
- "3000:3000"
|