使用zabbix监控docker

来源:互联网 发布:淘宝扣24分怎么办 编辑:程序博客网 时间:2024/05/21 08:03

使用zabbix监控docker 
环境:服务端 centos6.5 客户端 ubuntu14.04 
参考博客 http://dl528888.blog.51cto.com/2382721/1660844?utm_source=tuicool&utm_medium=referral

首先在客户端安装docker

可以直接运行命令 
#apt-get install docker.io —->安装版本不是最新 
或者执行下面这条命令安装最新版 
#curl -sSL https://get.docker.io/ | sudo sh 
安装完成后可执行#docker version来查看版本信息

这里由于docker官网连接比较慢,所以使用国内的一个网站https://dashboard.daocloud.io/。可以执行#curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://04be47cf.m.daocloud.io这条命令是上面网站提供的加速服务

从网站上pull一个镜像到本地,可以打开网站的镜像仓库查看想要下载的镜像然后执行 docker pull

比如下载网站提供的2048游戏镜像#docker pull daocloud.io/daocloud/dao-2048:latest

然后可以在本机执行 #docker images查看容器里的镜像

在客户端导入脚本进行监听

在/usr/local/zabbix/bin中新建两个脚本文件(文件地址在本文最后)zabbix_low_discovery.sh 和 zabbix_monitor_docker.py其中zabbix_low_discovery.sh用于获取docker中的容器名,而python脚本用于获取容器内部的各种信息。这里需要下载一个插件来使python脚本能够获得docker的信息运行#pip install docker-py在zabbix_agentd.conf最后添加以下内容UserParameter=zabbix_low_discovery[*],/bin/bash /usr/local/zabbix/bin/zabbix_low_discovery.sh $1UserParameter=docker_stats[*],sudo /usr/local/zabbix/bin/zabbix_monitor_docker.py $1 $2把这两个文件修改用户组并赋予755权限#chown zabbix:zabbix /usr/local/zabbix/bin/zabbix_low_discovery.sh#chown zabbix:zabbix /usr/local/zabbix/bin/zabbix_monitor_docker.py#chmod 755 /usr/local/zabbix/bin/zabbix_low_discovery.sh#chmod 755 /usr/local/zabbix/bin/zabbix_monitor_docker.py修改权限使zabbix用户能无密码访问docker#echo "zabbix ALL=(root) NOPASSWD:/usr/bin/docker, /usr/local/zabbix/bin/zabbix_monitor_docker.py">>/etc/sudoers关闭zabbix服务#ps -ef|grep zabbix|grep -v grep|awk '{print $2}'|xargs kill -9重启zabbix-agent#cd /usr/local/zabbix/sbin#./zabbix_agent

测试脚本运行情况

在客户端运行shell脚本,在脚本后添加docker参数即可#cd /usr/local/zabbix/bin/#./zabbix_low_discovery.sh docker

 
在服务端测试能否获取数据 
#/usr/local/zabbix/bin/zabbix_get -s x.x.x.x -k”zabbix_low_discovery[docker]” 
x.x.x.x为客户端的IP地址,能够获取到和客户端相同的结果证明脚本可执行

测试python脚本#./zabbix_monitor_docker.py 容器名 参数(脚本中有定义,如mem_usage等)


在服务端测试 
# /usr/local/zabbix/bin/zabbix_get -s x.x.x.x -k”zabbix_stats[jovial_franklin,mem_usage]” 
获取数据和客户端相同

模版和脚本

两个脚本和模版可以在我的csdn上传文件中找到http://download.csdn.net/detail/messiademo/9606843

0 0
原创粉丝点击