1
+ # This docker-compose file starts the entire wasmCloud observability ecosystem, including:
2
+ # grafana for dashboards
3
+ # otel-collector for ingesting the OTLP signals from wasmcloud host
4
+ # . prometheus for metrics
5
+ # . tempo for traces
6
+ # . loki for logs
7
+
8
+ version : " 3"
9
+ services :
10
+ grafana :
11
+ image : grafana/grafana:10.0.10
12
+ ports :
13
+ - 5050:3000
14
+ environment :
15
+ - GF_AUTH_ANONYMOUS_ENABLED=true
16
+ - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
17
+ - GF_AUTH_DISABLE_LOGIN_FORM=true
18
+ volumes :
19
+ - ./config/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
20
+ depends_on :
21
+ - loki
22
+ - prometheus
23
+ - tempo
24
+
25
+ otelcol :
26
+ image : otel/opentelemetry-collector-contrib:0.93.0
27
+ command :
28
+ - ' --config=/etc/otelcol/config.yaml'
29
+ volumes :
30
+ - ./config/otel-collector.yaml:/etc/otelcol/config.yaml
31
+ ports :
32
+ - 4317:4317
33
+ - 4318:4318
34
+ depends_on :
35
+ - loki
36
+ - prometheus
37
+ - tempo
38
+
39
+ loki :
40
+ image : grafana/loki:2.9.4
41
+ command :
42
+ - ' -config.file=/etc/loki/config.yaml'
43
+ volumes :
44
+ - ./config/loki.yaml:/etc/loki/config.yaml
45
+ ports :
46
+ - 3100:3100
47
+ restart : unless-stopped
48
+
49
+ prometheus :
50
+ image : prom/prometheus:v2.49.1
51
+ command :
52
+ - ' --config.file=/etc/prometheus/config.yaml'
53
+ - ' --web.enable-remote-write-receiver'
54
+ - ' --enable-feature=native-histograms'
55
+ volumes :
56
+ - ./config/prometheus.yaml:/etc/prometheus/config.yaml
57
+ ports :
58
+ - 9090:9090
59
+ restart : unless-stopped
60
+
61
+ tempo :
62
+ image : grafana/tempo:2.3.1
63
+ command :
64
+ - ' -config.file=/etc/tempo/config.yaml'
65
+ volumes :
66
+ - ./config/tempo.yaml:/etc/tempo/config.yaml
67
+ ports :
68
+ - 4318 # This port is used for sending traces from otel-collector to tempo
69
+ - 7999:7999 # tempo
0 commit comments