誤ったアラートを発するディテクタのトラブルシューティング

この Splunk のアラートおよびディテクタの例では、ディテクタのトラブルシューティングと正確なデータの維持の方法を説明します。

Buttercup Games のサイト信頼性エンジニアである Kai は、新しいディテクタを作成しており、サーバーの遅延が260 ミリ秒を超えるたびにアラートを受信したいと考えています。260 ミリ秒未満の遅延は正常なサービスと見なしているため、遅延がそのしきい値を超えたときにアラートを受け取りたいと考えています。

過剰なアラートを減らす

Kaiは、以下の手順で、レイテンシをレポートするディテクターを作成します:

  1. Detectors & SLOs ページで、New Detector を選択します。

  2. Infrastructure or Custom Metrics Alert Rule を選択します。

  3. アラートを発したいシグナル、つまり latency を入力します。

  4. Static Threshold のアラート条件を選択します。

  5. Alert settings タブで、「260ミリ秒」の閾値を入力します。

プレビューディテクターで、Kaiはこのアラート条件が非常に多くのアラートをトリガーすることに気が付きます:

この画像は、1日に数千件のアラートをトリガーすると予想されるプレビューディテクターを示しています。

[Detail View] でデータのネイティブ解像度を見て、Kai は遅延の一時的な増加によりアラートがトリガーされていることに気付きます。Kai は、大きな遅延が長期間にわたって続く場合(たとえば、遅延が少なくとも 1 分間、260 ミリ秒を超える場合)にのみアラートをトリガーしたいと考えています。

Kaiは、以下の手順でディテクターを修正します:

  1. Alert settings メニューで、Trigger sensitivity を選択します。

  2. Duration を選択します。

  3. [Duration] ボックスで、「1m」と入力します。

このディテクタは、すべてのデータポイントの遅延が 1 分間にわたって 260 ミリ秒を超える場合にのみアラートをトリガーします。このアラート条件によって、Kai が受信するアラートの数が減ります。

この画像は、1日にトリガーされたアラートが0個のプレビューディテクターを示しています。

欠落したアラートのトラブルシューティング

ディテクターを作成した後、Kaiは、ディテクターがアラートを発するはずのタイミングでアラートを発していないことに気づきます。

Kai は、いくつかのデータポイントがプレビューに表示されていないことに気づきました。アラートをトリガーするためには、すべてのデータポイントが時間通りに到着し、1 分間にわたってしきい値を超える必要があります。

データポイントの欠落の問題を修正するためには3つのオプションがあります:

  • 外挿ポリシーを変更する

  • メトリクスに集計を適用する

  • 継続期間のパーセンテージを使用する

外挿ポリシーを変更する

Kai は、データポイントの欠落を考慮に入れるために、データの外挿ポリシーを変更することができます。以下の手順を実行します。

  1. ディテクターメニューで、Alert signal を選択します。

  2. レイテンシシグナルの設定アイコンを選択します。

  3. Advanced Options で、Extrapolation Policy を選択します。

  4. Last Value を選択します。

Kai のメトリックは、期待されたデータポイントが時間通りに到着しないときはいつでも、最後に受信したデータポイントをレポートするようになりました。

Kaiは新しい外挿ポリシーのプレビューディテクターを確認します:

この画像は、最後の値の外挿ポリシーでサーバーレイテンシ値を表示するプレビューディテクターを示しています。
注: Last Value は、偶発的に欠落するデータポイントを処理するのに便利ですが、データポイントに欠落が多い場合は、多くのデータポイントが外挿されると、不要なアラートを発してしまう可能性があります。

メトリクスに集計を適用する

Kai は、メトリック分析を調整することにより、メトリックのレポート方法を変更することができます。以下の手順を実行します。

  1. ディテクターメニューで、Alert signal を選択します。

  2. レイテンシシグナルに Add Analytics を選択します。

  3. Mean を選択し、次に Mean:Aggregation を選択します。

Kai のディテクタは、個々のサーバーマシンのデータポイントの欠落を考慮して、すべての遅延の値の平均値をレポートします。

Kaiは、Mean:Aggregation の分析が適用されたプレビューディテクターを確認します:

この画像は、すべてのサーバーレイテンシ値の平均を表示するプレビューディテクターを示しています。
注: このディテクタはすべての遅延の値の平均を取るため、個々のサーバーマシンが高遅延を示した場合に Kai はアラートを受け取らない可能性があります。Kai は、プレビューの変化を考慮してアラート条件のしきい値を調整する必要があるかもしれません。

継続期間のパーセンテージを使用する

Kai は、「継続期間のパーセンテージ」のアラート設定を使用することで、欠落したデータポイントを考慮に入れることができます。以下の手順を実行します。

  1. ディテクターメニューで、Alert settings を選択します。

  2. Trigger sensitivty を選択します。

  3. percent of duration を選択します。

  4. アラートをトリガーしたい継続時間のパーセンテージを入力します。Kai 「80」と入力しました。

ディテクタは、1 分間に受信したデータポイントの 80% が 260 ミリ秒を超えた場合にアラートをトリガーします。Kai の遅延データは 10 秒ごとに到着するため、1 分ごとに 6 つデータポイントになるはずです。アラートをトリガーするには、6 つのデータポイントのうち 5 つが到着し、260 ミリ秒を超える必要があります。

Kaiは、新しいアラート設定が適用されたプレビューディテクターを確認します:

このスクリーンショットは、1日で22個のアラートが予想されるプレビューディテクターを示しています。

概要

この例では、Kai はアラート設定を変更することで不要なアラートを排除しました。

また、期待通りにアラートが発せられないディテクターを修正するための3つのオプションを探求しました:

  • 外挿ポリシーを変更する

  • メトリクスに集計を適用する

  • 継続期間のパーセンテージを使用する

さらに詳しく

ディテクタのトラブルシューティングの詳細については、「Splunk Observability Cloud のディテクタのトラブルシューティングNo Content found for /db/organizations/splunk/repositories/portal-production/content/documents/ObservabilityCloud/alerts-detectors-notifications/alerts-and-detectors/troubleshoot-detectors.dita#d6169d676e46141daa2400ee0493aa7a2/troubleshoot-detectors」を参照してください。