:::info 演示视频 https://www.bilibili.com/video/BV1UQ4y1U7CS/ :::

架构

222.jpg

二进制部署

  1. # 下载 v0.37.5
  2. # wget https://github.com/google/cadvisor/releases/download/v0.37.5/cadvisor
  3. wget https://gitee.com/haifengat/cadvisor/attach_files/860257/download/cadvisor
  4. # v0.41.0
  5. wget https://gitee.com/haifengat/cadvisor/attach_files/860258/download/cadvisor

服务

  1. chmod a+x ./cadvisor
  2. \cp cadvisor /usr/local/bin/
  3. cat > /usr/lib/systemd/system/cadvisor.service << EOF
  4. [Service]
  5. # 端口 9200
  6. ExecStart=/usr/local/bin/cadvisor -port=9200
  7. [Install]
  8. WantedBy=multi-user.target
  9. [Unit]
  10. Description=cadvisor
  11. After=network.target
  12. EOF
  13. systemctl start cadvisor
  14. systemctl enable cadvisor
  15. systemctl status cadvisor

容器部署

  1. version: "3.7"
  2. services:
  3. cadvisor:
  4. image: google/cadvisor
  5. container_name: cadvisor
  6. restart: always
  7. privileged: true
  8. environment:
  9. TZ: Asia/Shanghai
  10. ports:
  11. - "9200:8080"
  12. volumes:
  13. - /:/rootfs:ro
  14. - /var/run:/var/run:ro
  15. - /sys:/sys:ro
  16. - /var/lib/docker/:/var/lib/docker:ro
  17. - /dev/disk/:/dev/disk:ro
  18. networks:
  19. default:
  20. external:
  21. name: jcbnet

运行

  1. docker-compose up -d

配置 prometheus.yml

vi prom_grafana/prometheus.yml

  1. # scrape_configs: 添加 docker 支持
  2. - job_name: 'cadvisor'
  3. static_configs:
  4. - targets: ['${被监控IP}:9200'] ## cadvisor 的 ip port
  5. labels:
  6. instance: ${标签}
  1. docker restart prom

仪表盘

11600

image.png

10566

image.png