API Monitoring と Edge Analytics の比較

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

このセクションでは、API MonitoringEdge Analytics を比較します。API Monitoring と Edge Analytics のどちらでも API データを収集して表示できますが、目的は異なります。

  • API Monitoring の目的は、API が意図したとおりに稼働していることを確認することです。この目的のために、利用可能な最新のデータを確認する必要があります。API Monitoring は、ほぼリアルタイムのデータを提供し、問題が発生した場合に通知するアラートを作成できます。
  • Edge Analytics の目標は、API の長期的な動作を把握して、API がビジネス要件に対応していることを確認することや、必要に応じて変更できるようにすることです。このような目的では、リアルタイム データを確認することはそれほど重要ではありません。そのため、アナリティクスのデータは若干遅延しますが、通常は 10 分以内です。

API Monitoring データは、主にエラーコードとレイテンシに関連するデータで、アナリティクス データのサブセットです。

API Monitoring データとアナリティクス データの違い

このセクションでは、Edge Analytics と API Monitoring で収集されるデータのわずかな違いについて説明します。API Monitoring と Analytics では異なるデータ パイプラインが使用されるため、Monitoring で生成されたカスタム レポートと Analytics で生成されたレポートに若干の違いが生じることがあります。たとえば、タイムアウト エラーの結果(バックエンド タイムアウト(リクエストの HTTP ステータス コード 504)とクライアント タイムアウト(HTTP ステータス コード 499)の両方)に不一致が生じることがあります。これらのデータは、アナリティクスのカスタム レポートではステータス コード 200 で表示されますが、モニタリングのカスタム レポートではステータス コード 504 または 499 で表示されます。

API Monitoring

API Monitoring は、API のパフォーマンスに関するリアルタイムの分析情報を提供し、問題を迅速に診断して修正して、API が意図したとおりに動作し続けるようにします。

API Monitoring では次のことができます。

  • API の可用性を高め、診断までの平均時間(MTTD)を短縮できます。
  • ユーザーへの影響が生じる前に、コンテキスト アラートに基づいて適切な措置を講じます。
  • Apigee の障害コードを利用して、診断を迅速に行うことができます。
  • 問題領域を迅速に分離し、エラー、パフォーマンス、レイテンシの問題を診断できます。

Edge API Analytics

Edge API Analytics は、API を介して送受信される情報を収集して分析します。API Analytics は、次のような情報をキャプチャします。

  • API トラフィックの傾向
  • トラフィックが最も多いアプリ
  • トラフィックが最も多いデベロッパー
  • 最もよく利用されている API メソッド
  • 最短/最速の API レスポンス時間
  • 最も API トラフィック量の多い地理的な場所

API Analytics が収集するデータ

API Analytics は、API を介して送受信されるさまざまなデータを収集して分析します。たとえば、API がデプロイされている間、アナリティクスは受信したメッセージの数、デベロッパーの数、レスポンス時間、エラー、使用中のアプリの数、リクエスト サイズなど、さまざまなデータを常に記録します。

指標の概要と使用方法については、Metrics API を使用して API プログラムのパフォーマンスを測定するをご覧ください。指標の詳細なリストについては、アナリティクス指標、ディメンション、フィルタのリファレンスをご覧ください。

カスタム指標の収集

StatisticsCollector ポリシーを使用すると、カスタム指標を収集できます。StatisticsCollector ポリシーは、リクエスト ヘッダー、XML/JSON ペイロード、クエリ パラメータ、URI、Analytics Server の他の場所から収集した情報を書き込み、分析とレポートの生成を行います。

アナリティクス データへのアクセス

データの生成後、ダッシュボード、カスタム レポート、GeoMap などの API Analytics 可視化ツールを使用して事前定義の指標やカスタム指標にアクセスできます。API Analytics で提供される可視化ツールの詳細については、Analytics ダッシュボードをご覧ください。カスタム レポートの詳細については、カスタム レポートの作成をご覧ください。

API Monitoring と API Analytics の比較

API のデベロッパーは、API Monitoring と API Analytics の両方を使用できます。この 2 つのサービスの主な違いは、API Monitoring にアラート メカニズムが組み込まれている点です。アラートを利用することで、オペレーション チームは API で発生した問題にリアルタイムで対応し、API の可用性とパフォーマンスを維持できます。

アラートの条件として、特定のステータス コード(2xx/4xx/5xx)、レイテンシ、障害コードのしきい値を定義します。これらのしきい値を超過すると、アラートがトリガーされ、UI に表示されます。また、メール、Slack、PagerDuty、webhook などの各種チャネルを通じて通知が送信されます。アラートは、環境、API プロキシ、ターゲット サービス、リージョンの各レベルで設定できます。

アラートがトリガーされた後、運用チームは API Monitoring の UI で問題を調査し、原因を掘り下げることができます。次のような事前定義のアラート情報を含むカスタム レポートを生成できます。

  • レスポンスの合計時間
  • ターゲット レスポンス タイム
  • プロキシエラー
  • ターゲット エラー
  • リクエストの UUID
  • その他

API Analytics はさまざまなデータを収集します。これらのデータは複数のチームで利用できます。次に例を示します。

  • オペレーション チーム: アナリティクス データを使用してトラフィックがピークになる期間を特定できます。これにより、変化するニーズに合わせてサービスのスケールアップやスケールダウンを行うことができます。
  • マーケティング チーム: アナリティクスのデータを使用して、個々の API、アプリ、ユーザーなどのデータ別に使用パターンを特定できます。
  • すべてのチーム: リクエストから収集したカスタムデータを使用して、ヘッダー値、クエリ パラメータ、リクエスト ペイロードなどの情報を追跡できます。