Apigee API Analytics の概要

このページは ApigeeApigee ハイブリッドに適用されます。

Apigee Edge ドキュメントを表示する

このトピックでは、Apigee API Analytics について説明します。

動画: Apigee API Analytics サービスの概要を説明する短い動画をご覧ください。

分析を通じて API を強化する

Apigee Analytics - API プロキシを介して送受信される多くの情報を収集して計算します。このデータは、Apigee UI のグラフやチャートを使用して可視化できます。また、元データをダウンロードし、Apigee API を使用してオフラインで分析することもできます。

Analytics は、次のような一般的なことを調べる際に役立ちます。

  • API トラフィックの経時的な傾向
  • 最もよく使用されている API メソッド
  • トラフィックが最も多いデベロッパー
  • API レスポンスの最短時間最長時間
  • API トラフィックの多い地理的な場所
  • トランザクションが生み出す収益量

特定のホスト名または環境全体のデータを分析できます。

このような情報は、API の強化、問題のトラブルシューティング、API プログラムに関連するビジネス上の意思決定の向上に役立ちます。

API Analytics による全体的な改善

Apigee API Analytics でデータの収集、分析、可視化を継続的に行うことで、API チームは API を改善し、アプリ デベロッパーはアプリの改善を行うことができます。

API プロキシを経由してアプリからデータが伝送されます。そのデータの分析結果はアプリ デベロッパー、API チーム、運用チーム、ビジネス オーナーの判断に役立ちます。
  • API チーム - API チームは、内部システムを活用して独自の API を作成します。API チームは、API プログラムの全体的な動作と個々の API の動作を把握し、API の改善方法を知りたいと考えています。
  • アプリ デベロッパー - 分析情報をアプリ デベロッパーと共有することで、アプリの品質が向上します。デベロッパーが API を使用して創造的なアプリを作成することで、会社の収益向上につなげることができます。Analytics は、アプリ デベロッパーがアプリの動作を把握するだけでなく、収益に対するデベロッパーの貢献度を評価する際にも役立ちます。アプリ デベロッパーはアプリの改善方法を知りたいと考えています。
  • 運用チーム - 運用チームは、トラフィック パターンを把握し、バックエンド リソースの追加など、重要な調整を行う際に参加したいと考えています。
  • 事業主 - 事業主は、現在の API 投資がどのように利益をもたらし、今後は API のどの部分に投資すると効果的かを知りたいと考えています。

Apigee API Analytics の使用開始方法

Apigee サブスクリプションをご利用の場合、Apigee API Analytics へのアクセスはサブスクリプションの利用資格に含まれており、Apigee 環境ごとに自動的に有効になります。

従量課金制(更新された属性)をご利用の場合は、Apigee API Analytics を有料アドオンとして有効にできます。中間または包括的な Apigee 環境用の Apigee API Analytics アドオンを有効にする方法については、Apigee API Analytics アドオンを管理するをご覧ください。

サブスクリプションの Apigee 組織か従量課金制の Apigee 組織のどちらを使用しているかわからない場合は、Apigee 組織管理者にお問い合わせください。

収集されて分析されるデータの種類

Apigee API Analytics は、API プロキシを介して送受信されるさまざまなデータを収集して、分析します。たとえば、次のようなデータを収集します。

  • 応答時間
  • リクエストのレイテンシ
  • リクエスト サイズ
  • ターゲット エラー
  • API プロダクト名
  • デベロッパーのメールアドレス
  • アプリ名
  • トランザクションの収益

API Analytics によって収集されるデータの詳細については、アナリティクス指標、ディメンション、フィルタのリファレンスをご覧ください。

カスタム分析データを収集する方法

Apigee は大量のデータを収集しますが、API プロキシ、アプリ、プロダクト、デベロッパーに固有のカスタム分析データを収集することもできます。たとえば、クエリ パラメータ、リクエスト ヘッダー、リクエストとレスポンスの本文、API で定義した変数などから分析データを収集できます。

DataCapture ポリシーを使用してカスタム分析データを収集し、アナリティクスの UI または API を使用して収集したデータを調べることができます。

分析データが使用できるタイミングと期間

分析データを表示できるタイミングと期間は、次の 2 つの時間間隔で制御できます。

  • データ遅延間隔 - API プロキシに API 呼び出しが行われてからデータを表示、または API 呼び出し経由でアクセスできるようになるまでに、最大で 10 分ほどかかることがあります。
  • 分析データの可用性 - 分析データ(Monetization と Sense のデータを含む)を Apigee で利用できる期間は、プランによって異なります。ご利用のプランに応じて、過去 30 日間、90 日間、または 14 か月間の分析データを使用できます。

Apigee API Analytics アドオンを使用する場合の Analytics 保持

従量課金制の組織では、Apigee API Analytics アドオンを環境レベルで有効にできます。アドオンが環境に対して有効になると、環境の分析データは 14 か月間保持されます。アドオンが有効になっている限り、環境の過去の分析データにはコンソールの [API 指標] ページからアクセスできます。

従量課金制の組織の環境で Apigee API Analytics アドオンを無効にすると、環境のアナリティクス データは 30 日後に削除されます。アドオンを無効にしてから 30 日以内に同じ環境で再度有効にすると、14 か月間の保持期間を通じて環境の分析データに再びアクセスできるようになります。30 日を経過して環境でアドオンを再び有効にした場合、データは復元されません。

従量課金制の組織の環境の分析データを 14 か月の保持期間を超えて保持する場合は、データをエクスポートして別の場所に保存することをおすすめします。アナリティクス データは、Apigee API Analytics アドオンを無効にする前か、無効後 30 日以内にエクスポートすることもできます。詳細については、分析データのエクスポートをご覧ください。

分析データの保存と処理が行われる場所

分析データの保存と処理が行われる場所は、Apigee のインストール時に指定した分析リージョンによって決まります。

  • サブスクリプションのお客様で、Apigee プロビジョニング ウィザードを使用して Apigee をインストールしている場合は、アナリティクス ホスティング リージョンを設定するときに、組織を作成するステップ 1 で分析リージョンを指定してます。
  • 従量課金制(更新された属性)のお客様であり、Google Cloud コンソールを使用して Apigee をインストールした場合は、アナリティクス ホスティング リージョンを設定するときに、組織を作成するステップ 3 で分析リージョンを指定しています。
  • コマンドラインから Apigee をサブスクリプションまたは従量課金制(更新された属性)のお客様としてインストールした場合は、環境変数 ANALYTICS_REGION を定義するときに、分析リージョンを指定しています。

分析データは次のように保存され、処理されます。

  • 分析リージョンが米国または EU にない場合、分析データは分析リージョンで保存と処理が行われます。
  • 米国または EU の分析リージョンの場合、可用性を高めるためにデータは米国または EU のマルチリージョンにそれぞれ保存されます。

分析データにアクセスする方法

Apigee API Analytics では、Apigee UI に組み込まれたデータ可視化ツールを利用できます。たとえば、事前定義の Analytics ダッシュボードや、データをグラフやチャートで表示するカスタム レポートを使用できます。ドリルダウンしてデータをさまざまなディメンション(API プロキシ、IP アドレス、HTTP ステータス コードなど)にグループ化して表示することもできます。

Apigee API を使用して分析データをダウンロードすることもできます。ダウンロードしたデータは、独自のデータ可視化ツールや分析システムにインポートできます。

Analytics ダッシュボード

Apigee UI には、一連の事前定義のダッシュボードが用意されており、これらを使用して分析データを表示できます。

Cloud コンソールの Apigee

アナリティクス ダッシュボードを開くには:

  1. ブラウザで Cloud コンソールの Apigee UI を開きます。
  2. アナリティクス > API 指標を選択します。
次の画像は、API プロキシ パフォーマンス ダッシュボードを示しています。

次のタブから選びダッシュボードを表示します。

詳細については、アナリティクス ダッシュボードの使用をご覧ください。

従来の Apigee

アナリティクス ダッシュボードを開くには:

  1. ブラウザで Apigee UI を開きます。
  2. 分析 > API 指標を選択します。
  3. 次のいずれかのダッシュボードを選択します。

これらに加えて、次のダッシュボードを使用することもできます。

詳細については、アナリティクス ダッシュボードの使用をご覧ください。

カスタム レポート

カスタム レポートを使用すると、特定の API 指標にドリルダウンして正確なデータを確認できます。Apigee に組み込まれた分析データを使用して、カスタム レポートを作成できます。

カスタム レポートを作成する場合、確認するデータ(指標)を選択し、意味のある方法(ディメンション)でデータをグループ化します。必要であれば、データの特定の特性に基づいて返されるデータを制限(フィルタリング)します。

カスタム レポートに表示されるグラフの種類(棒グラフや折れ線グラフなど)を設定することもできます。次の画像は、API プロキシごとにグループ化された 1 秒あたりのトランザクション数のチャートを示しています。

  • 棒グラフ - API プロキシがそれぞれ異なる棒で表されています。

    カスタム棒グラフ

  • 折れ線グラフ - 各 API プロキシがそれぞれの折れ線で表されています。

    カスタム折れ線グラフ

詳細については、カスタム レポートの作成と管理をご覧ください。

Analytics API

Apigee API を使用して、分析データのダウンロードを行います。たとえば、API を使用して、ポータルまたはカスタムアプリに組み込む独自の可視化ツールを作成できます。

次に、API プロキシの分析データを取得する API 呼び出しの例を示します。

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/stats/apiproxy?select=sum(message_count)&timeRange=6/24/2022%2000:00~6/25/2022%2023:59&timeUnit=hour" \
  -H "Authorization: Bearer $TOKEN"

この呼び出しは以下を返します。

  • API プロキシごとのリクエストの合計(メッセージ数)
  • 24 時間分
  • 時間ごとにグループ分け

timeRange クエリ パラメータには、次の形式で期間を指定します。

?timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM

HH:MM の前にある %20 に注意してください。MM/DD/YYYY+HH:MM~MM/DD/YYYY+HH:MM と同様に、timeRange パラメータには HH:MM の前に URL エンコードの空白文字、または + 文字が必要です。

詳細については、指標 API の使用をご覧ください。

分析データを Google Cloud Platform にエクスポートする

Apigee API を使用して、丸 1 日分のすべての分析データを Apigee から独自のデータ リポジトリ(Google Cloud StorageBigQuery など)にエクスポートできます。その後、Google Cloud BigQuery と TensorFlow が提供する強力なクエリ機能と ML 機能を利用して、独自のデータ分析を行うことができます。

詳細については、分析データのエクスポートをご覧ください。

アプリ デベロッパーとデータを共有する方法

アプリ デベロッパーを顧客と考えると、彼らが API を最大限に活用するためのツールと情報が公開されている必要があります。

アプリが API プロキシを介してデータを送信します。そのデータの分析結果はアプリ デベロッパーがアプリの動作を把握するのに役立ちます。

アプリ デベロッパーは、アプリの品質だけでなく、使用する API にも高い関心を持っています。Drupal ベースのデベロッパー ポータルには、アプリ デベロッパーがアプリに関する重要な指標にアクセスできるように設計されたアプリのパフォーマンスページがあります。デベロッパーは、このページから次の情報を得ることができます。

  • Errors: アプリでどのような API エラーが確認されているか。
  • パフォーマンス: API のレスポンスが遅いか。API メソッドのうち、一般的に遅いものや、現時点で遅いものはどれか。
  • 可用性: API が稼働しているか、停止しているか。
  • Quota: API に対する割り当て量は設定されているか。アプリ デベロッパーとして、その割り当てにどのように対応しているか。

詳細については、Drupal 8 のドキュメントの Monitor apps をご覧ください。

また、次の方法でデベロッパーと分析情報を共有できます。

  • カスタム レポートを作成してアプリ デベロッパーと共有する。詳細については、カスタム レポートの作成と管理をご覧ください。
  • 指標 API を使用して長期間にわたってデータをキャプチャし、アプリ デベロッパーとオフラインで共有する。詳細については、指標 API の使用をご覧ください。

完全な分析データを生成する方法

完全な分析とは、どのようなものなのでしょうか。たとえば、API プロキシを作成すると、Apigee でそのプロキシに関する分析データを収集できます。では、その API プロキシを呼び出したデベロッパーまたはアプリの指標はどうでしょうか。Apigee で API 呼び出しを行ったユーザーがわからなければ、そのデータを収集することはできません。

Apigee を使用して、どのデベロッパーとデベロッパー アプリが API プロキシを呼び出しているのかを確認できるようにするには、いくつかの操作が必要になります。以下に、これらの手順のリストと、より詳細な情報へのリンクを示します。

  1. 1 つ以上の API プロダクトを作成する。サービスプランと一緒に API プロキシをまとめます。API プロダクトを管理するをご覧ください。
  2. Apigee でアプリ デベロッパーを登録するアプリ デベロッパーの登録をご覧ください。
  3. アプリを登録し、デベロッパーの API キーを管理する。アプリを登録して API キーを管理するをご覧ください。
  4. API キーまたはセキュリティ トークン(あるいはその両方)を検証するセキュリティ ポリシーを API プロキシに追加するVerifyAPIKey ポリシーOAuthV2 ポリシーVerifyJWT ポリシーのトピックをご覧ください。

API キーを要求して API を保護するOAuth で API を保護するのチュートリアルでは、デベロッパーとアプリの分析結果を参照するために必要な手順について説明しています。

詳細