You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.4 KiB
103 lines
2.4 KiB
version: '3.6'
|
|
|
|
services:
|
|
# store datas in DB
|
|
influxdb:
|
|
image: influxdb:1.8-alpine
|
|
container_name: influxdb
|
|
restart: unless-stopped
|
|
env_file: .env
|
|
ports:
|
|
- '8086:8086'
|
|
volumes:
|
|
- influxdb_data:/var/lib/influxdb
|
|
- ./influxdb/imports:/imports
|
|
|
|
# Dashboard
|
|
grafana:
|
|
image: grafana/grafana:8.0.2
|
|
container_name: grafana
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- influxdb
|
|
env_file: .env
|
|
links:
|
|
- influxdb
|
|
ports:
|
|
- '3000:3000'
|
|
volumes:
|
|
- grafana_data:/var/lib/grafana
|
|
- ./grafana/provisioning/:/etc/grafana/provisioning/
|
|
- ./grafana/dashboards/:/var/lib/grafana/dashboards/
|
|
|
|
# host metrics
|
|
telegraf:
|
|
image: telegraf:1.18-alpine
|
|
# image: telegraf:latest #(for amd64)
|
|
container_name: telegraf
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro
|
|
depends_on:
|
|
- influxdb
|
|
links:
|
|
- influxdb
|
|
ports:
|
|
- '8125:8125/udp'
|
|
|
|
# containers metrics
|
|
cadvisor:
|
|
image: gcr.io/cadvisor/cadvisor
|
|
# + image arm64
|
|
container_name: cadvisor
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /:/rootfs:ro
|
|
- /var/run:/var/run:rw
|
|
- /sys:/sys:ro
|
|
- /var/lib/docker:/var/lib/docker:ro
|
|
- /cgroup:/cgroup:ro
|
|
ports:
|
|
- '8080:8080'
|
|
# gather metrics and launch alerts
|
|
prometheus:
|
|
image: prom/prometheus:v2.17.1
|
|
container_name: prometheus
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./prometheus:/etc/prometheus
|
|
- prometheus_data:/prometheus
|
|
command:
|
|
- '--config.file=/etc/prometheus/prometheus.yml'
|
|
- '--storage.tsdb.path=/prometheus'
|
|
- '--web.console.libraries=/etc/prometheus/console_libraries'
|
|
- '--web.console.templates=/etc/prometheus/consoles'
|
|
- '--storage.tsdb.retention.time=200h'
|
|
- '--web.enable-lifecycle'
|
|
ports:
|
|
- '9090:9090'
|
|
|
|
# alert manager!
|
|
alertmanager:
|
|
image: prom/alertmanager:v0.20.0
|
|
container_name: alertmanager
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./alertmanager:/etc/alertmanager
|
|
command:
|
|
- '--config.file=/etc/alertmanager/alertmanager.yml'
|
|
- '--storage.path=/alertmanager'
|
|
ports:
|
|
- '9093:9093'
|
|
|
|
pushgateway:
|
|
image: prom/pushgateway:v1.2.0
|
|
container_name: pushgateway
|
|
restart: unless-stopped
|
|
ports:
|
|
- "9091:9091"
|
|
|
|
|
|
volumes:
|
|
grafana_data: {}
|
|
influxdb_data: {}
|
|
|