关于docker的监控,无论开源的CAdvisor、Data Dog还是我自己写的监控(http://dl528888.blog.51cto.com/2382721/1635951),不是通过docker的stats api就是使用socket来进行。
单独看一个主机的监控项还行,比如只查看容器test的cpu、内存还是网络,但如果想批量查看的话,比如查看容器test1-test10的所有监控项或者只是看cpu资源使用比较费劲了,现在我使用zabbix通过docker stats api监控容器资源,然后使用lld技术自动监控,使用zatree进行批量展示监控效果。
不说太多的废话,直接看效果图,满足自己需求在继续深入研究
一、效果图
1、监控容器cpu使用率
<a href="http://s3.51cto.com/wyfs02/M02/6E/50/wKioL1V5Mk7QAmIOAAenNU8dQQw000.jpg" target="_blank"></a>
2、监控容器内存使用量
<a href="http://s3.51cto.com/wyfs02/M00/6E/50/wKioL1V5MpDy-blvAAfWApuzRjo509.jpg" target="_blank"></a>
3、监控容器网络流量值
<a href="http://s3.51cto.com/wyfs02/M01/6E/54/wKiom1V5MSijfouLAAdnk6d8QrM900.jpg" target="_blank"></a>
目前我监控docker就监控这些东西,至于其他的资源个人有需求可以自己写。
下面是如何部署
二、部署
1、环境
我的zabbix是2.0.6,所以想使用我的模板,必须是2.0.x以上的zabbix版本;
docker使用1.6版本,如果想使用我的监控,docker必须大于1.5;
需要安装jq,如何安装参考http://stedolan.github.io/jq/tutorial/
监控客户端里必须安装docker的python 模块
安装的话,可以使用
2、客户端部署
A.在zabbix_agentd.conf最后添加以下内容
B.把下面的脚本放到/usr/local/zabbix/bin里,然后给与755权限,并修改用户与组为zabbix
C.监控内容的json化
下面在是我的json监控docker容器的json展示
脚本内容如下:
把此文件存放到/usr/local/zabbix/bin里,然后给与755权限,并修改用户与组为zabbix,同时允许zabbix用户无密码运行docker
D.重启zabbix服务
3、服务端部署
A、模板导入
把Template Docker Auto Discovery导入到zabbix里(模板在附件),具体操作不介绍。
B.主机关联模板
把需要监控docker容器的主机管理模板即可监控,默认是60秒后自动更新,如下图
<a href="http://s3.51cto.com/wyfs02/M00/6E/54/wKiom1V5NGWD9hryAAIwVd2uBjs619.jpg" target="_blank"></a>
由于在zabbix里监控docker只是为了查看方便,所以报警就没有做,有需求可以自己来修改。
<a href="http://down.51cto.com/data/2365800" target="_blank">附件:http://down.51cto.com/data/2365800</a>
本文转自 dl528888 51CTO博客,原文链接:http://blog.51cto.com/dl528888/1660844,如需转载请自行联系原作者