Schwellenwertmuster

Eine Schwellenwertregel wird durch das Schwellenwertmuster definiert. Es erfasst eine Gruppe ausgewählter Ereignisse in einem Zeitintervall und ermittelt, nachdem alle Ereignisse empfangen wurden, ob eine Schwellenwertbedingung zutrifft. Es ist eine statusabhängige Regel.

Übersicht

Das Schwellenwertmuster erfasst Ereignisse über einen Zeitraum, bis ein Schwellenwert zutrifft. Der Zeitraum wird durch ein verbindliches Zeitfenster angegeben, das im Element <timeWindow> der Regelsprache definiert ist.

Das Schwellenwertmuster stellt die folgenden drei Optionen für den Typ des Schwellenwerts zur Verfügung:
Schwellenwert für Ereigniszähler
Bei diesem Schwellenwerttyp können Sie die Anzahl Ereignisse definieren, die den Auswahlkriterien für Ereignisse in einem gewissen Zeitraum entsprechen müssen. Der definierte Schwellenwert wird mit der Anzahl akzeptierter Ereignisse verglichen. Wenn der Ereigniszähler dem definierten Grenzwert im Zeitfenster entspricht, ist der Schwellenwert erreicht.

Dieser Typ des Schwellenwerts kann zur Überprüfung eines sehr einfachen Ereigniszählers nützlich sein. Z. B. könnte er eine Antwort auf die folgende Frage liefern: "Traten fünf Anmeldefehler in einer Minute auf?"

Dieser Schwellenwert wird durch das Element <eventCountThreshold> definiert. Das Element <eventCountThreshold> gibt auch einen der folgenden beiden möglichen Zeitintervallmodi für das Zeitfenster an:
Festgelegtes Intervall
Ein festgelegtes Intervall beginnt, wenn das erste Ereignis empfangen wird, das die Ereignisauswahlkriterien erfüllt, und endet, wenn eine der folgenden Aussagen eintritt:
  • Der Schwellenwert der Regel wird im angegebenen Zeitraum erreicht.
  • Die angegebene Dauer ist abgelaufen.
Schiebeintervall
Ein Schiebeintervall beginnt, wenn das erste Ereignis empfangen wird, das die Ereignisauswahlkriterien erfüllt. Wenn die Regel ihren Schwellenwert jedoch nicht erreicht hat und die angegebene Dauer abgelaufen ist, passt das Zeitfenster die Anfangszeit an die Ereignisempfangszeit für ein neues "erstes" Ereignis an, das normalerweise das nächste Ereignis ist, das akzeptiert wird. Die Anfangszeit wird somit geschoben. Das Schiebeintervall fährt mit der Anpassung auf diese Weise fort, bis eine der folgenden Situationen eintritt:
  • Der Schwellenwert der Regel wird im angegebenen Zeitraum erreicht.
  • Nachdem das Ereignis empfangen wird, das das Zeitfenster startet, werden innerhalb der angegebenen Dauer keine folgenden Ereignisse empfangen.
Das Ereignis, das das Zeitfenster startet (das neue "erste" Ereignis), ist das Ereignis mit einer Empfangszeit, die die folgende Bedingung erfüllt: Die Empfangszeit, in Addition mit der Zeitintervalldauer für die Regel, ist größer als die aktuelle Uhrzeit. Die Bedingung kann auch in Form einer Gleichung ausgedrückt werden:
ereignisempfangszeit + zeitintervalldauer für regel > aktuelle uhrzeit
Wenn ein solches Ereignis nicht vorhanden ist, kann das Schiebeintervall die Zeit nicht weiter nach vorne schieben, und das Intervall endet.
Berechneter Schwellenwert
Bei diesem Schwellenwerttyp können Sie Code schreiben (oder den Code eines anderen Autors verwenden), der eine Berechnung für jedes akzeptierte Ereignis ausführt und einen berechneten Schwellenwert zurückgibt, der in einer zuvor definierten Variablen gespeichert wird. Dieser berechnete Schwellenwert wird anschließend mit einem definierten Schwellenwert verglichen, um festzustellen, ob der Schwellenwert erreicht wurde.

Deshalb kann eine komplexe Berechnung zum Erstellen (oder Aktualisieren) eines berechneten Schwellenwerts angewendet werden. Möglicherweise werden Daten verwendet, die von vorherigen Ereignissen gespeichert wurden, und der Autor der Regel kann den definierten Schwellenwert unabhängig von der Logik festlegen, die den berechneten Schwellenwert ermittelt.

Dieser Schwellenwerttyp kann für die Zusammenfassung und den Vergleich eines Wertes mit einem definierten Schwellenwert nützlich sein. Sie kann z. B. verwendet werden, um die Summe (in Euro) der Verkäufe an einen bestimmten Kunden über eine gewissen Zeitraum zu berechnen und sie mit einem definierten Schwellenwert zu vergleichen.

Dieser Schwellenwert wird durch das Element <computedThreshold> definiert.

Boolescher Schwellenwert
Bei diesem Schwellenwerttyp können Sie Code schreiben (oder den Code eines anderen Autors verwenden), der den Wert true oder false für jedes akzeptierte Ereignis übergibt. Wenn der Wert true ist, wurde der Schwellenwert erreicht. Wenn der Wert false ist, wird die Schwellenwertregel weiter verarbeitet, bis der Zeitraum überschritten ist oder ein anderes Ereignis akzeptiert wurde.

Dieser Schwellenwerttyp kann zur Überprüfung von Wertebereichen nützlich sein. Wenn die CPU-Auslastung z. B. immer zwischen 30% und 80% liegen muss, kann dieser Schwellenwert ständig prüfen, ob die Auslastung in diesem Bereich liegt.

Dieser Schwellenwert wird durch das Element <booleanThreshold> definiert.

Bedingungen, unter denen die Regelantwort ausgeführt wird

Mit dem Schwellenwertmuster wird die Regelantwort wie folgt ausgeführt:
  • Wenn der Schwellenwert erreicht wurde, der durch das Element <onDetection> definiert ist.
  • Wenn mindestens ein Ereignis akzeptiert wurde, der Schwellenwert im Zeitfenster, das im Element <onTimeOut> definiert ist, aber nicht erreicht wurde.

Verwendungsbeispiel dieses Regelmusters

Ein Verwendungsbeispiel des Schwellenwertmusters mit einem Schwellenwert für Ereigniszähler ist eine Regel, die folgende Aktionen ausführt:
Wenn mehr als vier Ereignisse Server unreachable in einem Schiebeintervall von 30 Sekunden vom selben Teilnetz ausgehen, führt die Regel eine Aktion aus, um den Status eines Routers zu überprüfen.
Zugehörige Verweise
Schwellenwertregel - Zusammenfassung