異常検出の仕組み

現在、Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご確認ください
情報

異常検出には、次の 3 つの主要なフェーズが含まれます。

モデルのトレーニング

異常検出では、過去の時系列データから API プロキシの動作のモデルをトレーニングします。モデルのトレーニングのために、ご対応が必要な操作はありません。過去 6 時間分のデータから、Edge が自動的にモデルを作成してトレーニングします。したがって、異常をログに記録するには、API プロキシでモデルをトレーニングするための少なくとも 6 時間分のデータが Edge に必要です。

異常イベントを記録する

ランタイムでは、Edge の異常検出は、API プロキシの現在の動作をモデルによって予測された動作と比較します。異常検出では、運用指標が予測値を超えた場合に、一定の信頼度のしきい値で判断できます。たとえば、5xx エラーの割合がモデルで予測されたレートを超えた場合。

Edge が異常状態を検出すると、その条件は Edge UI の [Events] ダッシュボードに自動的に記録されます。検出された各異常について、Edge は信頼度のしきい値(わずか、中、高)を記録します。たとえば、重度の異常とは、非常に高い信頼度で異常と判断されるものです。

[イベント] ダッシュボードに表示されるイベントのリストに、Edge によって検出されたすべての異常とトリガーされたアラートが表示されます。アラートは、固定または異常なアラートのいずれかです。

異常を表示するには:

  1. Edge UI で [分析] > [イベント] をクリックします。新しい [イベント] ダッシュボードが表示されます。 [イベント] ダッシュボードで異常イベントを表示する
  2. [イベント] ダッシュボードを次の方法でフィルタします。
    • 環境
    • リージョン
    • イベント タイプとして [アラート](固定と異常)または [異常値] になります。
    • 異常しきい値(異常のみ)
    • 期間

異常にドリルダウンするには:

  1. [イベント] ダッシュボードで異常の行を選択して、API Monitoring の [Investigate] ダッシュボードで異常を開きます。以下の例では、異常値を調べるために p90 レイテンシが少し増加していないか調べます。黄色の垂直バーは、異常が発生した場所です。

    異常イベントを調査する
  2. ディスプレイのブロックを選択して、異常の詳細を表示します。

    異常の詳細を表示
  3. [フィードバック: この異常はどの程度ですか?] を選択して、異常検出の改善のために Apigee にフィードバックを提供します。このリンクを使用して、トラフィック パターンが実際に異常かどうか、検出がどれだけ役に立ったかを特定し、任意でコメントを追加します。

    異常フィードバックを送る

アラートを生成する

デフォルトでは、Edge は異常イベントを生成しますが、異常アラートは生成しません。算出されたしきい値で検出された異常が実際に問題であるかどうかを判断するには、[イベント] ダッシュボードを調べます。その場合は、現在のしきい値または異なるしきい値レベルで、異常状態に関するアラートを作成できます。異常が再び発生した場合、Edge はアラートを生成し、メールやその他のタイプの通知を送信できます。

: Edge がアラートを引き上げた場合、10 分経過した段階でアラート条件が持続していない限り、同じアラートは繰り返されません。この間隔を指定すると、同じ条件の重複したアラートの発生を Edge が回避できます。

異常アラートを作成するには:

  1. 上記のように異常の詳細を表示するには、[イベント] ダッシュボードで異常を選択します。
  2. 異常の詳細で [アラートを作成] ボタンを選択します。[アラートを作成] パネルが開きます。
  3. アラートを構成します。次の例では、いずれかのリージョンの prod 環境の p90 レイテンシがわずかに増加するアラートを構成します。

    異常アラートの設定

  4. [+ Notification] をクリックして、アラート通知を追加します。

    通知の詳細 説明
    チャネル 使用する通知チャネルを選択し、送信先を指定します(メール、Slack、PagerDuty、または Webhook)。
    発信先

    選択したチャネルタイプに基づいて次の送信先を指定します。

    • メール - メールアドレス(joe@company.com など)
    • Slack - Slack チャンネルの URL(https://hooks.slack.com/services/T00000000/B00000000/XXXXX など)
    • PagerDuty - PagerDuty コード(abcd1234efgh56789 など)
    • Webhook - Webhook の URL(https://apigee.com/test-webhook など)

    : 通知ごとに 1 つの送信先のみ指定できます。 同じチャネルタイプに複数の送信先を指定するには、通知を追加します。

  5. 通知を追加するには、ステップ 4 を繰り返します。
  6. 通知を追加した場合は、以下の項目を設定します。
    項目 説明
    Throttle 通知を送信する頻度。プルダウンから値を選択します。
  7. [保存] をクリックします。

    次に異常が発生したときには、アラートが表示されます。