用Zabbix监控Docker容器

我有一个触发器,下面的expression式:

{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代理服务。 通常,当您将用户添加到新组时,您需要重新login才能生效。