Dzięki zdalnym poleceniom, można przygotować automatycznie wykonywane na monitorowanych hostach zestawy komend, które zostaną uruchomione po spełnieniu określonych warunków.
Zatem zdalne polecenia stanowią potężny mechanizm inteligentnego pro-aktywnego monitorowania.
Najbardziej oczywistym wykorzystaniem tej funkcjonalności jest próba:
Konfiguracja akcji dla zdalnych poleceń jest podobna do tych dla wysyłania wiadomości, jedyną różnicą jest to, że Zabbix wykona polecenia zamiast wysyłania wiadomości.
Nie jest możliwe wykonanie zdalnych poleceń na agentach Zabbix monitorowanych przez proxy Zabbix, ponieważ do wykonania poleceń z serwera Zabbix wymagane jest bezpośrednie połączenie z agentem.
Polecenia zdalne ograniczone są do 255 znaków. Można wykonać wiele poleceń jedno po drugim, umieszczając je w kolejnych liniach. Polecenia zdalne mogą zawierać makra!
Podręcznik ten krok po kroku pokazuje, w jaki sposób można ustawić polecenia zdalne.
Polecenia zdalne wykonywane na agencie Zabbix agent (własne skrypty) najpierw muszą być włączone w odpowiednim pliku zabbix_agentd.conf.
Należy się upewnić, że parametr EnableRemoteCommands jest ustawiony na 1 i nie jest zakomentowany. Jeżeli zmieniamy ten parametr, należy zrestartować agenta.
Polecenia zdalne nie działają na aktywnych agentach Zabbix.
Następnie, podczas konfigurowania nowej akcji w Konfiguracja→Akcje:
Na przykład:
W tym przypadku, Zabbix spróbuje zrestartować proces Apache. Przy tym poleceniu, należy upewnić się, że komenda wykona się na agencie Zabbix (zaznaczyć odpowiedni przycisk radiowy przy Wykonaj na).
Należy zauważyć, że użyto sudo - domyślnie użytkownik Zabbix nie posiada uprawnień do restartowania usługi. Zobacz poniżej podpowiedzi, jak skonfigurować sudo.
Agent Zabbix powinien działać na zdalnym hoście i akceptować połączenia przychodzące. Agent Zabbix wykonuje polecenia w tle.
Zabbix nie sprawdza, czy polecenie zostało wykonane prawidłowo.
Polecenia zdalne na agencie Zabbix wykonywane są bez opóźnienia z wykorzystaniem klucza system.run[,nowait]. Na serwerze Zabbix zdalne polecenia wykonywane są z opóźnieniem zdefiniowanym w parametrze TrapperTimeout w pliku zabbix_server.conf.
Należy się upewnić, że użytkownik 'zabbix' ma uprawnienia do wykonania skonfigurowanych poleceń. Niektórzy mogą być zainteresowani użyciem sudo do nadania dostępu do uprzywilejowanych poleceń. Żeby skonfigurować dostęp, należy wykonać jako root:
Przykładowe linie, które mogą być użyte w pliku sudoers:
# pozwolenie dla użytkownika 'zabbix' na uruchomienie wszystkich poleceń bez hasła.
zabbix ALL=NOPASSWD: ALL
# pozwolenie dla użytkownika 'zabbix' na restartowanie apache bez hasła.
zabbix ALL=NOPASSWD: /etc/init.d/apache restart
W niektórych systemach plik sudoers zabrania wykonywania komend użytkownikom nie-lokalnym. Żeby to zmienić, należy zakomentować opcję requiretty w /etc/sudoers.
Jeżeli system docelowy ma wiele interfejsów wybranego typu (agent Zabbix lub IPMI), polecenia zdalne będą wykonywane na domyślnym interfejsie.
Restart Windows w określonych warunkach.
Żeby wykonać automatyczny restart Windows po wykryciu problemu przez Zabbix, należy zdefiniować następujące akcje:
PARAMETR | opis |
---|---|
Typ operacji | 'Zdalne polecenie' |
Typ | 'Własny skrypt' |
Polecenie | c:\windows\system32\shutdown.exe -r -f |
Restart hosta przy użyciu IPMI.
PARAMETR | Opis |
---|---|
Typ operacji | 'Zdalne polecenie' |
Typ | 'IPMI' |
Polecenie | reset on |
Wyłączenie hosta przy użyciu IPMI.
PARAMETR | Opis |
---|---|
Typ operacji | 'Zdalne polecenie' |
Typ | 'IPMI' |
Polecenie | power off |