aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/docker-compose/compose-monitoring.yaml
diff options
context:
space:
mode:
authorrtkay123 <dev@kanjala.com>2025-08-09 11:01:09 +0200
committerrtkay123 <dev@kanjala.com>2025-08-09 11:01:09 +0200
commit0d4395a8f642312b1a7964ea8cdea1d43cf81c8b (patch)
tree0bb26862c1bcdd1c64d3dd6f2785272eef8d466c /contrib/docker-compose/compose-monitoring.yaml
parentaffa986bf1f84b725bd23309986250ff04cf2c93 (diff)
downloadwarden-0d4395a8f642312b1a7964ea8cdea1d43cf81c8b.tar.bz2
warden-0d4395a8f642312b1a7964ea8cdea1d43cf81c8b.zip
feat: tempo and loki
Diffstat (limited to 'contrib/docker-compose/compose-monitoring.yaml')
-rw-r--r--contrib/docker-compose/compose-monitoring.yaml70
1 files changed, 70 insertions, 0 deletions
diff --git a/contrib/docker-compose/compose-monitoring.yaml b/contrib/docker-compose/compose-monitoring.yaml
new file mode 100644
index 0000000..93697f4
--- /dev/null
+++ b/contrib/docker-compose/compose-monitoring.yaml
@@ -0,0 +1,70 @@
+name: warden
+
+services:
+ loki:
+ image: grafana/loki:3.5.3
+ ports:
+ - "3100:3100"
+ command: -config.file=/etc/loki/local-config.yaml
+ networks:
+ - warden
+
+ promtail:
+ image: grafana/promtail:3.5.3
+ volumes:
+ - /var/log:/var/log
+ command: -config.file=/etc/promtail/config.yml
+ networks:
+ - warden
+
+ grafana:
+ image: grafana/grafana:12.1.0
+ environment:
+ - GF_PATHS_PROVISIONING=/etc/grafana/provisioning
+ - GF_AUTH_ANONYMOUS_ENABLED=true
+ - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
+ - GF_FEATURE_TOGGLES_ENABLE=alertingSimplifiedRouting,alertingQueryAndExpressionsStepMode,traceqlEditor
+ volumes:
+ - ./config/grafana-ds.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
+ ports:
+ - "3000:3000"
+ networks:
+ - warden
+
+ # 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:2.8.2
+ user: root
+ entrypoint:
+ - "chown"
+ - "10001:10001"
+ - "/var/tempo"
+ volumes:
+ - ./tempo-data:/var/tempo
+
+ tempo:
+ image: *tempoImage
+ command: [ "-config.file=/etc/tempo.yaml" ]
+ volumes:
+ - ./config/tempo.yaml:/etc/tempo.yaml
+ - ./tempo-data:/var/tempo
+ ports:
+ - "3200:3200"
+ - "4317:4317"
+ depends_on:
+ - init
+ networks:
+ - warden
+
+ # And put them in an OTEL collector pipeline...
+ otel-collector:
+ image: otel/opentelemetry-collector:0.131.1
+ command: [ "--config=/etc/otel-collector.yaml" ]
+ volumes:
+ - ./config/otel-collector.yaml:/etc/otel-collector.yaml
+ networks:
+ - warden
+
+networks:
+ warden: