Simple Log Serviceは、HTML、HTML5、iOS、およびAndroidプラットフォームからログを収集するために使用できるwebトラッキング機能を提供します。 ディメンションとメトリックをカスタマイズしてログを収集することもできます。 このトピックでは、webトラッキング機能を使用してログを収集する方法について説明します。
背景情報
webトラッキング機能を使用して、ブラウザー、iOSアプリ、またはAndroidアプリからユーザー情報を収集できます。 情報は次のとおりです。
ユーザーが使用するブラウザ、オペレーティングシステム、および解像度。
Webサイトでのクリックや購入などのブラウジング動作。
ユーザーがアプリに費やす時間と、ユーザーがアクティブかどうか。
使用上の注意
Logstoreのwebトラッキング機能を有効にすると、インターネットからの匿名ユーザーにLogstoreの書き込み権限が付与されます。 これは、認証が行われないため、ダーティデータを生成し得る。
各GETリクエストの本文のサイズは16 KBを超えることはできません。
POSTリクエストを送信すると、一度に最大10 MBのログデータを書き込むことができます。 詳細については、「PutLogs」をご参照ください。
ステップ1: webトラッキング機能を有効にする
Simple Log ServiceコンソールまたはSDKを使用して、Logstoreのwebトラッキング機能を有効にできます。
Simple Log Serviceコンソールでwebトラッキング機能を有効にします。
Log Service コンソールにログインします。
[プロジェクト] セクションで、Logstoreのwebトラッキングを有効にするプロジェクトをクリックします。
を選択します。 [Logstores] タブで、管理するLogstoreを見つけ、 を選択します。
Logstore属性ページの右上隅にある変更をクリックします。
WebTrackingをオンにし、[Save] をクリックします。
SDKを使用してwebトラッキング機能を有効にします。
次のスクリプトは、Simple Log Service SDK for Javaを使用してwebトラッキング機能を有効にする方法を示しています。 詳細については、「Log Service SDK For Javaの使用を開始する」をご参照ください。
com.aliyun.openservices.log.Clientをインポートします。impor t com.aliyun.openservices.log.com mon.LogStore; com.aliyun.openservices.log.exception.LogExceptionをインポートします。public class WebTracking { static private String accessId = "your accesskey id"; static private String accessKey = "your accesskey"; static private String project = "your project"; static private String host = "log service data address"; static private String logStore = "your logstore"; static private Client client = new Client(host, accessId, accessKey); public static void main(String[] args) { try { // 既存のLogstoreのwebトラッキング機能を有効にします。 LogStore logSt = client.GetLogStore(project, logStore).GetLogStore(); client.UpdateLogStore(project, new LogStore(logStore, logSt.GetTtl(), logSt.GetShardCount(), true)); // webトラッキング機能を無効にします。 //client.UpdateLogStore(project, new LogStore(logStore, logSt.GetTtl(), logSt.GetShardCount(), false)); // webトラッキング機能を有効にするLogstoreを作成します。 //client.UpdateLogStore(project, new LogStore(logStore, 1, 1, true)); } catch (LogException e){ e.printStackTrace(); } } }
ステップ2: ログを収集する
Logstoreのwebトラッキング機能を有効にした後、次の方法を使用してLogstoreにログをアップロードできます。
GETメソッドを使用してログをアップロードします。
次のコマンドを実行して、ログをアップロードします。 ビジネス要件に基づいてパラメーターの値を置き換えます。 次の表は、各パラメーターの説明です。
curl -- request GET 'http://${project}.${host}/logstores/${logstore}/track?APIVersion=0.6.0&key1=val1&key2=val2'
パラメーター
必須
説明
${project}
必須
プロジェクトの名前。
${host}
必須
Simple Log Serviceが存在するリージョンのエンドポイント。 詳細については、「エンドポイント」をご参照ください。
${logstore}
必須
ログストアの名前
APIVersion=0.6.0
必須
予約済みのパラメーター。
__topic __= yourtopic
任意
アップロードするログのトピック。
key1=val1&key2=val2
必須
Simple Log Serviceにアップロードするキーと値のペア。
データサイズが16 KB未満であることを確認してください。
HTML <img> タグを使用してログをアップロードします。
<img src='http://${project}.${host}/logstoreSimple Log Servicee}/track.gif?APIVersion=0.6.0&key1=val1&kSimple Log Service <img src='http://${project}.${host}/logstores/${logstore}/track_ua.gif?APIVersion=0.6.0&key1=val1&key2=val2'/>
track_ua.gifファイルには、Log Serviceにアップロードするカスタムパラメーターが含まれています。 この方法を使用してログをアップロードすると、Log ServiceはカスタムパラメーターとUser-AgentおよびReferer HTTPヘッダーをログフィールドとして記録します。
説明Referer HTTPSヘッダーを収集するには、前の <img> タグのURLがHTTPSプロトコルを使用していることを確認します。
POSTメソッドを使用してログをアップロードします。
HTTP POSTリクエストを送信して、大量のデータをアップロードできます。 詳細については、「PutWebtracking」をご参照ください。