Verwendung von Makros in Befehlsanweisungen


Makros

Eines der verfügbaren Nagios Features ist die Möglichkeit der Verwendung von Makros in Befehlsanweisungen. Unmittelbar vor der Durchführungsanweisung eines Befehles ersetzt Nagios alle Makros in der Befehlsanweisung mit ihren Inhalten. Dieser Umstand gestattet es mit wenigen generischen Befehlsanweisungen allen Ansprüchen gerecht zu werden.

Gültigkeit von Makros

Obwohl Makros in allen selbstdefinierten Anweisungen verwendet werden können, besitzen nicht alle Makros bei besonderen Befehlsanweisungen "Gültigkeit". So haben beispielsweise einige Makros nur Gültigkeit bei Service Notifications, andere wiederum sind nur gültig im Zusammenhang mit Host Check Anweisungen. Nagios erkennt neun verschiedene Anweisungstypen die unterschiedlich abhandelt werden. Diese sind wie folgt:

  1. Service Checks
  2. Service Notifications
  3. Host Checks
  4. Host Notifications
  5. Service Event Handler und/oder Global Service Event Handler
  6. Host Event Handler und/oder Global Host Event Handler
  7. OCSP Befehlsanweisungen
  8. Service Performance Data Befehlsanweisungen
  9. Host Performance Data Befehlsanweisungen

Die nachfolgende Tabelle führt alle momentan in Nagios verfügbaren Makros an. Gemeinsam mit der jeweiligen Kurzbeschreibung werden auch die Hinweise auf jene Anweisungstypen angeführt, bei denen die Makros Gültigkeit haben. Werden Makros in einer für diese ungültigen Befehlsanweisung verwendet, werden sie durch einen leeren Inhalt ersetzt. Die Namen der Makros bestehen aus Grossbuchstaben und sind von $-Zeichen umschlossen.

Makro Verfügbarkeitsaufstellung

Makro Name Makro Beschreibung Service Checks Service Notifications Host Checks Host Notifications Service Event Handlers & Global Service Event Handler & OCSP Befehls- anweisungen Host Event Handlers & Global Host Event Handler Service Performance Data Befehls- anweisungen Host Performance Data Befehls- anweisungen
$CONTACTNAME$ Kurzname jener Kontaktperson (z.B. "jdoe"), die im Falle eines Host- oder Serviceproblems zu benachrichtigen ist NeinJaNeinJaNeinNeinNeinNein
$CONTACTALIAS$ Langname jener Kontaktperson (z.B. "Johann Doe"), die zu benachrichtigen ist NeinJaNeinJaNeinNeinNeinNein
$CONTACTEMAIL$ eMail Adresse der zu benachrichtigenden Kontaktperson NeinJaNeinJaNeinNeinNeinNein
$CONTACTPAGER$ Pager Nummer/Adresse der zu benachrichtigenden Kontaktperson NeinJaNeinJaNeinNeinNeinNein
$HOSTNAME$ Kurzname des Hostrechners (z.B. "biglinuxbox"). Die Service Notification (Benachrichtigung) bezieht sich auf den mit dem Service im Zusammenhang stehenden Host. NeinJaNeinJaJaJaJaJa
$HOSTALIAS$ Langname oder Beschreibung des Host (z.B. "Grosser Linux Rechner") NeinJaNeinJaJaJaJaJa
$HOSTADDRESS$ Die IP-Adresse des Hostrechners JaJaJaJaJaJaJaJa
$HOSTSTATE$ Der aktuelle Status des Host ("UP", "DOWN", oder "UNREACHABLE") NeinJaNeinJaJaJaJaJa
$ARGn$ Das an die Service Check Anweisung übergebene n.te Argument. Nagios unterstützt bis zu 32 Argument-Makros ($ARG1$ bis $ARG32$). JaNeinNeinNeinNeinNeinNeinNein
$SERVICEDESC$ Langname oder Beschreibung des überwachten Services (z.B. "Main Website") NeinJaNeinNeinJaNeinJaNein
$SERVICESTATE$ Der aktuelle Status des überwachten Service ("WARNING", "UNKNOWN", "CRITICAL", oder "OK") NeinJaNeinNeinJaNeinJaNein
$OUTPUT$ Die Textausgabe des Service- oder Host Check (z.B. "FTP ok - 1 second response time"). For service notifications and event handlers, this will contain the text output from the service check. For host notifications and event handlers, this will contain the text output from the host check. NeinJaNeinJaJaJaJaJa
$PERFDATA$ Dieses Makro beinhaltet alle Performance Daten that may have been returned by the service or host check. NeinJaNeinJaJaJaJaJa
$EXECUTIONTIME$ Anzahl der Sekunden die die Durchführung eines Host- oder Service Check beanspruchte (z.B. the amount of time the check was executing). NeinJaNeinJaJaJaJaJa
$LATENCY$ Anzahl der Sekunden die ein Service Check hinter seiner zeitlich geplanten Durchführung liegt. Beispielsweise wenn eine Durchführung um 03:14:15 geplant war, diese tatsächlich aber erst um 03:14:17 durchgeführt wurde, ergibt dies eine Verzögerung von 2 Sekunden. NeinJaNeinNeinJaNeinJaNein
$NOTIFICATIONTYPE$ Beschreibt den Typ der Benachrichtigung die versendet wurde ("PROBLEM", "RECOVERY", or "ACKNOWLEDGEMENT"). NeinJaNeinJaNeinNeinNeinNein
$NOTIFICATIONNUMBER$ Die aktuelle Nummer der Benachrichtigung für das Service oder den Host. Die Benachrichtigungsnummer wird bei jeder Benachrichtigungsübermittlung jeweils um die Zahl 1 inkrementiert (Ausgenommen davon sind Empfangsbestätigungen). Die Benachrichtigungsnummer wird bei Wiederverfügbarkeit des Host oder des Service auf 0 gesetzt (nachdem die Benachrichtigung über die Wiederverfügbarkeit abgesetzt wurde). Empfangsbestätigungen inkrementieren die Benachrichtigungsnummer nicht. NeinJaNeinJaNeinNeinNeinNein
$DATETIME$ Datum/Uhrzeit (z.B. Fri Oct 13 00:30:28 CDT 2000) NeinJaNeinJaJaJaJaJa
$SHORTDATETIME$ Datum/Uhrzeit (z.B. 10-13-2000 00:30:28) NeinJaNeinJaJaJaJaJa
$DATE$ Datum (z.B. 10-13-2000) NeinJaNeinJaJaJaJaJa
$TIME$ Uhrzeit (z.B. 00:30:28) NeinJaNeinJaJaJaJaJa
$TIMET$ Uhrzeit im time_t Format (Sekunden seit Beginn der UNIX Epoche) NeinJaNeinJaJaJaJaJa
$LASTCHECK$ Uhrzeit im time_t Format (Sekunden seit Beginn der UNIX Epoche) der letzten Service- oder Host Check Durchführung. NeinJaNeinJaJaJaJaJa
$LASTSTATECHANGE$ Uhrzeit im time_t Format (Sekunden seit Beginn der UNIX Epoche) des letzten Service- oder Host Statuswechsel. NeinJaNeinJaJaJaJaJa
$ADMINEMAIL$ eMail Adresse des lokalen Administrators (des Überwachungsrechners) JaJaJaJaJaJaJaJa
$ADMINPAGER$ Pager Nummer/Adresse des lokalen Administrators JaJaJaJaJaJaJaJa
$STATETYPE$ Der Status-Typ des aktuellen Service- oder Host Check ("HARD" oder "SOFT"). Soft-Stati treten auf wenn Service- oder Host Checks wiederholtermaßen kein OK rückliefern. Hard-Stati treten auf wenn Service- oder Host Checks eine definierte maximale Überprüfungsanzahl erreicht haben. Benachrichtigungen werden nur generiert, wenn eine Veränderung im Hard-Status stattgefunden hat. NeinNeinNeinNeinJaJaJaJa
$SERVICEATTEMPT$ Anzahl der aktuellen Service Check Wiederholungen. Wird beispielsweise zum zweiten Mal ein Service überprüft, wird die Zahl 2 ausgegeben. Die Verwendung dieses Wertes ist nur im Zusammenhang mit Service Event Handlern für "Soft"-Stati sinnvoll, die in Abhängigkeit der Anzahl der Wiederholungen spezielle Aktionen durchführen haben. NeinNeinNeinNeinJaNeinJaNein
$HOSTATTEMPT$ Anzahl der aktuellen Host Check Wiederholungen. Wird beispielsweise zum zweiten Mal ein Host überprüft, wird die Zahl 2 ausgegeben. Die Verwendung dieses Wertes ist nur im Zusammenhang mit Host Event Handlern für "Soft"-Stati sinnvoll, die in Abhängigkeit der Anzahl der Wiederholungen spezielle Aktionen durchführen haben. NeinNeinNeinNeinNeinJaNeinJa
$USERn$ Das n.te benutzerdefinierte Makro. Benutzer Makros können in einem oder in mehreren Resource Files definiert werden. Nagios unterstützt bis zu 32 Benutzer Makros ($USER1$ bis $USER32$). JaJaJaJaJaJaJaJa