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?
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