Prometheus 监控方案学习笔记(八):使用 Prometheus 监控 Docker 容器( CAdvisor 的安装和配置)
huty
2022年12月02日 · 阅读 1,043
安装 CAdvisor
Docker Compose 方式
- 目录准备
创建目录:
mkdir -pv /apps/exporter/cadvisor
- 编辑 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
- 配置 docker 网段 prometheus
检查是否存在 prometheus 网段:
docker network list
若不存在,则创建:
docker network create prometheus --subnet 10.21.22.0/24
- 启动 cadvisor 容器
cd /apps/exporter/cadvisor
docker-compose up -d
- 检查 cadvisor 容器状态、查看 cadvisor 容器日志
cd /apps/exporter/cadvisor
docker-compose ps
docker-compose logs -f
配置 CAdvisor
配置 Prometheus
- 编辑 prometheus.yml 文件
- job_name: 'demo-docker'
static_configs:
- targets: ['127.0.0.1:8080']
- 重启 prometheus
cd /apps/prometheus
docker-compose restart
- 检查 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
分类:
Prometheus 监控体系
标签:
Prometheus
评论已关闭