前面文章Prometheus+Grafana性能监控介绍了工具部署、监控linux服务器以及Redis以及MYSQL数据库监控,本篇继续介绍通过上述工具监控Docker容器。
监控docker容器
为了解决docker stats的问题(存储、展示),谷歌开源的cadvisor诞生了,cadvisor不仅可以搜集一台机器上所有运行的容器信息,还提供基础查询界面和http接口,方便其他组件如Prometheus进行数据抓取 cAdvisor可以对节点机器上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况. Cadvisor使用Go语言开发,利用Linux的cgroups获取容器的资源使用信息,在K8S中集成在Kubelet里作为默认启动项,官方标配。
安装并运行cadvisor
使用docker安装,创建 docker-compose_cadvisor.yml
配置文件
cd /opt/docker-compose
touch docker-compose_cadvisor.yml
编辑 docker-compose_cadvisor.yml
配置文件如下:
version: '3.2'
services:
cadvisor:
image: google/cadvisor:latest
container_name: cadvisor
restart: unless-stopped
ports:
- '18080:8080'
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
docker-compose运行docker容器
docker-compose -p cadvisor -f docker-compose_cadvisor.yml up -d
成功后浏览器访问 http://11.12.110.38:18080/containers/


配置Prometheus
prometheus.yml
追加以下内容
- job_name: 'cadvisor'
scrape_interval: 5s
static_configs:
- targets: ['192.168.9.140:18080']
修改配置文件后需重启 prometheus
容器
docker restart CONTAINER ID
成功后如下图

配置Grafana
添加Dashboards,导入模板 https://grafana.com/grafana/dashboards/8321
,并load成功

详细监控页面,可根据需求选择监控时间段

文章转载自知而志学,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





