170 lines
4.0 KiB
YAML
Executable File
170 lines
4.0 KiB
YAML
Executable File
networks:
|
|
loki: {}
|
|
services:
|
|
cadvisor:
|
|
container_name: cadvisor
|
|
image: gcr.io/cadvisor/cadvisor:latest
|
|
networks:
|
|
loki: null
|
|
ports:
|
|
- published: 8088
|
|
target: 8088
|
|
restart: always
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "50m"
|
|
volumes:
|
|
- /:/rootfs:ro
|
|
- /var/run:/var/run:rw
|
|
- /sys:/sys:ro
|
|
- /var/lib/docker:/var/lib/docker:ro
|
|
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
|
|
GF_INSTALL_PLUGINS: alexanderzobnin-zabbix-app
|
|
image: grafana/grafana:latest
|
|
networks:
|
|
loki: null
|
|
ports:
|
|
- protocol: tcp
|
|
published: 3000
|
|
target: 3000
|
|
restart: always
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "50m"
|
|
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
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "50m"
|
|
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
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "50m"
|
|
node-exporter:
|
|
command: --path.rootfs=/host/root
|
|
container_name: node-exporter
|
|
image: prom/node-exporter:latest
|
|
networks:
|
|
loki: null
|
|
pid: host
|
|
ports:
|
|
- published: 9100
|
|
target: 9100
|
|
restart: always
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "50m"
|
|
volumes:
|
|
- /:/host:ro
|
|
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: 9091
|
|
target: 9091
|
|
restart: always
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "50m"
|
|
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
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "50m"
|
|
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'
|