カスタム閾値 🔗
カスタム閾値を使用すると、シグナル同士を比較したり、複数の条件を評価したりすることで、アラートをトリガーできます。以下のパターンのいずれかにマッピングするディテクターを作成する場合は、カスタム閾値を使用します:
あるシグナルが別のシグナルの値に基づいて条件を満たした場合にアラートを表示したい
1つのシグナルの値に基づいて、AND演算子とOR演算子を使って複合条件を指定したい
複数のシグナルの値に基づいて、AND演算子とOR演算子を使って複合条件を指定したい
複合条件 🔗
「アラート設定」タブで、Add another condition を選択すると、AND演算子とOR演算子を使用した複合条件を作成できます。合計10個の条件を追加できます。
複合条件を指定する場合、AND条件はOR条件の前に適用されます。条件が必要に応じて評価されるようにするには、条件の「アクション」メニュー(⋯)からオプションを選択して、適切な順序に並べることができます。また、条件の「アクション」メニュー(⋯)から条件の削除もできます。
注釈
複合条件がアラートをトリガーするためには、条件に含まれるすべての値が非Nullである必要があります。
If you need to build more complex conditions than this alert condition supports, such as 「a AND (b OR c) AND d」, or 「a AND NOT b」, you can do so by using the Splunk Observability Cloud API to create the detector.
例:単一条件、シグナルの比較 🔗
1分間の
cache-misses
の数がcache-hits
の数より多いときにアラートを受信するとします。この場合、監視するシグナルとしてcache-misses
を、Alert when のオプションとしてAbove
を、閾値としてcache-hits
を、そして、Trigger sensitivity のオプションとして1分間のDuration
を使用します。3つのシグナルがあり、それぞれが1つのAWSアベイラビリティゾーンの最大レイテンシを測定しているとします。過去にゾーンのうちの1つに問題があり、そのシグナルが他の2つのシグナルの範囲外 にある場合にアラートを受け取りたいと考えています。この場合、問題のあるゾーンを監視するシグナルとして使用し、Alert when のオプションとして
Out of range
を使用し、他の2つのシグナルを閾値の下限と上限に使用します。
例:複合条件、単一シグナルの監視 🔗
次の例は、単一のシグナルの監視に複合条件を構築する方法を示しています。
2つのシグナル(AとB)があり、Aは本番環境で使用可能なメモリを測定し、Bは実験環境で使用可能なメモリを測定しているとします。この場合に、以下のようなアラートを受信したいと考えています:
本番環境で使用可能なメモリが実験環境で使用可能なメモリより少ない場合、または
本番環境で使用可能なメモリが50%未満の場合
この場合、1つのシグナル(A、つまり本番環境で使用可能なメモリ)を監視し、以下の条件を設定します:
アラートのタイミング:シグナルAがBより小さい OR
シグナルAが50未満
例:複合条件、複数シグナルの監視 🔗
次の例は、複数のシグナルの監視に複合条件を構築する方法を示しています。
3つのシグナル(A、B、C)があり、それぞれが特定の環境(Aから順に本番環境、実験環境、開発環境)で使用可能なメモリを測定しているものとします。この場合に、以下のようなアラートを受け取りたいと考えています。
本番環境で使用可能なメモリが70%未満の場合、または
実験環境と開発環境の使用可能なメモリが70%未満の場合
この場合、複数のシグナルを監視し、以下の条件を設定します:
アラートのタイミング:シグナルAが70未満 OR
シグナルBが70未満 AND
シグナルCが70未満
注釈
AND条件は常にOR条件の前に評価されます。
あなたの組織では、あるグループがクラスタの健全性の監視を担当し、別のグループが個々のノードの健全性を監視しているとします。この場合に、クラスタ自体が健全でないときには個々のノードのアラートをトリガーしたくないと考えています。
Aをクラスタの健全性のメトリクス、Bをノードの健全性のメトリクスとすると、以下のように2つのディテクターを作成できます:
シグナルAを監視し、Aが健全でないときにアラートをトリガーするディテクターが1つ
複数のシグナルを監視し、以下の条件を持つ別のディテクターが1つ:
アラートのタイミング:Aが健全 AND
Bが健全でない
設定 🔗
パラメータ |
値 |
注意事項 |
---|---|---|
Alert when |
|
なし |
Threshold, Lower threshold, Upper threshold |
|
|
Trigger sensitivity |
|
|
Duration |
>= 1の整数の後に時間を表す指標(s、m、h、d、w)を付す。例:30s、10m、2h、5d、1w |
シグナルが閾値の条件を満たす必要のある期間。指定期間を長くすると感度が低下し、アラートの数が潜在的に少なくなります。 |
Percent of duration |
パーセンテージ:1~100の整数。継続期間:>= 1の整数の後に時間を表す指標(s、m、h、d、w)を付す。例:30s、10m、2h、5d、1w |
指定した期間中に閾値を満たした回数のパーセンテージ。 |
アラートをトリガーするための継続期間 🔗
ご想像の通り、Trigger Sensitivity に Immediately
を選択すると、シグナルが閾値に達するとすぐにアラートがトリガーされます。このオプションは、トリガー感度の3つのオプションの中で最も感度が高いものです(最も多数のアラートをトリガーする可能性があります)。
シグナルの性質によっては、アラートをすぐにトリガーすると フラッピング につながることがあります。このような場合は、他のオプションである 継続期間 または 継続期間のパーセンテージ のいずれかを選択できます。
Duration
オプションを使用すると、シグナルが閾値条件を満たし、指定した期間(例:10分)にわたってその状態を継続した場合にアラートがトリガーされます。したがって、このオプションを使用すると、Immediately
オプションよりも感度は低くなります(アラートのトリガー回数が少なくなる可能性があります)。このオプションを使用すると、たとえ受信したすべてのデータポイントが閾値条件を 満たしていても、指定した期間中にデータポイントが遅延したり、まったく到着しなかったりすれば、アラートはトリガーされません。データポイントの遅延や欠落について、詳細は 遅延または欠落したデータポイントの処理 を参照してください。
一部のデータポイントが時間通りに到着しなくてもアラートをトリガーするオプションが必要な場合は、Percent of duration
を(100未満の値のパーセンテージを指定して)使用します。
Percent of duration
オプションを使用すると、指定した時間窓の間に閾値を満たしたデータポイントの数に基づいてアラートがトリガーされます。このオプションは、閾値を満たしたデータ ポイント数のパーセンテージに基づいてアラートをトリガーするため、一部のデータポイントが時間通りに到着しなかった場合でもアラートをトリガーすることがあります。したがって、100未満のパーセンテージでこのオプションを使用すると、Duration
オプションを使用した場合よりも感度は高くなります(より多くのアラートがトリガーされる可能性があります)。
以下の例は、様々な状況でアラートがどのようにトリガーされるかを示したものです。
例1 🔗
トリガー感度 に指定するオプション:継続期間=3分
シグナルの解像度:5秒
3分間に予想されるデータポイント数:12/分* 3分(36)
アラートをトリガーするまでの異常データポイント数(閾値を満たす必要がある回数):36
予想されるデータポイントの総数
受信したデータポイントの総数
必要な異常データポイント数
受信した異常データポイント数
アラートはトリガーされるか?
36
36
36
36
はい
36
36
36
35以下
いいえ
36
35
36
35以下
いいえ
例2 🔗
トリガー感度 に指定するオプション:継続期間のパーセンテージ=3分の75%
シグナルの解像度:5秒
3分間に予想されるデータポイント数:12/分* 3分(36)
アラートをトリガーするまでの異常データポイント数(閾値を満たす必要がある回数):36の75%(27)
予想されるデータポイントの総数
受信したデータポイントの総数
必要な異常データポイント数
受信した異常データポイント数
アラートはトリガーされるか?
36
36
27
27-36
はい
36
30
27
27-30
はい
36
30
27
26以下
いいえ
上記の後の方の例では、26個の異常データポイントが到着し、26/30が指定した「75%」より大きくても、必要な異常データポイント数(27個)が到着していないことに注意してください。したがって、アラートはトリガーされません。指定するパーセンテージは、予想 データポイント数に対するパーセンテージを示すものであり、受信 データポイント数に対するパーセンテージではありません。