web-dev-qa-db-ja.com

REST Webサービスへの呼び出しを追跡するためのGoogleアナリティクスのようなソリューションはありますか?

このためのすぐに使える解決策があるかどうか疑問に思っていますが、分析APIに詳しくないので、サービスに行く前に分析を更新する簡単なjsを書くことができます-そうでなければ、私は固執する必要があります古き良き「データベースにレコードを保存する」。

助けてくれてありがとう!

40
JohnIdol

いくつかの解決策があるようですが、それらのほとんどはAPIアーキテクチャの変更を伴うようです。

Googleアナリティクス サーバーサイドトラッキングライブラリ のいずれかを使用する可能性があります。

AppEngineを使用しているようです。 AppEngineを使用してAPIも実行しており、最近 App Engine用のGoogleアナリティクスライブラリ を使用して遊んでいます。これは完璧なソリューションではありませんが、適切な量の高品質データがあります。

Googleアナリティクスのデータモデリングは、実際にはAPIのそれと類似していないことに注意してください。 APIによっては、「訪問」の概念は多少無意味です。

12
Yahel

Keen IO はここにぴったりだと思います。これは、APIのみの分析プラットフォームです(つまり、REST API)を介してデータを送信し、分析を利用します)。

完全な開示:私はCEOです。私はこのプロモーションを自己宣伝するための回答を書いているわけではありませんが、正直なところ、私たちの製品はあなたのようなユースケース向けに設計されていました。

いくつかのKeen IOユーザーは、ユーザーがAPIをどのように使用しているかを分析するためにそれを使用するAPI企業です。

メタになりすぎるリスクがあります:Keen IO APIを内部的に使用してイベントを収集し、お客様がKeen IO APIを使用する方法を分析します外部的には、例として、2つのイベントのデータモデルは次のようになります。*

  • analysis_call
    • リクエスト(オブジェクト)
      • client_library_version(文字列)
      • API_version(数値)
      • query_parameters(Key-Valueオブジェクト)
      • post_parameters(Key-Valueオブジェクト)
      • Origin_ip(IPアドレス)
      • URI(文字列)
    • num_events(整数)
    • includes_geolocation(ブール値)
    • user_agent(文字列)
    • 応答(オブジェクト)
      • HTTP_code(数値)
      • レイテンシ(数値)
      • ヘッダー(オブジェクト)
      • 本文(オブジェクト:1K未満の場合、実際の完全なJSON応答オブジェクト)
  • events_added_call
    • client_library_version(文字列)
    • API_version(数値)
    • Origin_ip(IPアドレス)
    • リクエスト(オブジェクト)
    • 応答(オブジェクト:実際の完全なJSON応答オブジェクト)

*実際にはこれよりもlot多くのプロパティを使用します。これをより明確にするために削除しました

14
Kyle Wild

まあ、あなたは... Googleアナリティクスを使用することができます

サーバーのREST APIハンドラー関数で、HTTP GETリクエストを http://www.google-analytics.com/__utm.gif に正しいパラメータで完了です。できれば非同期です。

https://developers.google.com/analytics/resources/concepts/gaConceptsTrackingOverview

8
Neil McGuigan

GA新しい Measurement Protocol を使用して)でこれを実行できます。これは現在パブリックベータ版です。

5
Andre Lackmann

あなたが探しているのはapigeeのようなものだと思います: http://apigee.com

2
jverdi

特にREST呼び出し: http://apianalytics.com それはすべてを持っているように見えますAPIのMixpanelに少し似ています。

免責事項:私の良い友達がこれを作った

1

Googleアナリティクスは、HTMLに埋め込んだJavaScriptのスニペットによってアクティブ化されるため、残りの呼び出しを追跡できないと思います。

ログを表示するには、 appengine console に移動し、アプリケーションを選択して ログを選択 を選択します。

プログラムでログにアクセスするには、ログをダウンロードする必要があります( JavaPython を使用)。ただし、今のところ、アプリ内では実行できないようです。エンジンなので、ワークステーションまたはAmazon EC2(たぶんマイクロ)インスタンスのいずれかで実行する必要があります。

一方、データストアにレコードを保存する場合は、タスクキュー内で更新を行うことで、APIが遅くならないようにします( JavaのタスクキューTask Pythonのキュー )。

1
stivlo

具体的にどのような情報を探していますか? httpアクセスログから必要なものを取得できる場合があります。

0
Bill