サンプル シナリオの利用

Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントに移動
情報

ここでは、サンプルのシナリオを使用して、API で発生した 5xx 問題のトラブルシューティング方法を説明します。

# ステップ 説明
1 直近の API トラフィックのモニタリング 過去 1 時間以内にトラフィックが発生したすべての API プロキシとターゲットについて、最近の API Monitoring データを確認します。エラー率(%)の高い API プロキシまたはターゲットをドリルダウンします。
2 API Monitoring データのトレンドを特定する API モニタリング データの履歴ビュー(直近の 3 時間前まで)にアクセスして、より詳しい分析を行います。
3 5xx 問題を調査する 時間とともに量が最も多くなった障害コードを確認し、5xx 問題の原因を調査します(通常、5xx ステータス コードは 1 つ以上の障害コードを使用して分類できます)。
4 5xx アラートを設定する 5xx ステータス コードの量が特定のしきい値を超えたときに通知を行うように、アラートを設定します。
5 クライアントの詳細を含むカスタム レポートを生成する(オプション) 5xx エラーが発生したクライアントの詳細を含むカスタム レポートを生成します。この手順は省略可能です。

: カスタム レポートを生成するには、組織管理者である必要があります。

6 API プロキシをコレクションにグループ化する 問題を迅速に診断できるように、コレクションを作成して API プロキシをグループ化し、グループのすべてのメンバーに対して適切なアラートしきい値を設定します。

7 5xx 問題を解決する 調査と診断結果に基づいて必要な処置を行い、5xx 問題を解決します。

手順 1: 最新の API トラフィックをモニタリングする

過去 1 時間にトラフィックが発生している API プロキシとターゲットの API Monitoring データを表示するには:

  1. Edge UI で [Analyze] > [API Monitoring] > [Recent] を選択して、[Recent] ダッシュボードにアクセスします。
  2. 過去 1 時間にエラー率(%)が高い API プロキシとターゲットに注意します。

  3. エラー率(%)の高い API プロキシまたはターゲットをクリックします。右ペインに詳細が表示されます。この例では、5xx エラーの割合が高くなっています。

この手順の詳細については、直近の API トラフィックのモニタリングをご覧ください。

手順 2: API モニタリング データのトレンドを特定する

直近の 3 か月でトラフィックが増加した API プロキシとターゲットの API Monitoring データを履歴ビューで表示するには:

  1. [Recent] ダッシュボードの右ペインで、その他のメニュー > [View in Timeline] の順に選択して、[Timeline] ダッシュボードにアクセスします。または、Edge UI で [Analyze] > [API Monitoring] > [Timeline] をクリックします。
  2. API プロキシとターゲットのトレンドを確認します。トレンドは直近の 7 日間で一定になっています。

この手順の詳細については、API Monitoring データのトレンドを特定するをご覧ください。

手順 3: 5xx の問題を調査する

Apigee には、問題の診断に役立つ一連の障害コードが用意されています。通常、5xx ステータス コードはいずれかの障害コードに分類されます。

5xx の問題を調査するには:

  1. [Timeline] ダッシュボードの右ペインで、その他のメニュー > [View in Investigate] の順に選択して、[Investigate] ダッシュボードにアクセスします。または、Edge UI で [Analyze] > [API Monitoring] > [Investigate] をクリックします。

    [Investigate] ダッシュボードでは、指標間で関連するアクティビティを比較できます。たとえば、障害コードと時間の関連性を確認できます。
  2. 障害コードと時間のマトリックスを表示して、直近 1 時間で発生した障害コードの状況を確認します。ブロックの色で相対的な量が最も多い障害コードを特定します。ブロックの色が濃くなるほど、相対的な量が多くなります。

    たとえば、次のマトリックスでは、policies.ratelimit.SpikeArrestViolationpolicies.ratelimit.QuotaViolation の障害コードの量が相対的に多くなっています。 障害コード

  3. policies.ratelimit.SpikeArrestViolation 行で最も濃いブロック(最初のブロック)をクリックします。右側のペインに詳細情報が表示されます。

  4. 障害の発生源は perfBenchmark_invalid_v1 API プロキシで、HTTP ステータス コードは 500 です。500 ステータス コードは、Spike Arrest ポリシー違反の一般的なランタイム エラーコードです。

  5. [Suspected cause] パネルのすぐ下に [Distribution by Developer App] を表示して、最もエラー率が高いデベロッパー アプリを特定します。

この手順の詳細については、問題を特定するをご覧ください。

手順 4: 5xx アラートを設定する

5xx ステータス コードが特定のしきい値を超えたときに通知を行うように、[Investigate details] ペインで選択したコンテキストに基づいてアラートを設定します。

  1. [Investigate] ダッシュボードの右ペインで、その他のメニュー > [Create Alert] の順に選択します。

  2. アラート ダイアログのフィールドに値を入力します。条件フィールドには、現在のコンテキストのデータが自動的に挿入されます。例:

  3. [保存] をクリックします。

今後、perfBenchmark_invalid_v1 API プロキシの 5xx エラー率が 5 分間で 5% を超えると、通知が指定のメールアドレスに送信され、視覚的なアラートが UI に表示されます。次に例を示します。

この手順の詳細については、アラートと通知を設定するをご覧ください。

手順 5: クライアントの詳細を含むカスタム レポートを生成する(オプション)

カスタム レポートを生成して、5xx エラーが発生したクライアントの詳細を確認することもできます。

[レポート] ページで、アラートに基づいて作成されたカスタム レポートには API Monitoring Generated: alert-name という形式の名前がついています。

  1. アラートを設定するときに作成されたカスタム レポートには、次のいずれかの方法でアクセスできます。

    • 左側のナビゲーション バーで [Analyze] > [Custom Reports] > [Reports] を選択して、[Reports] ページを表示します。リストで API Monitoring Generated: 5xx Alert というレポート名をクリックします。

    • アラート生成時に表示される通知の中をクリックします。例:

  2. 次のディメンションを追加します。

    • Developer App
    • クライアント ID
    • Client IP Address

  3. エラー率の高いデベロッパー アプリに基づいてレポートを表示するには、次のようなフィルタを追加します。

    and (developer_app eq 'perfBenchmarkApp0')

    : この場合、分割項目のリストからデベロッパー アプリを削除します。

  4. [保存] をクリックします。

  5. レポートを実行して、5xx ステータス コードをトリガーしたデベロッパー アプリとクライアントの詳細を表示します。

この手順の詳細については、カスタム レポートの作成をご覧ください。

手順 6: API プロキシをコレクションにグループ化する

問題を迅速に診断できるように、コレクションを作成して API プロキシをグループ化し、グループのすべてのメンバーに対して適切なアラートしきい値を設定します。

  1. Edge UI で [Analyze] > [API Monitoring] > [Collections] を選択して、[Collections] ダッシュボードを表示します。
  2. [+ コレクション] をクリックします。
  3. [プロキシ] を選択します。
  4. [Environment] プルダウンから [prod] を選択します。
  5. [次へ] をクリックします。
  6. [Collection] ダイアログのフィールドに値を入力します。
  7. [保存] をクリックします。

手順 4 に類似したアラートを設定し、上で定義したコレクションに分割項目を設定できます。

この手順の詳細については、コレクションの管理をご覧ください。

手順 7: 5xx 問題を解決する

適切な処置を行い、5xx の問題を解決します。たとえば、診断結果に応じて次のいずれかの操作を行います。

  • Apigee Sense を使用して、リクエストの急増が不審な状況かどうかを確認し、カスタム レポートで特定したクライアント IP アドレスをブロックします。
  • 割り当てポリシーを追加して、特定の期間にデベロッパー アプリが API プロキシに対して確立できる接続数を制限します。
  • API を収益化し、特定の呼び出し数を超えた使用に対して、デベロッパーに費用を請求します。