1- version : ' 0.1 '
1+ version : ' 3 '
22name : ' lambda-ethereum-consensus-grafana'
33
44services :
55 prometheus :
66 image : prom/prometheus
77 container_name : prometheus
88 hostname : prometheus
9- ports :
10- - " 9090:9090"
119 volumes :
10+ # prometheus configuration
1211 - ./prometheus:/etc/prometheus
12+ # prometheus data
1313 - prometheus-data:/prometheus
1414 command : --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml
1515 networks :
16- open :
16+ grafana-prometheus :
1717 aliases :
1818 - prometheus
1919 extra_hosts :
@@ -25,17 +25,79 @@ services:
2525 ports :
2626 - " 3000:3000"
2727 volumes :
28+ # grafana configuration
2829 - ./grafana/provisioning:/etc/grafana/provisioning
30+ # grafana data
2931 - grafana-data:/var/lib/grafana
32+ environment :
33+ # WARNING: use this for same-machine access ONLY
34+ GF_AUTH_ANONYMOUS_ENABLED : " true"
35+ GF_AUTH_DISABLE_LOGIN_FORM : " true"
36+ GF_AUTH_ANONYMOUS_ORG_ROLE : " Admin"
3037 networks :
31- open :
38+ grafana-prometheus :
39+ aliases :
40+ - grafana
41+ grafana-loki :
3242 aliases :
3343 - grafana
3444
45+ # Since the Loki containers are running as user 10001 and the mounted data volume is owned by root,
46+ # Loki would not have permissions to create the directories.
47+ # Therefore the init container changes permissions of the mounted directory.
48+ loki-init :
49+ image : &lokiImage grafana/loki:2.9.2
50+ user : root
51+ entrypoint :
52+ - " chown"
53+ - " 10001:10001"
54+ - " /tmp/loki"
55+ volumes :
56+ - loki-data:/tmp/loki
57+
58+ loki :
59+ image : *lokiImage
60+ container_name : loki
61+ volumes :
62+ # loki configuration
63+ - ./loki:/etc/loki
64+ # loki data
65+ - loki-data:/tmp/loki
66+ command : --config.file=/etc/loki/loki.yml
67+ networks :
68+ grafana-loki :
69+ aliases :
70+ - loki
71+ loki-promtail :
72+ aliases :
73+ - loki
74+
75+ promtail :
76+ image : grafana/promtail
77+ container_name : promtail
78+ volumes :
79+ # promtail configuration
80+ - ./promtail:/etc/promtail
81+ # logs to scrape
82+ - ../logs:/var/log/consensus
83+ # promtail data
84+ - promtail-data:/tmp/promtail
85+ command : --config.file=/etc/promtail/promtail.yml
86+ networks :
87+ loki-promtail :
88+ aliases :
89+ - promtail
90+
3591networks :
36- open :
92+ grafana-prometheus :
93+ driver : bridge
94+ grafana-loki :
95+ driver : bridge
96+ loki-promtail :
3797 driver : bridge
3898
3999volumes :
40100 prometheus-data :
41101 grafana-data :
102+ loki-data :
103+ promtail-data :
0 commit comments