しきい値パターン

しきい値ルールは、しきい値パターンによって定義されます。これは、 特定の時間間隔内に選択されたイベントのグループを収集し、各イベントが受信された後、 しきい値条件が満たされたかどうかを判別します。これはステートフル・ルール です。

概説

しきい値パターンは、特定の期間内に、しきい値に達するまで イベントを収集します。期間は、ルール言語の <timeWindow> エレメントによって 定義された、必須の時間枠で指定されます。

しきい値パターンでは、しきい値タイプについて以下の 3 つの オプションが提供されています。
イベント・カウントしきい値
このタイプのしきい値を使用して、特定の期間内でイベント選択基準と 一致する必要のあるイベント数を定義できます。指定された しきい値は、受け入れられたイベントの数と比較されます。 イベント・カウントが時間枠内で定義された制限値と等しくなると、 しきい値に到達したことになります。

このタイプのしきい値は、非常に単純なイベント・カウント・チェックに 便利です。例えば、次のような質問の回答に利用できます。「1 分以内に 5 回の ログイン失敗が発生したか。」

このしきい値は、 <eventCountThreshold> エレメントによって定義されます。また <eventCountThreshold> エレメントでは、 時間枠に対して指定可能な以下の 2 つの時間間隔モードのうち 1 つを 指定します。
固定間隔
固定間隔は、イベント選択基準に一致する最初のイベントを受信したときに始まり、以下のいずれかが発生した時点で終了します。
  • 指定された継続時間内にルールがそのしきい値に達した。
  • 指定された継続時間が経過した。
スライディング間隔
スライディング間隔は、イベント選択基準と一致する最初のイベントを受信したときに始まります。ただし、ルールがしきい値に達することなく指定された継続時間が経過した場合、時間枠の開始時刻は、新規の「最初の」イベント (通常は次に受け入れられるイベント) の受信時刻に調整 (スライド) されます。このようにして、スライディング間隔は、以下のいずれかが発生する時点まで継続して調整されます。
  • 指定された継続時間内にルールがそのしきい値に達した。
  • 時間枠を開始するイベントの受信後、指定された継続時間内に後続のイベントを受信しなかった。
時間枠を開始するイベント (新規の「最初の」イベントとなる) は、「受信時刻をルールの時間間隔の継続時間に追加すると、現行時刻よりも後になる」という基準に一致する受信時刻を持つイベントです。以下に、この基準を式の形式で示します。
イベントの受信時刻 + ルールの時間間隔の継続時間 > 現行時刻
このようなイベントが存在しない場合、スライディング間隔はそれ以上の時間調整が不可能になり、間隔は終了します。
計算しきい値
このタイプのしきい値を使用して、受け入れられた各イベントについて計算を 実行し、事前に定義された変数に保持される計算されたしきい値を戻すコードを 記述 (または他のユーザーによって記述されたコードを使用) することが できます。この計算しきい値は、定義済みしきい値と比較され、 しきい値に達したかどうかが判別されます。

このため、例えば 前のイベントから保管されたデータを使用するなど、複雑な計算を 適用して計算されたしきい値を作成 (または更新) することができ、 ルール・ライターは、計算されたしきい値を計算するロジックとは関係なく 定義済みしきい値を設定できます。

このタイプのしきい値は、値の集約および 定義済みしきい値との比較に便利です。例えば、 特定の期間内の特定のカスタマーに対する売上の合計ドル額を計算し、 その合計額を定義済みしきい値と比較するために 使用できます。

このしきい値は、<computedThreshold> エレメントによって 定義されます。

ブールしきい値
このタイプのしきい値を使用して、受け入れられた各イベントについて true または false の値を戻すコードを記述 (または他のユーザーによって記述されたコードを 使用) することができます。値が true の場合、しきい値に達したことを示します。値が false の場合、しきい値ルールは、期間が終了するまで、 または別のイベントを受け入れるまで処理を継続します。

このタイプの しきい値は、値の範囲のチェックに便利です。例えば、 CPU 使用率を常に 30 % から 80 % の間にする必要がある場合、このしきい値により、 使用率がこの範囲内にあることを常に検証できます。

この しきい値は、<booleanThreshold> エレメントによって定義されます。

ルール応答が実行される条件

しきい値 パターンを使用すると、ルール応答は以下の時点で実行されます。
  • しきい値に達したとき (<onDetection> エレメントで定義)。
  • 1 つ以上のイベントが受け入れられたものの、時間枠内で しきい値に達しなかったとき (<onTimeOut> エレメントで定義)。

このルール・パターンの使用例

イベント・カウント しきい値を使用したしきい値パターンの使用例として、以下を実行する ルールが考えられます。
30 秒のスライディング時間間隔内に同じサブネットワークから Server unreachable イベントが 4 回より多く発行された場合、 ルーターの状況をチェックするためのアクションを実行するルール。
関連資料
しきい値ルールのサマリー