Apigee Analytics の概要

Apigee X のドキュメントが表示されています。
Apigee Edge のドキュメントを参照する。

このトピックでは、Apigee 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 を使用して創造的なアプリを作成することで、自社の収益増加が促進されます。分析は、アプリ デベロッパーがアプリの動作を把握し、API を作成した企業の収益に対する貢献度を理解するために役立ちます。アプリ デベロッパーは、アプリをどのように改善できるかを知りたいと考えています。
  • 運用チーム - 運用チームは、トラフィック パターンを理解し、バックエンド リソースを追加するときやその他の重要な調整を実施するときに参加したいと考えています。
  • 事業主 - 事業主は、現在の API 投資がどのように利益をもたらし、今後は API のどの部分に投資すると効果的かを知りたいと考えています。

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

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

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

API Analytics によって収集されるデータの完全な一覧については、分析の指標、ディメンション、フィルタのリファレンスをご覧ください。

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

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

カスタム分析データを収集するを使用してカスタム分析データを収集し、Analytics UI または Analytics API を使用してデータを検査します。カスタム分析データを収集する方法を示す完全な例については、カスタム分析データを使用して API メッセージ コンテンツを分析するをご覧ください。

分析データはいつ、どのくらいの期間利用できますか?

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

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

分析データの保存場所

Apigee または Apigee ハイブリッドのインストール時に分析データの場所を定義しました。有効なロケーションは、ステップ 1: 環境変数を定義するに掲載されている Compute Engine リージョンのサブセットです。

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

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

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

アナリティクス ダッシュボード

Apigee UI には事前定義されたダッシュボードのセットが用意されており、これを使用して分析データを表示できます。たとえば、次の図は API Proxy Performance ダッシュボードを示しています。

このダッシュボードには、次のチャートが含まれています。

  • Total Traffic - 組織内の API 環境について Apigee で受信された API リクエストの合計数。
  • Traffic Success - レスポンスに成功したリクエストの合計数。エラー レスポンスはカウントされません。
  • Traffic Errors - 失敗したすべての API リクエスト、つまり、レスポンスを送信しないリクエストの合計数。このカウントには、プロキシ(Apigee 側)とターゲット(バックエンド サービス)の両方のエラーが含まれます。
  • Average TPS - 1 秒あたりの API リクエストと結果のレスポンスの平均数。

その他の事前に定義されたダッシュボードを以下に示します。

これらの事前に定義されたダッシュボードの詳細については、Analytics ダッシュボードの使用をご覧ください。

カスタム レポート

カスタム レポートを使用すると、特定の 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/20120%2000:00~6/24/2020%2023:59&timeUnit=hour" \
  -X POST \
  -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 の使用をご覧ください。

分析データを GCP にエクスポートする

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

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

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

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

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

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

  • Errors: アプリでどのような API エラーが確認されているか。
  • Performance: 現在 API のレスポンスが遅いか。API メソッドのうち、一般的にレスポンスが遅いものや、その時点でレスポンスが遅いものはどれか。
  • Availability: 現在 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 プロキシに追加しますVerify API Key ポリシーOAuthV2 ポリシーVerify JWT ポリシーのトピックをご覧ください。

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

詳細