エラー率、応答時間、JVM のガベージコレクション (GC) 回数などのアプリケーションメトリックには、通常、明確なベースラインがあります。Application Real-Time Monitoring Service (ARMS) の静的しきい値アラートルールは、これらのメトリックを定義した固定値と照らし合わせて評価し、その値を超えた場合にアラートをトリガーすることで、ユーザーに影響が及ぶ前に指定された連絡先に通知します。
明確なベースラインがないメトリック —— たとえば、可変のトラフィックパターンを持つサービスにおけるリクエスト遅延 —— については、代わりに 動的しきい値 を使用してください。動的しきい値は、過去のパターンに基づいてアルゴリズムによって異常を検出します。
静的しきい値の仕組み
静的しきい値ルールは、メトリック式を評価し、その結果を各重大度レベル (P4 から P1) に設定した値と比較します。結果がしきい値を超えると、ARMS は対応するレベルのアラートを生成します。
以下を定義できます:
単一条件ルール:1 つの式を評価し、最大 4 つの重大度レベルを設定できます。
複数条件ルール:2 つ以上の式を組み合わせ、すべての条件 (またはいずれか 1 つの条件) が満たされた場合にのみトリガーします。
ARMS は、しきい値の設定と検証に役立つ 2 つの組み込みツールも提供しています:
| ツール | 機能 |
|---|---|
| 推奨しきい値 | 過去 3 日間のメトリックデータを N-sigma アルゴリズムで分析し、各アプリケーションとインターフェイスの P4 しきい値を提案します。これを開始点として使用し、アラートノイズの許容度に基づいて P3、P2、P1 の値を設定します。 |
| アラート数予測 | 過去 24 時間のメトリックデータに異常検知アルゴリズムを適用し、現在のしきい値で生成されるアラート数を予測します。予測数をクリックすると、過去にしきい値を超えた正確なタイムスタンプを確認できます。 |
前提条件
開始する前に、以下を確認してください:
アプリケーションモニタリングによって監視されているアプリケーション。詳細については、「アプリケーションモニタリングの概要」をご参照ください。
静的しきい値アラートルールの作成
ARMS コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
Application Monitoring Alert Rules ページで、Create Alert Rule をクリックします。
Create Application Monitoring Alert Rule ページで、Alert Rule Name を設定し、Alert Detection Type を Threshold Detection に設定します。
Alert Contact セクションで、アプリケーション、メトリックタイプ、フィルター条件を指定します。
パラメーター
説明
Select Applications
監視対象のアプリケーションを 1 つ以上選択します。すべてのアプリケーションを監視するには、すべてを選択します。
Automatically apply this alert rule to newly created applications
有効にすると、このルールは後からアプリケーションモニタリングに統合されたアプリケーションに自動的に適用されます。
Metric Type
評価するメトリックを選択します。選択内容に応じて、Alert Condition と Filter Condition で使用できるオプションが変わります。詳細については、「アラートメトリック」をご参照ください。
Filter Condition
特定のディメンションでフィルタリングして、監視範囲を絞り込みます。
フィルター条件オプション
オプション 動作 Traverse アラートには、それをトリガーした特定のディメンション値が表示されます。 No Dimension アラートには、すべてのディメンション値の集計合計が表示されます。 = アラートには、指定されたディメンション値のみが表示されます。 != アラートには、指定されたものを除くすべてのディメンション値が表示されます。 Contain アラートには、指定されたテキストを含むディメンション値が表示されます。 Do Not Contain アラートには、指定されたテキストを含むものを除くすべてのディメンション値が表示されます。 Match Regular Expression アラートには、指定された正規表現に一致するディメンション値のみが表示されます。 Alert rules セクションで、Alert trigger mode と Alert Condition を設定します。
Alert trigger mode は、ルールが単一の式を評価するか、複数の式を組み合わせるかを決定します:
Single Condition:1 つの式を評価します。最大 4 つの重大度レベルでしきい値を定義します。
Multiple Conditions:2 つ以上の式を組み合わせます。Alert Triggering Rules パラメーターを設定して、条件を組み合わせる方法を制御します:
Meet All the Following Rules:すべての条件が同時に満たされた場合にのみアラートがトリガーされます。
Meet One of the Following Rules:いずれか 1 つの条件が満たされた場合にアラートがトリガーされます。
アラートレベル
ARMS は、重大度の低い順に P4、P3、P2、P1 の 4 つのアラートレベルをサポートしています。運用要件に基づいて、各レベルに異なるしきい値を割り当てます。4 つすべてのレベルを設定する必要はありません。
例:単一条件
過去 5 分間の JVM フル GC 回数を監視します:
条件 レベル 平均フル GC > 1 P4 平均フル GC > 2 P3 平均フル GC > 5 P2 平均フル GC > 10 P1 最小限の構成も有効です。たとえば、平均フル GC 回数が 1 を超えるたびに P4 アラートをトリガーするなどです。
例:複数条件
Alert Triggering Rules を Meet All the Following Rules に設定し、次のように定義します:
条件 1:過去 2 分間の平均エラー率 >= 5%
条件 2:過去 2 分間の合計呼び出し回数 >= 200
Multiple Conditions モードでは、Alert Level パラメーターが必須です。Add Condition をクリックして、さらに条件を追加します。
推奨値でしきい値を調整
Enter P4 recommended threshold をクリックすると、履歴データに基づいて推奨される P4 しきい値が生成されます。ARMS は、各アプリケーションとインターフェイスの過去 3 日間のメトリックデータを N-sigma アルゴリズムを使用して分析し、平均と分散を計算して、統計的に根拠のある開始値を生成します。P4 は最も低い重大度レベルであるため、これをベースラインとして使用し、アラートノイズの許容度に応じて P3、P2、P1 のしきい値を調整します。
ルールが複数のアプリケーションを対象としている場合、[アプリケーション] の横にある
アイコンをクリックして、アプリケーションごとの推奨事項を生成します。チャートのプレビューで推奨値と実際の既存データを比較し、必要に応じて調整します。アラート数予測でアラート量をプレビュー
ルールを作成または変更するたびに、Alert Quantity Prediction の値を確認します。ARMS は、過去 24 時間のメトリックデータに異常検知アルゴリズムを適用し、現在のしきい値で生成されるアラート数を予測します。予測数をクリックすると、過去にしきい値を超えた正確なタイムスタンプを確認できます。この情報を使用して、しきい値を微調整し、不要なアラートを削減します。
Notification Policy パラメーターを設定します。
オプション
動作
Do Not Specify Notification Policy
アラートがトリガーされても通知は送信されません。通知は、通知ポリシーの一致ルールがトリガーされた場合にのみ送信されます。
Specify a notification policy
アラートがトリガーされると、ARMS は選択されたポリシーを通じて通知を送信します。既存の通知ポリシーを選択するか、新規に作成します。詳細については、「通知ポリシーの作成と管理」をご参照ください。
Advanced Alert Settings セクションで、No data パラメーターを設定して、ARMS が欠損データまたは不完全なデータをどのように処理するかを制御します。
このパラメーターは、データ収集のギャップ、複合メトリクスの異常、予期しない期間比較の結果などのシナリオをカバーします。ARMS がこれらの異常を検出すると、欠損値を 0 または 1 に置き換えるか、アラートがトリガーされません。詳細については、「用語」をご参照ください。
Save をクリックします。
推奨しきい値を使用するケース
推奨しきい値は、次の 2 つのシナリオで最も役立ちます:
安定したシステムでのノイズの多いアラート:システムが正常に動作しているにもかかわらず、メトリックが頻繁にアラートをトリガーする場合、現在のしきい値が敏感すぎる可能性があります。推奨しきい値を生成して再調整します。
多数のアプリケーションへのスケーリング:同じアラートルールが数十のアプリケーションやインターフェイスに適用される場合、それぞれにしきい値を手動で設定するのは非現実的です。アルゴリズムを使用して、カスタマイズされたしきい値を大規模に生成します。
アルゴリズムの仕組み
ARMS は、各アプリケーションとインターフェイスの過去 3 日間のメトリックデータを取得し、N-sigma アルゴリズムを適用して平均と分散を計算します。ワークロードが安定しており、メトリック値が正規分布に従うという仮定の下では、平均から 3 標準偏差を超える値は統計的にまれです。ARMS はこの境界を推奨 P4 しきい値として使用します。
P4 は最も低い重大度を表します。これをベースラインとして使用し、運用要件に基づいて P3、P2、P1 により厳しいしきい値を設定します。
アラート数予測を使用するケース
アラート数予測機能は、アルゴリズムを使用して履歴データを分析し、過去のアラートが発生した時刻を表示し、指定された期間内のアラート数を予測します。この機能は、静的しきい値を設定したり、動的しきい値のアラート感度を向上させたりするのに役立ちます。
仕組み
ARMS は過去 24 時間のメトリックデータを調査し、各しきい値が超過した回数をカウントします。次に、設定されたタイムウィンドウ内でトリガーされるであろうアラートの数を予測します。詳細な結果には、過去の各超過の特定のタイムスタンプが含まれており、それらのインシデントが本物であったかノイズであったかを確認するのに役立ちます。