天天看点

zabbix企业应用之监控docker容器资源情况

关于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,如需转载请自行联系原作者