カスタム レポートを作成する

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

カスタム レポートを使用すると、特定の API 指標を掘り下げて、確認したい正確なデータを表示できます。API Monitoring ダッシュボードから、作成時に構成された条件に基づいてプリセットのフィルタと指標を使用してカスタム レポートを作成できます。また、レポートにはデフォルトのディメンションと指標のセットが自動的に設定されています。

コンテキストに基づいてカスタム レポートを作成する

次の表に示すとおり、コンテキストに基づいたカスタム レポートをすばやく作成できます。[カスタム レポート] ページでは、表に示すように、API Monitoring を使用して作成されたカスタム レポートには一意の名前が付けられます(デフォルト)。この名前はカスタム レポートの編集時に変更できます。

カスタム レポートのコンテキスト カスタム レポートのデフォルトの命名規則
Recent ダッシュボード API Monitoring Recent Generated
タイムライン ダッシュボード API Monitoring Timeline Generated
Investigate ダッシュボード API Monitoring Investigate Generated
アラートの条件 API Monitoring Generated: alert-name

デフォルトのディメンションと指標

カスタム レポートには、API Monitoring で生成されたすべてのレポートについて、次の表に示すディメンションと指標がデフォルトで含まれます。

コンポーネント デフォルト
ディメンション リクエスト URI
指標
  • レスポンスの合計時間
  • ターゲット レスポンス タイム
  • プロキシエラー
  • ターゲット エラー

カスタム レポートを編集する

前のセクションで説明したように、カスタム レポートでは、API Monitoring のデフォルトのディメンションと指標で事前定義済みのセットが事前構成されています。作成したカスタム レポートを編集し、必要に応じて指標やディメンションを追加または削除できます。たとえば、特定のアクセス トークン、デベロッパー アプリ、API プロキシ、またはリクエスト ID に調査を絞り込めます。

次のカスタム レポートでは、事前定義された Gateway Flow ID ディメンションを追加します。Gateway Flow ID には、Edge に対して行われた各 API リクエストの一意の UUID が含まれます。このレポートではすでに Request URI ディメンションが使用されています。

次の例では、カスタム レポートに Client ID ディメンションを追加しています。 Client ID ディメンションには、API 呼び出しを行うデベロッパーのコンシューマ キー(API キー)が含まれます。このコンシューマー キー(API キー)は、リクエストで API キーとして渡されるか、OAuth トークンに含まれています。

カスタム レポートには、すべての Client ID 値の情報が含まれます。次の例では、フィルタを追加しています。これにより、特定の Client ID のカスタム レポートを作成できます。

レポートに追加できる、事前定義されたすべてのディメンションと指標について詳しくは、分析の指標、ディメンション、フィルタのリファレンスをご覧ください。

次の例では、policies.ratelimit.QuotaViolation 障害コードと 5xx ステータス コードのデフォルトの指標とディメンションをキャプチャするフィルタをカスタム レポートに追加します。

カスタム レポートの編集方法について詳しくは、カスタム レポートを管理するをご覧ください。

例: カスタム レポートを使用してデプロイの問題を診断する

StatisticsCollector ポリシーを API プロキシに接続して、ユーザー ID またはプロダクト ID、料金、REST アクション、ターゲット バージョン、ターゲット URL、メッセージ長などのカスタム分析データを収集します。データは、Apigee によって事前定義されているフロー変数、リクエスト ヘッダー、クエリ パラメータ、ユーザーが定義したカスタム変数から取得できます。

たとえば、API プロキシへのリクエストには、プロダクト ID、ユーザー ID、ターゲット サーバー バージョンのヘッダーが含まれます。このリクエストの形式は次のとおりです。

curl -H "prodid:123456" -H "userid:98765" -H "targetversion:beta" http://myapi.com/myapi

ヘッダーの情報は、API プロキシの実行時の問題を診断するのに役立ちます。

これらのヘッダーのカスタム レポートを作成するには:

  1. StatisticsCollector ポリシーを API に追加して、カスタム ヘッダーの値をキャプチャします。

    <StatisticsCollector name="publishPurchaseDetails">
      <Statistics>
        <Statistic name="prodid" ref="request.header.prodid" type="integer">0</Statistic>
        <Statistic name="userid" ref="request.header.userid" type="integer">0</Statistic>
        <Statistic name="targetversion" ref="request.header.targetversion" type="string">alpha</Statistic>
      </Statistics>
    </StatisticsCollector>
    
  2. プロキシをデプロイして、アクセスされるのを待ちます。

  3. Edge UI で [Analyze] > [API Monitoring] > [Recent] をクリックして、API の問題を確認します。myapi プロキシで 4xx エラーと 5xx エラーが発生します。

  4. [myapi] プロキシ行を選択すると、[Recent] ダッシュボードの右側のペインに詳細が表示されます。

  5. [Recent] ダッシュボードの右ペインで、その他のメニュー > [View in Investigate] を選択して、[Investigate] ダッシュボードにアクセスします。

  6. [Investigate] ダッシュボードを myapi プロキシでフィルタし、上のグラフにステータス コードを確認します。403 エラーと 501 エラーが発生します。

  7. Edge UI で [Analytics] > [Custom Reports] > [Reports] を選択し、これらのカスタム指標の値をディメンションとして含むカスタム レポートを作成します。

  8. [+ Custom Report] を選択して、myapi_errors という名前のカスタム レポートを作成します。

  9. 指標に [Proxy Errors] を選択し、[Aggregate Function] を [Sum] に設定します。必要に応じて指標を追加できます。

  10. 事前定義された [レスポンス ステータス コード] ディメンションを選択し、3 つのカスタム統計情報 prodidtargetersionuserid を [ディメンション] に追加します。

  11. myapi API プロキシ (apiproxy eq 'myapi') のデータのみを含めるようにフィルタを設定します。

  12. レポートを保存します。

  13. 過去 24 時間のレポートを作成します。レポートが最初に開いたとき、HTTP 403 エラーと 501 エラーのグラフが表示されます。

  14. [Summary] で、[403] または [510] をクリックして、エラーを生成しているプロダクトを確認します。たとえば、403 を選択した場合に、次のようになります。

  15. [Summary] でプロダクト ID をクリックして、ターゲット バージョン(アルファ版またはベータ版)ごとにエラーを確認します。

  16. [Summary] でターゲット バージョンをクリックして、ユーザーごとのエラーを確認します。