API Monitoring と Edge API Analytics の比較

API 開発チームは、API MonitoringEdge API Analytics の両方を利用できます。このドキュメントでは、この 2 つのサービスを比較し、その違いと併用する方法について説明します。

API Monitoring

API Monitoring は 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 プログラムのパフォーマンスを測定するをご覧ください。指標の詳細なリストについては、Analytics の指標、ディメンション、フィルタのリファレンスをご覧ください。

カスタム指標の収集

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

分析データへのアクセス

データの生成後、Dashboard、カスタム レポート、GeoMap などの API アナリティクス可視化ツールを使用して事前定義の指標やカスタム指標にアクセスできます。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 で問題を調査し、原因を掘り下げることができます。

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

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

API Monitoring と API Analytics の併用

API Monitoring と API Analytics で共通している機能の 1 つはカスタム レポートの生成です。API Monitoring と API Analytics のどちらでも、事前に定義したデータに基づいてカスタム レポートを作成できます。Analytics の指標、ディメンション、フィルタのリファレンスをご覧ください。

API Analytics では、StatisticsCollector ポリシーを使用したカスタム指標の作成もサポートされます。StatisticsCollector ポリシーで作成したカスタム指標は、API Monitoring と API Analytics の両方のカスタム レポートで使用できます。

たとえば、2 つのバージョンのバックエンド サービスがあり、このサービスでリクエストを均等に分割しているとします。各 API リクエストのヘッダーには、リクエストを処理するバックエンド サービスのバージョンが含まれています。

API Monitoring アラートが発生したときに、次のような事前定義のアラート情報を含むカスタム レポートを生成できます。

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

このレポートには、エラーが発生したバックエンド バージョンを表すカスタム指標を追加することもできます。また、レポートで 2 つのバックエンド サービスの情報を比較することもできます。API Monitoring の使用例については、カスタム レポートの作成をご覧ください。