Docker学习22 - Docker容器监控之 CAdvisor+InfluxDB+Granfana
1.原生命令
操作
docker stats命令的结果
问题
通过docker stats命令可以很方便的看到当前宿主机上所有容器的CPU,内存以及网络流量等数据,一般小公司够用了,但是,docker stats统计结果只能是当前宿主机的全部容器,数据资料是实时的,没有地方存储、没有健康指标过线预警等功能
2.概念
容器监控3剑客,一句话:CAdvisor监控收集+InfluxDB存储数据+Granfana展示图表
2.1 CAdvisor
CAdvisor是一个容器资源监控工具,包括容器的内存、CPU、网络IO、磁盘IO等监控,同时提供了一个WEB页面用于查看容器的实时运行状态,CAdvisor默认存储2分钟的数据,而且只是针对单物理机。不过,CAdvisor提供了很多数据集成接口,支持InfluxDB、Redis、Kafka、Elasticssearch等集成,可以加上对应配置将监控数据发往这些数据库存储起来
CAdvisor功能主要有两点
1.展示Host和容器两个层次的监控数据
2.展示历史变化数据
2.2 InfluxDB
2.3 Granfana
2.4 总结
3. compose容器编排
3.1 新建目录
1 | mkdir /mydocker/cig |
3.2 新建3件套组合的 docker-compose.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | version: '3.1' volumes: grafana_data: {} services: influxdb: image: tutum /influxdb :0.9 restart: always environment: - PRE_CREATE_DB=cadvisor ports: - "8083:8083" - "8086:8086" volumes: - . /data/influxdb : /data cadvisor: image: google /cadvisor links: - influxdb:influxsrv command : -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086 restart: always ports: - "8080:8080" volumes: - /: /rootfs :ro - /var/run : /var/run :rw - /sys : /sys :ro - /var/lib/docker/ : /var/lib/docker :ro grafana: user: "104" image: grafana /grafana user: "104" restart: always links: - influxdb:influxsrv ports: - "3000:3000" volumes: - grafana_data: /var/lib/grafana environment: - HTTP_USER=admin - HTTP_PASS=admin - INFLUXDB_HOST=influxsrv - INFLUXDB_PORT=8086 - INFLUXDB_NAME=cadvisor - INFLUXDB_USER=root - INFLUXDB_PASS=root |
3.3 启动docker-compose文件
1 | docker-compose up |
3.4 查看三个服务容器是否启动
3.5 测试
浏览CAdvisor 收集服务,http://ip:8080/
第一次访问慢,请稍等
cadvisor也有基础的图形展现功能,这里主要用它来作数据采集
浏览influxdb 存储服务,http://ip:8083/
浏览grafana 展现服务,http://ip:3000
ip+3000端口的方式访问,默认帐户密码(admin/admin)
3.6 配置步骤
3.6.1 配置数据源
选择influxdb数据源
配置细节
3.6.2 配置面板panel
到这里CAdvisor+InfluxDB+Grafana容器监控系统就部署完成了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)