记一下Prometheus+Grafana部署
services:
grafana:
image: grafana/grafana-enterprise
container_name: grafana
restart: unless-stopped
environment:
- GF_SERVER_ROOT_URL=https://grafana.sunnypai.top/
networks:
- caddy_network
- grafana_network
# ports:
# - '3000:3000'
volumes:
- ./grafana:/var/lib/grafana
pushgateway:
image: prom/pushgateway:v1.10.0
container_name: pushgateway
command: --persistence.file=/pushgateway/pushgateway.data
restart: unless-stopped
networks:
- grafana_network
# ports:
# - 9091:9091
volumes:
- ./pushgateway:/pushgateway
prometheus:
image: prom/prometheus:v3.0.1
container_name: prometheus
command: --config.file=/etc/prometheus/prometheus.yml
user: 0:0
restart: unless-stopped
networks:
- grafana_network
# ports:
# - 9090:9090
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
- ./prometheus/alerts/:/etc/prometheus/rules.d/
- ./prometheus/data/:/prometheus
alertmanager:
image: prom/alertmanager:v0.27.0
container_name: alertmanager
command: --config.file=/etc/alertmanager/alertmanager.yml
networks:
- grafana_network
# ports:
# - 9093:9093
restart: unless-stopped
volumes:
- ./alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml
node-exporter:
image: "prom/node-exporter:v1.3.1"
container_name: node-exporter
# ports:
# - '9100:9100'
volumes:
- /etc/localtime:/etc/localtime:ro
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
- /etc/hostname:/etc/hostname:ro
restart: unless-stopped
networks:
- grafana_network
command:
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
- '--path.rootfs=/rootfs'
cadvisor:
image: gcr.io/cadvisor/cadvisor:v0.45.0
container_name: cadvisor
# ports:
# - "8080:8080"
networks:
- grafana_network
volumes:
- "/:/rootfs:ro"
- "/var/run:/var/run:ro"
- "/sys:/sys:ro"
- "/var/lib/docker/:/var/lib/docker:ro"
- "/dev/disk/:/dev/disk:ro"
privileged: true
devices:
- "/dev/kmsg"
restart: unless-stopped
blackbox-exporter:
image: prom/blackbox-exporter:v0.25.0
container_name: blackbox-exporter
# ports:
# - "9115:9115"
networks:
- grafana_network
volumes:
- "./blackbox:/config"
command:
- "--config.file=/config/blackbox.yml"
restart: unless-stopped
networks:
caddy_network:
external: true
grafana_network:
external: true
容器的作用:
Grafana: 图形化WebUI
Prometheus: 数据源聚合
pushgateway: 边缘节点数据采集
alertmanager: 告警通知
node-exporter: 节点探针
cAdvisor: 容器状态监控
blackbox-exporter: Web服务状态监控
边缘节点相关配置未完待续……