:::info 演示视频 https://www.bilibili.com/video/BV1UQ4y1U7CS/ :::
架构
二进制部署
# 下载 v0.37.5
# wget https://github.com/google/cadvisor/releases/download/v0.37.5/cadvisor
wget https://gitee.com/haifengat/cadvisor/attach_files/860257/download/cadvisor
# v0.41.0
wget https://gitee.com/haifengat/cadvisor/attach_files/860258/download/cadvisor
服务
chmod a+x ./cadvisor
\cp cadvisor /usr/local/bin/
cat > /usr/lib/systemd/system/cadvisor.service << EOF
[Service]
# 端口 9200
ExecStart=/usr/local/bin/cadvisor -port=9200
[Install]
WantedBy=multi-user.target
[Unit]
Description=cadvisor
After=network.target
EOF
systemctl start cadvisor
systemctl enable cadvisor
systemctl status cadvisor
容器部署
version: "3.7"
services:
cadvisor:
image: google/cadvisor
container_name: cadvisor
restart: always
privileged: true
environment:
TZ: Asia/Shanghai
ports:
- "9200:8080"
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
- /dev/disk/:/dev/disk:ro
networks:
default:
external:
name: jcbnet
运行
docker-compose up -d
配置 prometheus.yml
vi prom_grafana/prometheus.yml
# scrape_configs: 添加 docker 支持
- job_name: 'cadvisor'
static_configs:
- targets: ['${被监控IP}:9200'] ## cadvisor 的 ip port
labels:
instance: ${标签}
docker restart prom