2017-01-27 36 views
2

我有一個觸發以下表達式監視器泊塢容器:用的zabbix

{amr101:system.run["docker inspect --format='{{.State.Running}}' my-container"].last()}=0 

我相信的zabbix,是默認情況下,使用ZABBIX用戶在遠程主機執行命令上。我已經將zabbix用戶添加到docker組中,這樣docker命令可以在沒有sudo的情況下執行。例如:

[email protected]:~$ 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命令?

+0

是否有任何環境變量需要命令才能成功運行?如果是這樣,你將不得不自己設置它們。 – Richlv

回答

1

重新啓動Zabbix代理服務。通常,當您將用戶添加到新組時,您需要重新登錄才能生效。