4 Best Practices für Auslöser
Auslöser sind ein leistungsstarkes Werkzeug, können aber auch unerwünschtes Alarmrauschen verursachen. Um mehr echte Signale und weniger Rauschen zu sehen, befolgen Sie diese Tipps:
-
Machen Sie Auslöser unempfindlicher. Statt beim neuesten Wert zu alarmieren (zu hoch/zu niedrig), analysieren Sie den Durchschnitt über einen längeren Zeitraum, indem Sie Funktionen wie
avg,minundmaxverwenden. -
Erwägen Sie die Verwendung der Funktion
percentile(setzen Sie sie auf 95 % oder 5 %) in Auslösern, wenn Sie Warnmeldungen bei zufälligen Spitzen und Einbrüchen vermeiden möchten. -
Verwenden Sie Hysterese, um Flattern von Auslösern zu vermeiden — häufige Änderungen des Auslöserstatus (OK ↔ Problem). Ein Kontinuum für den Problemstatus kann durch Hinzufügen eines Wiederherstellungsausdrucks definiert werden (eine separate Bedingung für die Problembehebung).
-
Verwenden Sie Abhängigkeiten von Auslösern, um Warnmeldungen zu vermeiden, die nicht mit der Grundursache zusammenhängen.
-
Verwenden Sie den Schweregrad von Auslösern, um nur bei schwerwiegenderen Problemen zu alarmieren.
-
Definieren Sie Wartungsfenster.
Hysterese
Manchmal wird ein Intervall zwischen Problem- und Wiederherstellungszuständen benötigt, anstatt eines einfachen Schwellenwerts. Wenn wir zum Beispiel einen Auslöser definieren möchten, der ein Problem meldet, wenn die Temperatur im Serverraum über 20 °C steigt, und wir möchten, dass er im Problemzustand bleibt, bis die Temperatur unter 15 °C fällt, dann reicht ein einfacher Auslöser-Schwellenwert bei 20 °C nicht aus.
Stattdessen müssen wir zunächst einen Auslöser-Ausdruck für das Problemereignis definieren (Temperatur über 20 °C). Dann müssen wir eine zusätzliche Wiederherstellungsbedingung definieren (Temperatur unter 15 °C). Dies geschieht durch das Definieren eines Wiederherstellungsausdrucks beim Konfigurieren eines Auslösers.
In diesem Fall erfolgt die Problembehebung in zwei Schritten:
- Zuerst muss der Problemausdruck (Temperatur über 20 °C) zu FALSE ausgewertet werden
- Danach muss der Wiederherstellungsausdruck (Temperatur unter 15 °C) zu TRUE ausgewertet werden
Der Wiederherstellungsausdruck wird erst ausgewertet, nachdem das Problemereignis behoben wurde. Dass der Wiederherstellungsausdruck allein TRUE ist, behebt ein Problem nicht, wenn der Problemausdruck weiterhin TRUE ist!
Beispiel
Die Temperatur im Serverraum ist zu hoch.
Problemausdruck:
last(/server/temp)>20
Wiederherstellungsausdruck:
last(/server/temp)<=15
Es ist nicht sinnvoll, das Makro {TRIGGER.VALUE} in einem Wiederherstellungsausdruck zu verwenden, da dieser Ausdruck nur ausgewertet wird, wenn sich der Auslöser im Status „Problem“ befindet. Folglich wird {TRIGGER.VALUE} bei der Auswertung des Ausdrucks immer zu „1“ aufgelöst (was auf den Status „Problem“ hinweist).