カスタム閾値

このアラート条件を使用すると、シグナル同士を比較したり、複数の条件を評価したりすることによって、アラートをトリガーできます。

カスタムしきい値を使用すると、シグナル同士の比較や、複数の条件の評価によってアラートをトリガーできます。以下のパターンのいずれかにマッピングするディテクタを作成する場合は、カスタムしきい値を使用します。

  • あるシグナルが別のシグナルの値に基づいて条件を満たした場合にアラートを表示したい

  • 1つのシグナルの値に基づいて、AND演算子とOR演算子を使って複合条件を指定したい

  • 複数のシグナルの値に基づいて、AND演算子とOR演算子を使って複合条件を指定したい

複合条件

[Alert Settings] タブで [Add another condition] を選択すると、AND 演算子と OR 演算子を使用した複合条件を作成できます。合計で 10 個の条件を追加できます。

複合条件を指定する場合、AND 条件は OR 条件より先に適用されます。条件が必要に応じて確実に評価されるように、条件の [Actions] メニュー(⋯)からオプションを選択し、適切な順序に並べ替えることができます。条件の [Actions] メニュー(⋯)から条件を削除することもできます。

注: 複合条件がアラートをトリガーするためには、条件に含まれるすべての値が非Nullである必要があります。

「a AND (b OR c) AND d」や「a AND NOT b」など、このアラート条件がサポートする条件よりも複雑な内容を作成する必要がある場合は、Splunk Observability Cloud API を使用してディテクタを作成できます。

例:単一条件、シグナルの比較

  • 1 分間の cache-misses の数が cache-hits の数を超えた場合にアラートを受信するとします。この場合、監視するシグナルとして cache-misses を、[Alert when] のオプションとして Above を、しきい値として cache-hits を、[Trigger sensitivity] のオプションとして 1 分間の Duration を使用します。

  • 3 つのシグナルがありますが、それぞれが単一の AWS 可用性ゾーンの最大遅延を測定します。過去に 1 つのゾーンで問題が発生しており、そのシグナルが他の 2 つのシグナルの範囲外になったときにアラートを受信したいとします。この場合、トラブルシューティング ゾーンを問題のあるゾーンを監視するシグナルとして、Out of range を [Alert when] のオプションとして、他の 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

AboveBelowOut of RangeWithin Range

なし

Threshold, Lower threshold, Upper threshold

Static value(許容値については「静的しきい値」を参照)または他のシグナル。

Static value は、Out of Range または Within Range の設定を使用するときに、オプションとして使用するように設計されています。たとえばシグナルが、別のシグナルの値と静的な値 80 の間にある場合にアラートを受信するものとします。Above または Below とともに静的な値を使用することは、静的しきい値条件を使用することと同じです。

Trigger sensitivity

ImmediatelyDurationPercent of duration

Immediately を使用すると、閾値に達するとすぐにアラートがトリガーされます。

Duration を使用すると、シグナルがしきい値状態を満たし、その状態が指定された期間(10 分間など) 継続した場合にアラートがトリガーされます。シグナルの上下変動が頻繁に発生するのが一般的な場合は、このオプションを使用するとフラッピングが減少します。このオプションでアラートをトリガーする場合、その期間中にデータポイントの欠落があってはなりません。詳細については、「Duration to trigger an alert」を参照してください。

Percent of duration を使用すると、指定した期間中にしきい値を満たしたデータポイントの数に基づいてアラートがトリガーされます。詳細については、「Duration to trigger an alert」を参照してください。

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] または [Percent of duration] のいずれかのオプションを選択できます。

Duration オプションを使用すると、シグナルがしきい値状態を満たし、その状態が指定された期間(10 分間など) 継続した場合にアラートがトリガーされます。したがって、このオプションを使用すると、Immediately オプションよりも感度が低くなります(トリガーされるアラートが減少する可能性がある)。このオプションを使用すると、受信したすべてのデータポイントがしきい値の条件を満たしていても、データポイントが遅延した、またはその時間範囲内にまったく到着しないという場合、アラートはトリガーされません。遅延または欠落しているデータポイントの詳細については、「Handle delayed or missing data points」を参照してください。

一部のデータポイントが時間通りに到着しない場合でもアラートをトリガーするオプションが必要な場合は、Percent of duration を(100 未満のパーセンテージを指定して)使用します。

Percent of duration オプションを使用すると、期間内にしきい値を満たしたデータポイントの数と、到着が予想されていたデータポイントの数の比に基づいてアラートがトリガーされます。このオプションは、しきい値を満たすデータポイントの割合に基づいてアラートをトリガーするため、一部のデータポイントが時間どおりに到着しなかった場合でもアラートをトリガーすることがあります。したがって、100 未満のパーセンテージでこのオプションを使用すると、Duration オプションよりも感度が高くなります(トリガーされるアラートが増える可能性がある)。

以下の例は、様々な状況でアラートがどのようにトリガーされるかを示したものです。

例1

  • [Trigger Sensitivity] に指定するオプション:[Duration] = 3 分

  • シグナルの解像度:5秒

  • 3 分間に予想されるデータポイント数:12/分 * 3 分(36)

  • アラートをトリガーするまでの異常データポイント数(閾値を満たす必要がある回数):36

    予想されるデータポイントの総数

    受信したデータポイントの総数

    必要な異常データポイント数

    受信した異常データポイント数

    アラートはトリガーされるか?

    36

    36

    36

    36

    はい

    36

    36

    36

    35以下

    いいえ

    36

    35

    36

    35以下

    いいえ

例2

  • [Trigger Sensitivity] に指定するオプション:[Percent of Duration] = 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)の異常なデータポイントは到着していません。したがって、アラートはトリガーされません。指定するパーセンテージは、予想されるデータポイント数に対するパーセンテージを示すものであり、受信データポイント数に対するパーセンテージではありません。