Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご確認ください。 情報
カスタム レポートを使用すると、特定の API 指標を掘り下げて、確認したい正確なデータを表示できます。API Monitoring ダッシュボードから、作成時に構成された条件に基づいてプリセットされたフィルタと指標を使用してカスタム レポートを作成できます。また、レポートには、デフォルトのディメンションと指標のセットが自動的に設定されています。
コンテキストに基づいてカスタム レポートを作成する
次の表に示すとおり、コンテキストに基づいたカスタム レポートをすばやく作成できます。[カスタム レポート] ページでは、表に示すように、API Monitoring を使用して作成されたカスタム レポートに(デフォルトで)一意の名前が付けられます。名前はカスタム レポートの編集時に変更できます。
カスタム レポートのコンテキスト | カスタム レポートのデフォルトの命名規則 |
---|---|
最近のダッシュボード | 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 キーとしてリクエストで渡されるか、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 プロキシに関するランタイムの問題を診断できます。
これらのヘッダーのカスタム レポートを作成するには:
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 プロキシでフィルタし、一番上のグラフで [Status Code] を確認します。403 エラーと 501 エラーが表示されていることに注意してください。
Edge UI で、[Analytics] > [Custom Reports] > [Reports] を選択して、これらのカスタム指標の値をディメンションとして含むカスタム レポートを作成します。
[+ Custom Report] を選択して、myapi_errors という名前のカスタム レポートを作成します。
指標に [Proxy Errors] を選択し、[Aggregate Function] を [Sum] に設定します。必要に応じて指標を追加できます。
事前定義された [Response Status Code] ディメンションを選択し、3 つのカスタム統計情報 prodid、targetersion、userid をディメンションに追加します。
myapi API プロキシ
(apiproxy eq 'myapi')
のデータのみが含まれるようにフィルタを設定します。レポートを保存します。
過去 24 時間のレポートを作成します。レポートを初めて開くと、HTTP 403 エラーと 501 エラーのグラフが表示されます。
[概要] で [403] または [510] をクリックし、エラーを生成しているサービスを確認します。たとえば、403 を選択します。
[Summary] でプロダクト ID をクリックして、ターゲット バージョン(アルファ版またはベータ版)ごとにエラーを確認します。
[Summary] で目的のバージョンをクリックして、ユーザーごとのエラーを確認します。