2017-01-27 4 views
2

ich einen Trigger mit dem folgenden Ausdruck haben:Monitor-Docker Behälter mit Zabbix

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

Ich glaube, dass Zabbix, Verzug, verwendet die zabbix Benutzer auf dem Remote-Host-Befehle auszuführen. Ich habe den Zabbix-Benutzer zur Docker-Gruppe hinzugefügt, so dass Docker-Befehle ohne Sudo ausgeführt werden können. Zum Beispiel:

[email protected]:~$ docker inspect --format='{{.State.Running}}' my-container 
true 

Wie Sie sehen können, kann ich den Befehl ohne Fehler auf dem tatsächlichen Remote-Host ausgeführt werden.

Wenn jedoch der Zabbix-Server es versucht; es schlägt mit dem Fehler

Received value [Cannot connect to the Docker daemon. Is the docker daemon running on this host?] is not suitable for value type 

ich den Zabbix-Server habe den id Befehl auf dem Remote-Host ausgeführt werden und festgestellt, dass es auf jeden Fall der zabbix Benutzer es Befehle auszuführen verwendet.

Meine Frage ist daher; Warum kann der Zabbix-Server docker-Befehle nicht auf dem Remote-Host ausführen, wenn der zabbix-Benutzer der Andockgruppe hinzugefügt wurde und Docker-Befehle bei der Ausführung direkt auf dem Remote-Host eindeutig ausgeführt werden können?

+0

Gibt es irgendwelche Umgebungsvariablen, die für die erfolgreiche Ausführung des Befehls benötigt werden? Wenn ja, müssen Sie sie selbst einstellen. – Richlv

Antwort

1

Starten Sie den Zabbix Agent-Dienst neu. Wenn Sie einen Benutzer einer neuen Gruppe hinzufügen, müssen Sie sich normalerweise erneut anmelden, damit er wirksam wird.