我有以下表达式的触发器:
{amr101:system.run["docker inspect --format='{{.State.Running}}' my-container"].last()}=0
我相信Zabbix是默认设置,它使用远程主机上的zabbix用户执行命令。我已将zabbix用户添加到docker组,以便可以在没有sudo的情况下执行docker命令。例如:
zabbix@amr101:~$ docker inspect --format='{{.State.Running}}' my-container
true
如您所见,我可以在实际的远程主机上执行命令而不会失败。
但是,当Zabbix服务器尝试执行此操作时;它因错误而失败
Received value [Cannot connect to the Docker daemon. Is the docker daemon running on this host?] is not suitable for value type
我已经让Zabbix服务器在远程主机上执行
id
命令,发现它肯定是在使用zabbix用户来执行其命令。因此,我的问题是;将zabbix用户添加到docker组时,为什么Zabbix服务器无法在远程主机上执行docker命令,并且直接在远程主机上执行时,可以清楚地执行docker命令?
最佳答案
重新启动Zabbix代理服务。通常,将用户添加到新组时,需要重新登录才能生效。
关于docker - 使用Zabbix监控Docker容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41899104/