使用 Zabbix 监控 Docker 个容器
Monitor Docker container with Zabbix
我有一个具有以下表达式的触发器:
{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 server 无法在远程主机上执行docker命令,而zabbix用户已经添加到docker组,直接在远程主机上执行时可以清楚地执行docker命令?
重新启动 Zabbix 代理服务。通常当您将用户添加到新组时,您需要 re-login 才能生效。
我有一个具有以下表达式的触发器:
{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 server 无法在远程主机上执行docker命令,而zabbix用户已经添加到docker组,直接在远程主机上执行时可以清楚地执行docker命令?
重新启动 Zabbix 代理服务。通常当您将用户添加到新组时,您需要 re-login 才能生效。