MON-Hilfe zu Service-Definitionen

Dies ist die zweite und letzte Stufe für die MON-Konfiguration.

Standardwerte werden für die obligatorischen Dienste angezeigt . Weitere Hilfe zu den Service-Definitionen finden Sie im jeweiligen Hilfethema unten.

Stellen Sie für "mail.alert" sicher, dass sendmail konfiguriert ist und "sendmail" -Deamon auf der Hostmaschine gestartet ist.

Service-Definitionen

Service Servicename
Eine Dienstdefinition beginnt mit dem Schlüsselwort service, gefolgt von einem Wort, das das Tag für diesen Dienst ist.

Die Komponenten eines Dienstes sind ein Intervall, ein Monitor und eine oder mehrere Zeitperiodendefinitionen, wie unten definiert.

Wenn in einer Überwachungsgruppe mit dem Namen "dafault" (siehe oben) der Dienstname "default" definiert ist, wird die Standard- / Standarddefinition für die Behandlung unbekannter Mon-Traps verwendet.

Intervall Zeitwert
Das Schlüsselwort Intervall , gefolgt von einem Zeitwert gibt die Häufigkeit , dass ein Monitor Skript ausgelöst. Zeitwerte sind definiert als "30s", "5m", "1h" oder "1d", was 30 Sekunden, 5 Minuten, 1 Stunde oder 1 Tag bedeutet. Der numerische Teil kann ein Bruchteil sein, wie beispielsweise "1,5 h" oder anderthalb Stunden. Dieses Format einer Zeitangabe wird als Zeitwert bezeichnet .

Traptimeout- Zeitwert
Dieses Schlüsselwort nimmt das gleiche Zeitangabe Argument als Intervall, und macht den Service erwartet eine Falle von einer externen Quelle zumindest die häufig, sonst ein Fehler registriert wird. Dies wird für einen Service im Heartbeat-Stil verwendet.

Trapduration Zeitwert
Wenn eine Falle empfangen wird, bleibt der Status des Dienstes, an den die Falle geliefert wurde, normalerweise konstant. Wenn die Trapduration angegeben ist, bleibt der Status des Dienstes für die durch timeval angegebene Dauer in einem Fehlerzustand und wird dann auf "Erfolg" zurückgesetzt.

randskew timeval
Anstatt das Monitor-Skript so zu planen, dass es zu Beginn jedes Intervalls ausgeführt wird, passen Sie das durch den Intervallparameter angegebene Intervall nach dem Zufallsprinzip mit einem Plus- oder Minus- Rand an. Der Versatzwert wird als Intervallparameter angegeben: "30s", "5m" usw. Wenn beispielsweise das Intervall 1m und der Randkeww "5s" beträgt, plant mon das Monitorskript einige Zeit zwischen 55 Sekunden und 65 Sekunden. Ziel ist es, die Last auf dem Server zu verteilen, wenn viele Dienste in denselben Intervallen geplant sind.

Monitor Monitorname [arg ...]
Der Schlüsselwort - Monitor , gefolgt von einem Skriptnamen und Argumenten gibt an dem Monitor zu laufen , wenn der Timer abläuft. Shell-ähnliche Anführungskonventionen werden befolgt, wenn die Argumente angegeben werden, die an das Monitorskript gesendet werden sollen. Das Skript wird aus dem mit dem Argument -s angegebenen Verzeichnis aufgerufen, und alle folgenden Wörter werden als Argumente an das Überwachungsprogramm übergeben, gefolgt von der Liste der Hosts in der Gruppe, auf die die aktuelle Überwachungsgruppe verweist. Wenn die Monitorzeile mit ";;" endet Als separates Wort werden die Hostgruppen beim Aufrufen des Programms nicht an die Argumentliste angehängt.

allow_empty_group
Mit der Option allow_empty_group kann ein Monitor aufgerufen werden, auch wenn die Hostgruppe für diese Überwachung aufgrund deaktivierter Hosts leer ist. Das Standardverhalten besteht darin, den Monitor nicht aufzurufen, wenn alle Hosts in einer Hostgruppe deaktiviert wurden.

Beschreibung Beschreibungstext
Der Text nach der Beschreibung wird von Client-Programmen abgefragt und über eine Umgebungsvariable an Warnungen und Monitore übergeben. Es sollte eine kurze Beschreibung des Dienstes enthalten, die zur Aufnahme in eine E-Mail oder auf einer Webseite geeignet ist.

exclude_hosts host [host ...]
Alle Hosts, die nach exclude_hosts aufgeführt sind, werden von der Serviceprüfung ausgeschlossen.

exclude_period periodspec
Führen Sie während der durch periodspec angegebenen Zeit keinen geplanten Monitor aus.

abhängig von der Abhängigkeit
Die depend Schlüsselwort verwendet wird , eine Abhängigkeit Ausdruck angeben, welche auswertet , um entweder wahr von falsch, im boolean Sinne. Abhängigkeiten sind tatsächliche Perl-Ausdrücke und müssen allen syntaktischen Regeln entsprechen. Die Ausdrücke werden in ihrem eigenen Paketbereich ausgewertet, um nicht versehentlich unerwünschte Nebenwirkungen zu haben. Wenn bei der Auswertung des Ausdrucks ein Syntaxfehler festgestellt wird, wird dieser über syslog protokolliert.

Vor der Auswertung werden die folgenden Ersetzungen für den Ausdruck vorgenommen: Ausdrücke, die wie "Gruppe: Dienst" aussehen, werden durch den Wert des aktuellen Betriebsstatus des angegebenen Dienstes ersetzt. Diese Opstatus-Ersetzungen werden rekursiv berechnet. Wenn also Service A von Service B und Service B von Service C abhängt, hängt Service A von Service C ab. Erfolgreiche Betriebszustände (die mit "1" bewertet werden) sind "STAT_OK", "STAT_COLDSTART" "," STAT_WARMSTART "und" STAT_UNKNOWN ". Das Wort "SELBST" (in Großbuchstaben) kann für die Gruppe verwendet werden (z. B. "SELBST: Dienst") und ist eine Abkürzung für die aktuelle Überwachungsgruppe.

Diese Funktion kann verwendet werden, um Warnungen für Dienste zu steuern, die von anderen Diensten abhängig sind, z. B. einen SMTP-Test, der davon abhängt, ob der Computer per Ping erreichbar ist.

dep_behavior {a | m}
Die Auswertung von Abhängigkeitsgraphen kann die Unterdrückung von Alarm- oder Überwachungsaufrufen steuern.

Alarmunterdrückung . Wenn diese Option auf "a" gesetzt ist, wird der Abhängigkeitsausdruck ausgewertet, nachdem der Monitor für den Dienst beendet wurde oder nachdem ein Trap empfangen wurde. Eine Warnung wird nur gesendet, wenn die Auswertung erfolgreich ist. Dies bedeutet, dass keiner der Knoten im Abhängigkeitsdiagramm einen Fehler anzeigt.

Unterdrückung unterdrücken . Wenn es auf "m" gesetzt ist, wird der Abhängigkeitsausdruck ausgewertet, bevor der Monitor für den Dienst ausgeführt wird. Wenn die Auswertung erfolgreich ist, wird der Monitor ausgeführt. Andernfalls wird der Monitor nicht ausgeführt und der Status des Dienstes bleibt unverändert.

 

Periodendefinitionen

Zeiträume werden verwendet, um die Bedingungen zu definieren, unter denen Warnungen zugestellt werden sollen.

period [label:] periodspec
In einem Zeitraum werden ein oder mehrere Alarme und Variablen zusammengefasst, die steuern, wie oft ein Alarm bei einem Fehler auftritt. Das Schlüsselwort period hat zwei Formen. Das erste Argument basiert auf einer Periodenspezifikation aus Patrick Ryans Modul Time :: Period Perl 5. Weitere Informationen finden Sie unter "perldoc Time :: Period".

Das zweite Formular erfordert ein Etikett, gefolgt von einer Periodenspezifikation, wie oben definiert. Das Label ist ein Tag, das aus einem alphabetischen Zeichen oder Unterstrich besteht, gefolgt von null oder mehr alphanumerischen Zeichen oder Unterstrichen und mit einem Doppelpunkt endet. Dieses Formular ermöglicht mehrere Perioden mit derselben Periodendefinition. Eine Verwendung besteht darin, eine Periodendefinition zu haben, die für einen bestimmten Zeitraum keine Alertafter- oder Alertevery- Parameter enthält, und eine andere für denselben Zeitraum mit einem anderen Satz von Alerts, der diese Parameter enthält.

immer zeitlich
Das Schlüsselwort alertevery (innerhalb einer Periodendefinition ) verwendet denselben Argumenttyp wie die Intervallvariable und begrenzt die Häufigkeit , mit der eine Warnung gesendet wird, wenn der Dienst weiterhin fehlschlägt. Wenn das Intervall beispielsweise "1h" ist, werden nur die Warnungen im Periodenabschnitt nur einmal pro Stunde ausgelöst. Wenn das Schlüsselwort alertevery in einem Periodeneintrag weggelassen wird, wird jedes Mal eine Warnung gesendet, wenn ein Fehler erkannt wird. Wenn sich die Ausgabe von zwei aufeinander folgenden Fehlern ändert, wird standardmäßig das Alarmintervall überschrieben. Wenn das Wort "Zusammenfassung" das letzte Argument ist, werden beim Vergleich der Ausgabe aufeinanderfolgender Fehler nur die Zusammenfassungsausgabezeilen berücksichtigt.

alertafter num

alertafter num timeval
Das alertafter Schlüsselwort (innerhalb eines Zeitraums Abschnitt) hat zwei Formen: nur mit der „num“ -Argument, oder mit den „num timeval“ Argumenten. In der ersten Form wird eine Warnung nur nach "num" aufeinanderfolgenden Fehlern aufgerufen.

In der zweiten Form sind die Argumente eine positive ganze Zahl gefolgt von einem Intervall, wie oben durch das Intervallvariable beschrieben. Wenn diese Parameter angegeben werden, werden die Warnungen für diesen Zeitraum erst aufgerufen, nachdem innerhalb dieses Intervalls viele Fehler aufgetreten sind. Wenn beispielsweise alertafter die Argumente "3 30m" erhält, wird die Warnung aufgerufen, wenn innerhalb von 30 Minuten 3 Fehler auftreten.

numalerts num

Diese Variable weist den Server an, während eines Fehlers nicht mehr als num- Warnungen aufzurufen. Der Alarmzähler wird pro Periode gehalten und bei jedem Erfolg zurückgesetzt.

comp_alerts

Wenn diese Option angegeben ist, werden Upalerts nur aufgerufen, wenn ein entsprechender "Down" -Alarm aufgerufen wurde.

alert alert [arg ...]
Ein Zeitraum kann mehrere Warnungen enthalten, die bei einem Ausfall des Dienstes ausgelöst werden. Ein Alarm wird mit dem Alert - Schlüsselwort angegeben wird , durch einen optionalen Ausgang Parmeter gefolgt, und Argumente , die die gleiche wie die Monitordefinition interpretiert werden, aber ohne die „;;“ Ausnahme. Der Exit- Parameter hat die Form exit = x oder exit = xy und bewirkt, dass die Warnung nur aufgerufen wird, wenn der Exit-Status des Monitorskripts in den Bereich des Exit- Parameters fällt. Wenn die Alarmzeile beispielsweise alert exit = 10-20 mail.alert mis lautet, wird mail-alert nur mit mis als Argument aufgerufen, wenn der Exit-Wert des Überwachungsprogramms zwischen 10 und 20 liegt. Mit dieser Funktion können Sie auslösen Unterschiedliche Warnungen mit unterschiedlichen Schweregraden (z. B. wenn der freie Speicherplatz von 8% auf 3% steigt).

Im Abschnitt ALERTPROGRAMME oben finden Sie eine Liste der Parameter, die mon automatisch an Alarmprogramme weiterleitet.

upalert alert [arg ...]
Ein Upalert ist das Kompliment eines Alarms . Ein Upalert wird aufgerufen, wenn ein Dienst den Statusübergang von Fehler zu Erfolg durchführt. Das Upalert- Skript wird aufgerufen und liefert dieselben Parameter wie das Alert- Skript. Hinzu kommt der Parameter -u , mit dem ein Alert-Skript einfach darüber informiert wird, dass es als Upalert aufgerufen wird. Für jede Periodendefinition können mehrere Upalerts angegeben werden. Bitte beachten Sie, dass das Standardverhalten darin besteht, dass ein Upalert gesendet wird, unabhängig davon, ob zuvor "Down" -Warnungen gesendet wurden, da Upalerts bei einem Statusübergang ausgelöst werden. Stellen Sie die Option comp_alerts pro Periode ein, um Upalerts mit "Down" -Warnungen zu koppeln.

Startalarm Alarm [arg ...]
Ein Startalarm wird nur aufgerufen, wenn der Mon- Server die Ausführung startet.

upalertafter timeval
Der Parameter upalertafter wird als Zeichenfolge angegeben, die der Syntax des Intervallparameters ("30s", "1m" usw.) folgt und das Auslösen eines upalert steuert . Wenn ein Dienst nach einer Ausfallzeit , die größer oder gleich dem Wert dieser Option ist, wieder hochgefahren wird, wird ein Upalert aufgerufen. Verwenden Sie diese Option, um zu verhindern, dass Upalerts aufgrund von "Blips" (kurzen Ausfällen) aufgerufen werden.