-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.observability.yml
More file actions
58 lines (53 loc) · 1.55 KB
/
docker-compose.observability.yml
File metadata and controls
58 lines (53 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Docker Compose for local OpenTelemetry observability stack
# Usage: docker-compose -f docker-compose.observability.yml up
services:
# Grafana Tempo - Distributed tracing backend
tempo:
image: grafana/tempo:latest
command: [ "-config.file=/etc/tempo.yaml" ]
volumes:
- ./infrastructure/tempo.yaml:/etc/tempo.yaml
- tempo-data:/tmp/tempo
ports:
- "3200:3200" # Tempo HTTP API
- "4317:4317" # OTLP gRPC receiver
- "4318:4318" # OTLP HTTP receiver
- "9411:9411" # Zipkin receiver (optional)
networks:
- soar-observability
# Grafana Loki - Log aggregation backend
loki:
image: grafana/loki:latest
command: [ "-config.file=/etc/loki/local-config.yaml" ]
volumes:
- loki-data:/loki
ports:
- "3100:3100" # Loki HTTP API
networks:
- soar-observability
# Grafana - Visualization and dashboards
# Note: If you already have Grafana running, you can skip this service
# and just add Tempo/Loki datasources to your existing instance
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000" # Grafana web UI
environment:
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
- GF_AUTH_DISABLE_LOGIN_FORM=true
volumes:
- grafana-data:/var/lib/grafana
- ./infrastructure/grafana-provisioning:/etc/grafana/provisioning
networks:
- soar-observability
depends_on:
- tempo
- loki
volumes:
tempo-data:
loki-data:
grafana-data:
networks:
soar-observability:
driver: bridge