Zabbix监控Docker
以前使用 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 | 被动模式模版 |
这里的机器名为使用 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 模版即可.
如果觉得我的文章对您有用,请关注我的公众号,有更多干货!