API Monitoring と Edge Analytics の比較

Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご覧ください。

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

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

API モニタリング データ(主にエラーコードとレイテンシに関連している)はアナリティクス データの小さなサブセットであることに注意してください。

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

このセクションでは、Edge Analytics によって収集されたデータと API Monitoring との間にわずかな違いについて説明します。API Monitoring とアナリティクスではデータ パイプラインが異なるため、Monitoring で生成されるカスタム レポートとアナリティクスで生成されるレポートとの間に多少の違いが生じる場合があります。たとえば、バックエンド タイムアウト(リクエストに対する HTTP ステータス コード 504)とクライアントのタイムアウト(HTTP ステータス コード 499)の両方のタイムアウト エラーに関して、報告の差異が生じることがあります。アナリティクスのカスタム レポートには、ステータス コード 200 が表示されますが、モニタリング カスタム レポートにはステータス コード 504 または 499 が表示されます。

API Monitoring

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

API Monitoring でできること:

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

Edge API による分析

Edge API Analytics は、API を介して送受信される情報を収集、分析します。API アナリティクスは、次のような情報を記録します。

  • API トラフィックの経時的な傾向
  • 上位のアプリ
  • トップ デベロッパー
  • 最もよく使用されている API メソッド
  • API 応答時間が最短の場合と最も遅い場合
  • API トラフィックが最も多い地理的な場所

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

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

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

カスタム指標の収集

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

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

作成したカスタム指標やカスタム指標には、ダッシュボード、カスタム レポート、GeoMap などの API アナリティクスの可視化ツールからアクセスできます。API アナリティクスで提供される可視化ツールの詳細については、アナリティクス ダッシュボードをご覧ください。カスタム レポートについて詳しくは、カスタム レポートを作成するをご覧ください。

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 アナリティクスは、複数のチームが使用できる幅広いデータを収集するように設計されています。次に例を示します。

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