Server monitoring with TIG
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.
telegraf-influxDB-grafana/docker-compose.yml

119 lines
2.8 KiB

version: '3.6'
services:
2 years ago
# store datas in DB
influxdb:
image: influxdb:1.8-alpine
container_name: influxdb
restart: unless-stopped
env_file: .env
# environment:
# - INFLUXDB_DB=
# - INFLUXDB_USER=
# - INFLUXDB_ADMIN_ENABLED=
# - INFLUXDB_ADMIN_USER=
# - INFLUXDB_ADMIN_PASSWORD=
ports:
- '8086:8086'
volumes:
- influxdb_data:/var/lib/influxdb
- ./influxdb/imports:/imports
- ./influxdb/config:/etc/influxdb/
2 years ago
# 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/
2 years ago
# host metrics
telegraf:
image: telegraf:1.18-alpine
# image: telegraf:latest #(for amd64)
container_name: telegraf
restart: unless-stopped
env_file: .env
# for docker
hostname: ${HOSTNAME}
user: "telegraf:${DOCKER_GID}"
volumes:
- ./telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro
- /var/run/docker.sock:/var/run/docker.sock
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'
2 years ago
# 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:
2 years ago
- '9090:9090'
2 years ago
# 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:
2 years ago
- '9093:9093'
pushgateway:
image: prom/pushgateway:v1.2.0
container_name: pushgateway
restart: unless-stopped
ports:
- "9091:9091"
volumes:
grafana_data: {}
influxdb_data: {}
prometheus_data: {}