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

カスタム指標の収集

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 で問題を調査し、原因を掘り下げることができます。

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

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

API Monitoring と API Analytics の併用

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

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

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

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

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

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