Externe Befehle


Einleitung

Nagios kann Befehle von externen Applikationen (z.B. CGIs) verarbeiten und so während dem Betrieb gewisse Aspekte der Überwachung verändern, falls Nagios dazu einen entsprechenden Befehl erhält.

Aktivierung externer Befehle

Als Standard verarbeitet Nagios keine externe Befehle. Falls man die Verarbeitung externer Befehle aktivieren will, muss man dieses per Hand tun, indem man...

Wann schaut Nagios nach neuen externen Befehlen?

Externe Befehle benutzen

Externe Befehle können benutzt werden, um eine Vielzahl von Dingen zu ermöglichen, während Nagios läuft. Z.B. können so temporär Benachrichtigungen für Dienste und Hosts, Dienst-Überprüfungen deaktiviert werden oder sofortige Überprüfungen angeordnet und Kommentare zu Hosts und Diensten hinzugefügt werden.

Beispiele externer Befehle

Einige Beispiel-Skripte für externe Befehle kann man in dem eventhandlers/-Unterverzeichnis der Nagios Distribution finden. Diese müssen u.U. für die entsprechenden Syntaxe der Befehle oder der Verzeichnisse angepasst werden.

Befehls-Formatierung

Externe Befehle, die in die externe Befehlsdatei geschrieben werden, müssen das folgende Format haben:

[zeit] befehls_id;befehls_argumente

...bei dem zeit die aktuelle Zeit (im time_t-Format) ist, zur der die externe Applikation oder das CGI den Befehl an die externe Befehlsdatei übermittelt haben. Einige der Befehle, die für externe Befehle zur Verfügung stehen, werden nachstehend zusammen mit ihrer befehls_id und den entsprechenden befehls_argumenten beschrieben.

Implementierte Befehle

Dies ist eine Beschreibung einiger der externen Befehle, die bisher in Nagios implementiert wurden. Man beachte, das alle Zeit-Argumente im time_t-Format (Sekunden seit der UNIX epoch) angegeben werden müssen.

Befehls ID Befehls Argumente Befehls Beschreibung
ADD_HOST_COMMENT <host_name>;<persistent>;<author>;<kommentar> Dieser Befehl wird benutzt, um dem angegebenen Host einen Kommentar hinzuzufügen. Das author-Argument enthält im allgemeinen den Namen der Person, die den Befehl ausgeführt hat. Der aktuelle Kommentar sollte keine Semikolons enthalten. Das "persistent-flag" gibt an, ob ein Kommentar über Neustarts von Nagios hinweg bestehen soll oder nicht (1=speichere Kommentar über Neustarts hinweg, 0=lösche Kommentar beim Neustart).
ADD_SVC_COMMENT <host_name>;<dienst_beschreibung>;<persistent>;<author>;<kommentar> Dieser Befehl wird benutzt, um dem angegebenem Dienst einen Kommentar hinzuzufügen. Man beachte, das sowohl der Hostname als auch die Dienstbeschreibung benötigt werden. Das author-Argument enthält im allgemeinen den Namen der Person, die den Befehl ausgeführt hat. Der aktuelle Kommentar sollte keine Semikolons enthalten. Das "persistent-flag" gibt an, ob ein Kommentar über Neustarts von Nagios hinweg bestehen soll oder nicht (1=speichere Kommentar über Neustarts hinweg, 0=lösche Kommentar beim Neustart).
DEL_HOST_COMMENT <kommentar_id> Dieser Befehl löscht den zu der angegebenen ID entsprechenden Kommentar für einen Host.
DEL_ALL_HOST_COMMENTS <host_name> Dieser Befehl löscht alle Kommentare, die zu einem entsprechenden Host gehören.
DEL_SVC_COMMENT <kommentar_id> Dieser Befehl löscht den zu der angegebenen ID entsprechenden Kommentar für einen Dienst.
DEL_ALL_SVC_COMMENTS <host_name>;<dienst_beschreibung> Dieser Befehl löscht alle Kommentare, die zu dem angegebenen Dienst gehören. Man beachte, das sowohl der Hostname als auch die Dienst-Beschreibung benötigt werden.
DELAY_HOST_NOTIFICATION <host_name>;<naechste_benachrichtigungs_zeit> Dieser Befehl verzögert die nächsten Benachrichtigungen für diesen Host bis zu dem Zeitpunkt, der mit dem naechste_benachrichtigungs_zeit-Argument angegeben wurde.
DELAY_SVC_NOTIFICATION <host_name>;<dienst_beschreibung>;<naechste_benachrichtigungs_zeit> Dieser Befehl verzögert die nächsten Benachrichtigungen für diesen Dienst des angegebenen Hosts, bis zu dem Zeitpunkt, der mit dem naechste_benachrichtigungs_zeit-Argument angegeben wurde. Man beachte, das sowohl der Hostname als auch die Dienst-Beschreibung benötigt werden. Dieser Befehl hat keinen Effekt auf Benachrichtigungen für diesen Host.
SCHEDULE_SVC_CHECK <host_name>;<dienst_beschreibung>;<naechste_überprüfungs_zeit> Dieser Befehl plant die nächste Dienst-Überprüfung zu dem, durch das next_check_time-Argument angegebenen, Zeitpunkt. Man beachte, das sowohl der Hostname als auch die Dienst-Beschreibung benötigt werden.
SCHEDULE_HOST_SVC_CHECKS <host_name><naechste_überprüfungs_zeit> Dieser Befehl plant die Überprüfung aller Dienste des angegebenen Hosts für den, durch das naechste_überprüfungs_zeit-Argument angegebenen, Zeipunkt.
ENABLE_SVC_CHECK <host_name>;<dienst_beschreibung> Dieser Befehl (re-)aktiviert die Überprüfung des angegebenen Dienstes. Man beachte, das sowohl der Hostname als auch die Dienst-Beschreibung benötigt werden.
DISABLE_SVC_CHECK <host_name>;<dienst_beschreibung> Dieser Befehl deaktiviert temporär die Überprüfung des angegebenen Dienstes. Dienst-Überprüfungen werden automatisch wieder aktiviert, wenn Nagios neu gestartet wird. Die Benutzung dieses Befehls hat allerdings auch den Nebeneffekt, dass für diesen Dienst keine Benachrichtigungen mehr versandt werden. Er verhindert aber nicht, dass Benachrichtigungen für den korrespondierenden Host versandt werden. Man beachte, das sowohl der Hostname als auch die Dienst-Beschreibung benötigt werden.
ENABLE_SVC_NOTIFICATIONS <host_name>;<dienst_beschreibung> Dieser Befehl wird benutzt, um Benachrichtigungen für den angegebenen Dienst zu (re-)aktivieren. Man beachte, das sowohl der Hostname als auch die Dienst-Beschreibung benötigt werden.
DISABLE_SVC_NOTIFICATIONS <host_name>;<dienst_beschreibung> Dieser Befehl deaktiviert temporär Benachrichtigungen für den angegebenen Dienst. Benachrichtigungen werden automatisch wieder aktiviert, wenn Nagios neu gestartet wird. Man beachte, das sowohl der Hostname als auch die Dienst-Beschreibung benötigt werden. Der Befehl deaktiviert nicht die Benachrichtigungen für einen Host.
ENABLE_HOST_SVC_NOTIFICATIONS <host_name> Dieser Befehl (re-)aktivert die Benachrichtigungen für alle Dienste des angegebenen Hosts. Dieser Befehl aktiviert nicht die Benachrichtigungen für den Host.
DISABLE_HOST_SVC_NOTIFICATIONS <host_name> Dieser Befehl deaktiviert temporär die Benachrichtigungen für alle Dienste des angegebenen Hosts. Dieser Befehl deaktiviert nicht die Benachrichtigungen für den Host.
ENABLE_HOST_SVC_CHECKS <host_name> Dieser Befehl (re-)aktiviert die Überprüfung für alle Dienste des angegebenen Hosts. Falls einer oder mehrere Dienste ein einem nicht-OK-Status waren, als sie deaktiviert wurden, werden die Kontakte für diese Dienste Benachrichtigungen erhalten, wenn der oder die Dienst(e) zurückkehrt, nachdem die Überprüfungen wieder aktiviert wurden.
DISABLE_HOST_SVC_CHECKS <host_name> Dieser Befehl deaktiviert temporär die Überprüfung aller Dienste des angegebenen Hosts. Dienst- Überprüfungen werden automatisch wieder aktiviert, wenn Nagios neu gestartet wird. Dieser Befehl hat aber den Nebeneffekt, das auch die Benachrichtigungen für alle der betroffenen Dienste nicht mehr ausgesandt werden. Er hat allerdings keinen Einfluss auf die Benachrichtigungen des Hosts.
ENABLE_HOST_NOTIFICATIONS <host_name> Dieser Befehl (re-)aktiviert alle Benachrichtigungen für den entsprechenden Host. Man beachte, dass dies keinen Effekt auf die Benachrichtigung der Dienste des angegebenen Hosts hat.
DISABLE_HOST_NOTIFICATIONS <host_name> Dieser Befehl deaktiviert temporär alle Benachrichtigungen für diesen Host. Benachrichtigungen werden automatisch wieder aktiviert, wenn Nagios neu gestartet wird. Man beachte, das dies nicht die Benachrichtigungen für die mit dem Host verknüpften Dienste deaktiviert.
ENABLE_ALL_NOTIFICATIONS_BEYOND_HOST <host_name> Dieser Befehl aktiviert die Benachrichtigungen für alle Hosts und Dienste "hinter" dem durch das host_name-Argument angegebenen Host (aus der Sicht von Nagios). Dieser Befehl wird oft in Verbindung mit redundanten Überwachungs-Hosts verwendet.
DISABLE_ALL_NOTIFICATIONS_BEYOND_HOST <host_name> Dieser Befehl deaktiviert die Benachrichtigungen für alle Hosts und Dienste "hinter" dem durch das host_name-Argument angegebenen Host (aus der Sicht von Nagios). Dieser Befehl wird oft in Verbindung mit redundanten Überwachungs-Hosts verwendet. Benachrichtigungen werden automatisch wieder aktiviert, wenn Nagios neu gestartet wird.
ENABLE_NOTIFICATIONS <ausfuehrungs_zeit> Dieser Befehl aktiviert Host- und Dienst-Benachrichtigungen auf einer programmweiten Basis zu dem durch das ausfuehrungs_zeit-Argument angegebenen Zeitpunkt.
DISABLE_NOTIFICATIONS <ausfuehrungs_zeit> Dieser Befehl deaktiviert Host- und Dienst-Benachrichtigungen auf einer programmweiten Basis zu dem durch das ausfuehrungs_zeit-Argument angegebenen Zeitpunkt.
SHUTDOWN_PROGRAM <ausfuehrungs_zeit> Dieser Befehl hält den Nagios-Prozess zu dem durch das ausfuehrungs_zeit-Argument angegebenen Zeitpunkt an. Hinweis: Nagios kann nicht über das Web-Interface neu gestartet werden, nachdem es beendet wurde.
RESTART_PROGRAM <ausfuehrungs_zeit> Durch diesen Befehl wird Nagios neu gestartet, d.h. das Programm liest alle Konfigurationsdateien neu ein und fängt die Überwachung zu dem durch das ausfuehrungs_zeit-Argument angegebenen Zeitpunkt neu an.
PROCESS_SERVICE_CHECK_RESULT <host_name>;<dienst_beschreibung>;<return_code>;<plugin_output> Dieser Befehl wird benutzt, um Überprüfungs-Ergebnisse für einen entsprechenden Dienst an Nagios zu übermitteln. Solche "passiven" Überprüfungen werden anschliessend wie normale "aktive" Überprüfungen verarbeitet. Weitere Informationen über passive Dienst-Überprüfungen kann man hier finden.
SAVE_STATE_INFORMATION <ausfuehrungs_zeit> Dieser Befehl zwingt Nagios alle Status-Informationen für alle Dienste und Hosts in die, durch die state_retention_file-Variable angegebenen, Datei zu schreiben. Man muss die retain_state_information-Option aktivieren, damit dieser Befehl funktioniert..
READ_STATE_INFORMATION <ausfuehrungs_zeit> Dieser Befehl zwingt Nagios die zuvor gespeicherten Status-Informationen für alle Dienste und Hosts aus der, durch die state_retention_file-Variable angegebenen Datei zu lesen. Man muss die retain_state_information-Option aktivieren, damit dieser Befehl funktioniert..
START_EXECUTING_SVC_CHECKS Dieser Befehl lässt Nagios mit der Ausführung von Dienst-Überprüfungen fortfahren, falls die Ausführung von Dienst-Überprüfung vorher mit dem STOP_EXECUTING_SVC_CHECKS-Befehl oder durch das setzen der execute_service_checks-Option auf 0 unterbrochen wurde. Dieser Befehl wird vor allem für redundante Überwachungs-Server benötigt.
STOP_EXECUTING_SVC_CHECKS Dieser Befehl wird benutzt um Nagios keine weiteren Überprüfungen mehr ausführen zu lassen. Wenn Dienst-Überprüfungen nicht mehr ausgeführt werden, wird Nagios zwar Überprüfungen für spätere Zeitpunkt einplanen, wird aber keine Überprüfungen ausführen. Dieses setzt Nagios in einen "Ruhezustand", jedenfalls was die Überwachung angeht. Dieser Befehl wird vor allem für redundante Überwachungs-Server benötigt.
START_ACCEPTING_PASSIVE_SVC_CHECKS Dieser Befehl wird genutzt, damit Nagios wieder für alle Dienste passive Dienst-Überprüfungen akzeptiert. Das Akzeptieren von passiven Dienst-Überprüfungen kann z.B. zu einem vorherigen Zeitpunkt entweder durch den STOP_ACCEPTING_PASSIVE_SVC_CHECKS-Befehl oder durch das setzen der accept_passive_service_checks-Option deaktiviert worden sein. Wenn passive Dienst-Überprüfungen mit dem DISABLE_PASSIVE_SVC_CHECKS-Befehl für einen spezifischen Dienst deaktiviert wurden, werden diese auch weiterhin nicht für diesen Dienst akzeptiert, aber für alle anderen Dienste.
STOP_ACCEPTING_PASSIVE_SVC_CHECKS Dieser Befehl unterbindet die Akzeptierung von passiven Dienst-Überprüfungen für alle Dienste.
ENABLE_PASSIVE_SVC_CHECKS <host_name>;<dienst_beschreibung> Mit diesem Befehl akzeptiert Nagios wieder passive service checks für einen spezifischen Dienst, da dies evtl. vorher durch den DISABLE_PASSIVE_SVC_CHECKS-Befehl deaktiviert worden ist. Falls passive Überprüfungen für alle Dienste durch den STOP_ACCEPTING_PASSIVE_SVC_CHECKS-Befehl oder durch das Setzen der accept_passive_service_checks-Option in der Haupt-Konfigurationsdatei deaktiviert worden sind, werden passive Überprüfungen für diese Dienste nicht wieder aktiviert.
DISABLE_PASSIVE_SVC_CHECKS <host_name>;<dienst_beschreibung> Dieser Befehl wird benutzt, um die Akzeptierung von passiven Dienst-Überprüfungen für einen spezifischen Dienst zu deaktivieren.