menu 学习笔记
search self_improvement
目录

Prometheus 监控方案学习笔记(八):使用 Prometheus 监控 Docker 容器( CAdvisor 的安装和配置)

huty
huty 2022年12月02日  ·  阅读 1,043

安装 CAdvisor

Docker Compose 方式

  1. 目录准备
    创建目录:
mkdir -pv /apps/exporter/cadvisor
  1. 编辑 docker-compose.yml 文件
vim /apps/exporter/cadvisor/docker-compose.yml
version: "3"
services:
  cadvisor:
    image: zcube/cadvisor:v0.45.0
    container_name: prometheus-cadvisor
    hostname: cadvisor
    restart: always
    privileged: true
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:rw
      - /sys:/sys:ro
      - /var/lib/docker/:/var/lib/docker:ro
    ports:
      - 8080:8080
networks:
  default:
    external:
      name: prometheus
  1. 配置 docker 网段 prometheus
    检查是否存在 prometheus 网段:
docker network list

若不存在,则创建:

docker network create prometheus --subnet 10.21.22.0/24
  1. 启动 cadvisor 容器
cd /apps/exporter/cadvisor
docker-compose up -d
  1. 检查 cadvisor 容器状态、查看 cadvisor 容器日志
cd /apps/exporter/cadvisor
docker-compose ps
docker-compose logs -f

配置 CAdvisor

配置 Prometheus

  1. 编辑 prometheus.yml 文件
  - job_name: 'demo-docker'
    static_configs:
      - targets: ['127.0.0.1:8080']
  1. 重启 prometheus
cd /apps/prometheus
docker-compose restart
  1. 检查 cadvisor 数据是否正常上报
    访问 Prometheus WebUI 的 targets 页面,检查 job 状态

配置 Grafana 看板

登录 Grafana,导入对应的看板即可。
看板获取地址:https://grafana.com/grafana/dashboards/?dataSource=prometheus&search=docker

注意: 看板导入后需要修改数据源的ID

  • 数据源查看方式: 在 Grafana 中进入 数据源详情 页面,浏览器 URL 的最后一段字符为该数据源的 ID。 如 URL 为 grafana/datasources/edit/6lbJpCb4z 时, 6lbJpCb4z 即为当前数据源的 ID
  • 数据源替换方式: 编辑看板,查看看板的 JSON 数据,替换 datasource 中的 uid

注意事项

若启动 cadvisor 时提示 cadvisor Failed to start container manager: inotify_add_watch /sys/fs/cgroup/cpuacct,cpu: nosuchfile,则执行以下命令,重新挂载 /sys/fs/cgroup

mount -o remount,rw '/sys/fs/cgroup'
sudo  ln -s /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpuacct,cpu

评论已关闭