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 とアナリティクスで使用されるデータ パイプラインが異なるため、Monitoring で生成されるカスタム レポートとアナリティクスで生成されるレポートにはわずかな違いがある場合があります。たとえば、バックエンド タイムアウト(リクエストの HTTP ステータス コード 504)とクライアント タイムアウト(HTTP ステータス コード 499)の両方のタイムアウト エラーについて、報告される結果に不一致が生じることがあります。アナリティクスのカスタム レポートではステータス コード 200 とともに表示されますが、Monitoring のカスタム レポートではステータス コード 504 または 499 で表示されます。

API Monitoring

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

API Monitoring でできること:

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

Edge API 分析

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

  • API トラフィックの推移
  • 人気のアプリ
  • 上位のデベロッパー
  • 最もよく利用されている API メソッド
  • API のレスポンス時間が最も早い/最も遅いタイミング
  • API トラフィックが最も多い地理的な場所

API Analytics によって収集されるデータ

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

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

カスタム指標を収集する

また、StatisticsCollector ポリシーを使用してカスタム指標を収集することもできます。StatisticsCollector ポリシーは、リクエスト ヘッダー、XML/JSON ペイロード、クエリ パラメータ、URI、その他の場所の情報をアナリティクス サーバーに書き込んで、分析とレポート生成に使用できます。

アナリティクス データにアクセスする

生成された事前定義メトリクスとカスタム指標には、ダッシュボード、カスタム レポート、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 を使用して問題を調査し、根本原因をドリルダウンできます。 その後、次のようなアラートに関する事前定義情報を含むカスタム レポートを生成できます。

  • total_response_time
  • target_response_time
  • プロキシエラー
  • ターゲット エラー
  • リクエスト UUID
  • その他

API Analytics は、複数のチームが使用するために幅広いデータをキャプチャするように設計されています。例:

  • 運用チームは、アナリティクスのデータを使用してトラフィックが多い期間と少ない期間を特定し、変化する需要に合わせてサービスをスケールアップまたはスケールダウンできます。
  • マーケティング チームは、アナリティクスのデータを使用して、個々の API、アプリ、顧客などのデータによって特定された顧客使用パターンを特定できます。
  • どのチームもリクエストから収集されたカスタムデータにアクセスして、ヘッダー値、クエリ パラメータ、リクエスト ペイロードなどの特定の情報を追跡できます。