RSS

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 配置 {#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 模版即可.

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