【发布时间】:2017-01-27 16:54:30
【问题描述】:
我有一个带有以下表达式的触发器:
{amr101:system.run["docker inspect --format='{{.State.Running}}' my-container"].last()}=0
我相信 Zabbix 默认使用远程主机上的 zabbix 用户来执行命令。我已将 zabbix 用户添加到 docker 组,这样 docker 命令可以在没有 sudo 的情况下执行。例如:
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服务器在已经将zabbix用户加入docker组后,无法在远程主机上执行docker命令,直接在远程主机上执行时可以清楚地执行docker命令?
【问题讨论】:
-
命令成功运行是否需要任何环境变量?如果是这样,您必须自己设置它们。