-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.monitoring.yml
More file actions
136 lines (127 loc) · 3.65 KB
/
docker-compose.monitoring.yml
File metadata and controls
136 lines (127 loc) · 3.65 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
networks:
backend-net:
driver: bridge
name: hypercode_public_net
volumes:
prometheus-data:
driver: local
grafana-data:
driver: local
services:
prometheus:
image: ${PROMETHEUS_IMAGE:-prom/prometheus:v2.55.1}
container_name: prometheus
volumes:
- ./monitoring/prometheus:/etc/prometheus
- prometheus-data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
- '--web.enable-lifecycle'
ports:
- "127.0.0.1:9090:9090"
extra_hosts:
- "prometheus-prod-55-prod-gb-south-1.grafana.net:18.171.24.48"
dns:
- 8.8.8.8
- 8.8.4.4
networks:
- backend-net
restart: unless-stopped
alertmanager:
image: ${ALERTMANAGER_IMAGE:-prom/alertmanager:v0.27.0}
container_name: alertmanager
volumes:
- ./monitoring/alertmanager:/etc/alertmanager
command:
- '--config.file=/etc/alertmanager/alertmanager.yml'
- '--storage.path=/alertmanager'
ports:
- "127.0.0.1:9093:9093"
networks:
- backend-net
restart: unless-stopped
alert-webhook:
build:
context: ./monitoring/alert-webhook
container_name: alert-webhook
environment:
- ALERT_WEBHOOK_DATA_PATH=/data/alerts.jsonl
volumes:
- ./artifacts/alerts:/data
ports:
- "127.0.0.1:18080:8080"
networks:
- backend-net
restart: unless-stopped
grafana:
image: ${GRAFANA_IMAGE:-grafana/grafana:11.2.0}
container_name: grafana
environment:
- GF_SECURITY_ADMIN_USER=${GF_SECURITY_ADMIN_USER:-admin}
- GF_SECURITY_ADMIN_PASSWORD=${GF_SECURITY_ADMIN_PASSWORD:?GF_SECURITY_ADMIN_PASSWORD must be set (avoid default admin/password)}
- GF_USERS_ALLOW_SIGN_UP=false
volumes:
- grafana-data:/var/lib/grafana
- ./monitoring/grafana/provisioning:/etc/grafana/provisioning
ports:
- "127.0.0.1:3001:3000"
networks:
- backend-net
depends_on:
prometheus:
condition: service_started
restart: unless-stopped
node-exporter:
image: ${NODE_EXPORTER_IMAGE:-prom/node-exporter:v1.8.1}
container_name: node-exporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.rootfs=/rootfs'
- '--path.sysfs=/host/sys'
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
ports:
- "127.0.0.1:9100:9100"
networks:
- backend-net
restart: unless-stopped
loki:
image: ${LOKI_IMAGE:-grafana/loki:3.1.0}
container_name: loki
ports:
- "127.0.0.1:3100:3100"
command: -config.file=/etc/loki/loki-config.yml
volumes:
- ./monitoring/loki/loki-config.yml:/etc/loki/loki-config.yml
networks:
- backend-net
restart: unless-stopped
promtail:
image: ${PROMTAIL_IMAGE:-grafana/promtail:3.1.0}
container_name: promtail
volumes:
- /var/lib/docker/containers:/var/lib/docker/containers:ro
- ./monitoring/promtail/promtail-config.yml:/etc/promtail/promtail-config.yml
command: -config.file=/etc/promtail/promtail-config.yml
networks:
- backend-net
restart: unless-stopped
cadvisor:
image: gcr.io/cadvisor/cadvisor:v0.47.2
container_name: cadvisor
ports:
- "127.0.0.1:8080:8080"
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
networks:
- backend-net
restart: unless-stopped