12月 112017
 

以前使用cadvisor监控Docker容器状态,最近看到可以使用Zabbix Module的方式,通过部署一个zabbix agent的docker容器来监控宿主机器和宿主机器上docker的状态。原文可在https://github.com/monitoringartist/zabbix-docker-monitoring查看,我只是搬运工。

 

1.客户端配置

在需要监控的宿主机器上运行运行Agent容器

docker run \
  --name=dockbix-agent-xxl \
  --net=host \
  --privileged \
  -v /:/rootfs \
  -v /var/run:/var/run \
  --restart unless-stopped \
  -e "ZA_Server=192.168.0.252" \
  -e "ZA_ServerActive=192.168.0.252" \
  -d hub.c.163.com/canghai809/dockbix-agent-xxl-limited:latest

192.168.0.252为已经安装好的zabbix server的ip地址。具体根据自身情况修改,最好填写IP地址。由于Docker官方的hub在国内下载较慢,我已同步到网易蜂巢镜像,提供多个版本主要为Zabbix Agent版本区别和Dockbix版本区别。

Agent 镜像(latest版本为Zabbix Agent 3.4版本+Dockbix V3版本,推荐使用)

docker pull hub.c.163.com/canghai809/dockbix-agent-xxl-limited:latest
docker pull hub.c.163.com/canghai809/dockbix-agent-xxl-limited:3.2-2
docker pull hub.c.163.com/canghai809/dockbix-agent-xxl-limited:3.2-1

运行之后,使用

docker logs -f xxxxx

xxxx为刚运行容器的id。查看日志,确认运行正常。

2.Zabbix Server配置

在zabbix server上导入监控docker的模版,一共2个模版,下载后解压
模版下载地址:
https://dl.cactifans.com/zabbix/Zabbix-Template-App-Docker.tar.gz
我使用主动模式,因此导入Zabbix-Template-App-Docker-active.xml 这个模版

模板名称 备注
Zabbix-Template-App-Docker-active.xml 主动模式模版
Zabbix-Template-App-Docker.xml 被动模式模版

在zabbix server里添加主机

这里的机器名为使用hostname命令查到的机器名。关联Linux OS 模版和Zabbix-Template-App-Docker-active

 

大概10分钟左右就可以看到监控效果

目前监控指标比较基本。提供了其余的监控指标,可以在查看https://github.com/monitoringartist/zabbix-docker-monitoring/blob/master/README.md

基本架构

3.扩展

如果不想使用Agent的Dcoker镜像来监控,可以直接在Agent上通过加载Zabbix Module的方式监控,添加模版即可。
Zabbix Docker module下载

OS Module for Zabbix 3.4 Module for Zabbix 3.2 Module for Zabbix 3.0
CentOS 7 Download Download Download
CentOS 6 Download Download Download

下载对应的版本之后,在Agent配置文件里添加载模块

LoadModulePath=/usr/local/lib/zabbix/agent/
LoadModule=zabbix_module_docker.so

注意模块路径,按照自己的实际路径修改。并重启agent,之后在zabbix里添加主机,关联docker模版即可.

如果觉得我的文章对您有用,请关注我的公众号,有更多干货!

 

打赏
 Posted by at 下午 4:53

  3 Responses to “Zabbix监控Docker”

  1. 这个模板我用在乌班图上面好用,用在centos7上面容器起不来,日志报这个remove /lib/x86_64-linux-gnu//security: directory not empty 错误,这个问题您有好的解决方案吗

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)