-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker-compose.yml
142 lines (138 loc) · 3.86 KB
/
docker-compose.yml
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
137
138
139
140
141
142
version: "3.5"
services:
victoriametrics:
container_name: victoriametrics
image: victoriametrics/victoria-metrics
volumes:
- ./vmdata:/storage
command:
- "--storageDataPath=/storage"
- "--httpListenAddr=:8428"
restart: always
# ports:
# - 8428:8428
networks:
- vm_net
vmagent:
container_name: vmagent
image: victoriametrics/vmagent
depends_on:
- "victoriametrics"
volumes:
- ./vmagentdata:/vmagentdata
- ./configs/prometheus.yml:/etc/prometheus/prometheus.yml
command:
- "--promscrape.config=/etc/prometheus/prometheus.yml"
- "--remoteWrite.url=http://victoriametrics:8428/api/v1/write"
# ports:
# - 8429:8429
networks:
- vm_net
- razor_network
restart: always
alertmanager:
container_name: alertmanager
image: prom/alertmanager
volumes:
- ./configs/alertmanager.yml:/config/alertmanager.yml
command:
- "--config.file=/config/alertmanager.yml"
# ports:
# - 9093:9093
networks:
- vm_net
restart: always
vmalert:
container_name: vmalert
image: victoriametrics/vmalert
depends_on:
- "victoriametrics"
- "alertmanager"
volumes:
- ./rules/:/etc/alerts/
# - ./rules/cadvisior-alerts.yml:/etc/alerts/cadvisior-alerts.yml
command:
- "--datasource.url=http://victoriametrics:8428/"
- "--remoteRead.url=http://victoriametrics:8428/"
- "--remoteWrite.url=http://victoriametrics:8428/"
- "--notifier.url=http://alertmanager:9093/"
- "--rule=/etc/alerts/*.yml"
# display source of alerts in grafana
- "-external.url=http://127.0.0.1:3000" #grafana outside container
- '--external.alert.source=explore?orgId=1&left=["now-1h","now","VictoriaMetrics",{"expr":"{{$$expr|quotesEscape|crlfEscape|queryEscape}}"},{"mode":"Metrics"},{"ui":[true,true,true,"none"]}]' ## when copypaste the line be aware of '$$' for escaping in '$expr' networks:
# ports:
# - 8880:8880
networks:
- vm_net
restart: always
grafana:
container_name: grafana
image: grafana/grafana:8.0.0
depends_on:
- "victoriametrics"
ports:
- 3000:3000
user: "0"
volumes:
- ./grafanadata:/var/lib/grafana
- ./provisioning/:/etc/grafana/provisioning/
- ./dashboards/:/var/lib/grafana/dashboards/
networks:
- vm_net
restart: always
################################# Server Exporter
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
restart: unless-stopped
# ports:
# - 8082:8080
networks:
- vm_net
nodeexporter:
image: prom/node-exporter
container_name: nodeexporter
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.ignored-mount-points=^/(sys|proc|dev|host|etc)($$|/)"
- "--collector.systemd"
- "--collector.textfile.directory=/rootfs/var/tmp"
restart: unless-stopped
# ports:
# - 9100:9100
networks:
- vm_net
################################ logging
loki:
image: grafana/loki:2.0.0
container_name: loki
command: -config.file=/etc/loki/loki.yaml
volumes:
- ./configs/loki.yaml:/etc/loki/loki.yaml
restart: unless-stopped
networks:
- vm_net
promtail:
image: grafana/promtail:2.0.0
container_name: promtail
volumes:
- ./configs/promtail.yaml:/etc/promtail/config.yml
- $HOME/.razor/logs/:/var/log/razor/
command: -config.file=/etc/promtail/config.yml
networks:
- vm_net
networks:
vm_net:
razor_network:
external: true