zabbix-docker模版监控异常
问题描述:
为服务器添加监控模版:Docker by Zabbix agent 2
后,问题告警总是提示docker服务下线错误:
Docker: Service is down
解决办法:
# 登录zabbix-server
$ docker exec -it zabbix-server-mysql /bin/bash
# 验证docker.ping
$ zabbix_get -s 192.168.1.2 -k docker.ping
0
# 检查docker.info
$ zabbix_get -s 192.168.1.2 -k docker.info
ZBX_NOTSUPPORTED: Cannot fetch data: Get "http://1.28/info": dial unix /var/run/docker.sock: connect: permission denied.
# 登录到运行docker的主机,检查文件权限:
# 如果docker版本比较老,docker.sock 属于root组
$ docker -v
Docker version 1.13.1, build 7d71120/1.13.1
$ ll /var/run/docker.sock
srw-rw----. 1 root root 0 5月 19 09:36 /var/run/docker.sock
# 如果docker版本比较新,docker.sock属于docker组
$ docker -v
Docker version 17.06.2-ce, build cec0b72
$ ll -h /var/run/docker.sock
srw-rw----. 1 root docker 0 Aug 18 2021 /var/run/docker.sock
# 根据docker.sock归属组,将zabbix用户添加到组root或docker组
usermod -a -G root zabbix
usermod -a -G docker zabbix
# 重启zabbix-agent2服务
systemctl restart zabbix-agent2
# 再次登录zabbix-server
docker exec -it zabbix-server-mysql /bin/bash
# 验证docker服务状态,正常
$ zabbix_get -s 192.168.1.2 -k docker.info
$ zabbix_get -s 192.168.1.2 -k docker.ping
1