Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご覧ください。
カスタム レポートを使用すると、特定の API 指標をドリルダウンして、確認したいデータを正確に表示できます。API Monitoring ダッシュボードでは、作成時に構成された条件に基づいてフィルタと指標がプリセットされたカスタム レポートを作成できます。また、レポートには、デフォルトのディメンションと指標のセットが設定されています。
状況に応じたカスタム レポートを作成する
次の表に示すように、コンテキストに基づいてカスタム レポートをすばやく作成できます。[カスタム レポート] ページには、API Monitoring を使用して作成されたカスタム レポートの名前がデフォルトで表示されています。この名前はカスタム レポートの編集時に変更できます。
カスタム レポートのコンテキスト | カスタム レポートのデフォルトの命名規則 |
---|---|
最近のダッシュボード | API Monitoring Recent Generated |
タイムライン ダッシュボード | API Monitoring Timeline Generated |
調査ダッシュボード | 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 キーとして渡すか、OAuth トークンに含めるかに関係なく、API 呼び出しを行うデベロッパーのコンシューマ キー(API キー)が含まれます。
カスタム レポートには、すべての 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 プロキシに関するランタイムの問題の診断に役立ちます。
これらのヘッダーのカスタム レポートを作成するには:
API に StatisticsCollector ポリシーを追加して、カスタム ヘッダーの値を取得します。
<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>
プロキシをデプロイし、アクセス可能になるまで待ちます。
Edge UI で [Analyze] > [API Monitoring] > [Recent] をクリックして、API に関する問題を表示します。myapi プロキシの 4xx エラーと 5xx エラーが表示されます。
[myapi] プロキシ行を選択すると、[Recent] ダッシュボードの右側のペインに詳細が表示されます。
[Recent] ダッシュボードの右ペインで、
> [View in Investigate] を選択して [Investigate] ダッシュボードにアクセスします。
[Investigate] ダッシュボードをmyapiプロキシでフィルタしてから、上のグラフのステータス コードを表示します。403 エラーと 501 エラーが表示されます。
Edge UI で、[Analytics] > [Custom Reports] > [Reports] を選択して、これらのカスタム指標の値をディメンションとして含むカスタム レポートを作成します。
[+ カスタム レポート] を選択して、「myapi_errors」という名前のカスタム レポートを作成します。
指標に [プロキシエラー] を選択し、[集計関数] を [合計] に設定します。必要に応じて、指標を追加できます。
事前定義されたレスポンス ステータス コード ディメンションを選択し、3 つのカスタム統計情報 prodid、targetersion、userid を [ディメンション] に追加します。
[フィルタ] を設定して、myapi API プロキシ
(apiproxy eq 'myapi')
のデータのみが含まれるようにします。レポートを保存します。
過去 24 時間のレポートを実行します。初めてレポートを開くと、HTTP 403 および 501 エラーがグラフで表示されます。
[概要] で [403] または [510] をクリックして、エラーを生成しているプロダクトを確認します。たとえば、403 を選択します。
[概要] でプロダクト ID をクリックすると、ターゲット バージョン(アルファ版またはベータ版)ごとのエラーが表示されます。
[概要] で目的のバージョンをクリックし、ユーザーごとのエラーを確認します。