zabbix监控docker
使用Zabbix Agent Docker进行监控
在agent端安装docker执行下面命令
sudo docker run \
--name=docker.zabbix \
--net=host --privileged \
-v /:/rootfs -v /var/run:/var/run \
--restart unless-stopped \
-e "ZA_Server=192.168.1.100" \
-e "ZA_ServerActive=192.168.1.100" \
-d monitoringartist/dockbix-agent-xxl-limited:latest
代码详解:
sudo docker run \
--name=docker-agent \ #这个是容器的名称
--net=host \ #容器可以直接访问主机上所有的网络信息
--privileged \ #容器内的root拥有真正的root权限
-v /:/rootfs \ #这个是对应宿主机的映射盘
-v /var/run:/var/run \
--restart unless-stopped \ #不管退出状态码是什么始终重启容器,不过当daemon启动时,如果容器之前已经为停止状态,不要尝试启动它。
-e "ZA_Server=192.168.1.100" \ #这里就填写zabbix-server的ip地址
-e "ZA_ServerActive=192.168.1.100" \ #这里就填写zabbix-server的ip地址
-d monitoringartist/dockbix-agent-xxl-limited:latest #镜像
但是反馈给我docker: invalid restart policy unless-stopped.
这样的错误信息,原来这台服务器的docker版本较老,而unless-stopped
这个是在1.9.0版本才加入的,所以对于旧版的docker环境需要改成always
。
导入监控docker的模版
在zabbix server上导入监控docker的模版,一共2个模版,下载后解压。模版下载地址: https://dl.cactifans.com/zabbix/Zabbix-Template-App-Docker.tar.gz 。
我们导入Zabbix-Template-App-Docker.xml
这个模版,如图:
链接模板:
查看数据:
如果数据显示不出来
此时可以去zabbix-server这个机器上验证一下是否监控成功,在zabbix-server上执行zabbix_get -s 192.168.1.99 -k docker.discovery
,效果如下:
参考文献:
https://github.com/monitoringartist/zabbix-docker-monitoring