-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.yaml
More file actions
129 lines (129 loc) · 3.84 KB
/
Copy pathcompose.yaml
File metadata and controls
129 lines (129 loc) · 3.84 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
name: cc-o11y-stack
services:
# --- otel-collector ---
otel-collector:
image: otel/opentelemetry-collector-contrib:0.154.0@sha256:b3079f45e19bdb7326bf49cdddce6cf60dfd865138db39f2733ea48ab17bc4cb
volumes:
- ./otel-collector/config.yaml:/etc/otelcol-contrib/config.yaml:ro
ports:
- "127.0.0.1:4317:4317"
- "127.0.0.1:4318:4318"
labels:
cc-o11y.logs: "true"
depends_on:
victoriametrics:
condition: service_healthy
loki:
condition: service_started
restart: unless-stopped
# --- victoriametrics ---
victoriametrics:
image: victoriametrics/victoria-metrics:v1.145.0@sha256:c014fb5a711d38cb24fd0673197592cd1394bb903dbb16aea565620c9c8a3d70
command:
- -storageDataPath=/storage
- -retentionPeriod=90d
volumes:
- vm-data:/storage
ports:
- "127.0.0.1:8428:8428"
labels:
cc-o11y.logs: "true"
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:8428/health"]
interval: 5s
timeout: 3s
retries: 3
restart: unless-stopped
# --- loki ---
loki:
image: grafana/loki:3.7.2@sha256:191d4fdfb7264f16989f0a57f320872620a5a7c2ceeec6229212c4190ec49b86
command:
- -config.file=/etc/loki/config.yaml
volumes:
- ./loki/config.yaml:/etc/loki/config.yaml:ro
- loki-data:/loki
ports:
- "127.0.0.1:3100:3100"
labels:
cc-o11y.logs: "true"
restart: unless-stopped
# --- grafana ---
grafana:
image: grafana/grafana:13.0.2@sha256:5dad0df181cb644a14e13617b913b261a54f7d4fd4510721dba420929f35bea2
environment:
GF_AUTH_ANONYMOUS_ENABLED: "true"
GF_AUTH_ANONYMOUS_ORG_ROLE: Admin
GF_AUTH_DISABLE_LOGIN_FORM: "true"
GF_ANALYTICS_REPORTING_ENABLED: "false"
GF_ANALYTICS_CHECK_FOR_UPDATES: "false"
GF_ANALYTICS_CHECK_FOR_PLUGIN_UPDATES: "false"
GF_ANALYTICS_FEEDBACK_LINKS_ENABLED: "false"
volumes:
- ./grafana/provisioning:/etc/grafana/provisioning:ro
- ./grafana/dashboards:/var/lib/grafana/dashboards:ro
- grafana-data:/var/lib/grafana
ports:
- "127.0.0.1:3000:3000"
labels:
cc-o11y.logs: "true"
depends_on:
victoriametrics:
condition: service_healthy
loki:
condition: service_started
restart: unless-stopped
# --- alloy ---
alloy:
image: grafana/alloy:v1.16.3@sha256:84b76d56c5943025515438fd45cbb5995386a0260d072c9b671dfd7f539f9c01
command:
- run
- --disable-reporting
- --server.http.listen-addr=0.0.0.0:12345
- --storage.path=/var/lib/alloy/data
- /etc/alloy/config.alloy
volumes:
- ./alloy/config.alloy:/etc/alloy/config.alloy:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- alloy-data:/var/lib/alloy/data
ports:
- "127.0.0.1:12345:12345"
labels:
cc-o11y.logs: "true"
depends_on:
loki:
condition: service_started
restart: unless-stopped
# --- volume-metrics ---
volume-metrics:
image: busybox:1.37@sha256:9532d8c39891ca2ecde4d30d7710e01fb739c87a8b9299685c63704296b16028
command:
- sh
- -c
- |
while true; do
data=""
for d in /volumes/*; do
kb=$$(du -sk "$$d" | cut -f1)
data="$$data
docker_volume_usage_bytes{volume=\"$${d##*/}\"} $$((kb * 1024))"
done
wget -q -O /dev/null --post-data "$$data" http://victoriametrics:8428/api/v1/import/prometheus
sleep 60
done
volumes:
- vm-data:/volumes/vm-data:ro
- loki-data:/volumes/loki-data:ro
- grafana-data:/volumes/grafana-data:ro
- alloy-data:/volumes/alloy-data:ro
labels:
cc-o11y.logs: "true"
depends_on:
victoriametrics:
condition: service_healthy
restart: unless-stopped
# --- volumes ---
volumes:
vm-data:
loki-data:
grafana-data:
alloy-data: