-
Notifications
You must be signed in to change notification settings - Fork 54
/
docker-compose-with-generator.yml
executable file
·148 lines (148 loc) · 3.55 KB
/
docker-compose-with-generator.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
143
144
145
146
147
148
networks:
loki: {}
services:
cadvisor:
container_name: cadvisor
image: gcr.io/cadvisor/cadvisor:latest
networks:
loki: null
ports:
- published: 8080
target: 8080
restart: always
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker:/var/lib/docker:ro
generator:
build:
context: ./generator
container_name: generator
depends_on:
- syslog-ng
networks:
loki: null
grafana:
container_name: grafana
environment:
GF_AUTH_ANONYMOUS_ENABLED: "true"
GF_AUTH_ANONYMOUS_ORG_ROLE: Admin
GF_AUTH_BASIC_ENABLED: "false"
GF_AUTH_DISABLE_LOGIN_FORM: "true"
GF_DASHBOARDS_DEFAULT_HOME_DASHBOARD_PATH: /var/lib/grafana/dashboards/no_folder/loki_syslog_aio_overview.json
image: grafana/grafana:8.1.2
networks:
loki: null
ports:
- protocol: tcp
published: 3000
target: 3000
restart: always
volumes:
- ./config/grafana/provisioning/datasources:/etc/grafana/provisioning/datasources:ro
- ./config/grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards:ro
- ./config/grafana/dashboards:/var/lib/grafana/dashboards:ro
loki:
command: -config.file=/etc/loki/loki-config.yml
container_name: loki
depends_on:
- minio
image: grafana/loki:2.3.0
networks:
loki: null
ports:
- protocol: tcp
published: 3100
target: 3100
restart: always
volumes:
- ./config/loki-config-s3.yml:/etc/loki/loki-config.yml:ro
minio:
command: -c 'mkdir -p /data/loki && /usr/bin/docker-entrypoint.sh minio server /data'
container_name: minio
entrypoint: sh
environment:
MINIO_ACCESS_KEY: minio123
MINIO_PROMETHEUS_AUTH_TYPE: public
MINIO_SECRET_KEY: minio456
healthcheck:
interval: 30s
retries: 3
test:
- CMD
- curl
- -f
- http://localhost:9000/minio/health/live
timeout: 20s
image: minio/minio:latest
networks:
loki: null
ports:
- published: 9000
target: 9000
restart: always
node-exporter:
command: --path.rootfs=/host
container_name: node-exporter
image: prom/node-exporter:latest
networks:
loki: null
pid: host
ports:
- published: 9100
target: 9100
restart: always
volumes:
- /:/host:ro,rslave
prometheus:
command:
- --config.file=/etc/prometheus/prometheus.yml
- --storage.tsdb.path=/prometheus
- --web.enable-admin-api
- --web.enable-lifecycle
container_name: prometheus
image: prom/prometheus:latest
networks:
loki: null
ports:
- published: 9090
target: 9090
restart: always
volumes:
- ./config/prometheus.yml:/etc/prometheus/prometheus.yml:ro
promtail:
command: -config.file=/etc/promtail/promtail-config.yml
container_name: promtail
image: grafana/promtail:2.3.0
networks:
loki: null
ports:
- protocol: tcp
published: 1514
target: 1514
- protocol: tcp
published: 9080
target: 9080
restart: always
volumes:
- ./config/promtail-config.yml:/etc/promtail/promtail-config.yml:ro
syslog-ng:
command: -edv
container_name: syslog-ng
depends_on:
- promtail
image: balabit/syslog-ng:latest
networks:
loki: null
ports:
- protocol: udp
published: 514
target: 514
- protocol: tcp
published: 601
target: 601
restart: always
volumes:
- ./config/syslog-ng.conf:/etc/syslog-ng/syslog-ng.conf:ro
version: '3.3'