閱讀719 返回首頁    go 阿裏雲


web tracking__loghub-采集_用戶指南_日誌服務-阿裏雲

日誌服務通過Tracking功能支持 HTML, H5, iOS 和 Android 平台的數據的數據采集,允許用戶自定義維度和指標。

web_tracking

如上圖所示,使用tracking功能可以采集各種瀏覽器以及ios、android APP的用戶信息,比如:

  1. 用戶使用的瀏覽器、操作係統、分辨率等。
  2. 用戶瀏覽行為記錄,比如用戶網站上的點擊行為、購買行為等。
  3. 用戶在APP中停留時間、是否活躍等。

使用方法

使用前,需要先開通logstore的tracking開關,目前在控製台上暫不支持可視化設置logstore支持tracking,如果要使用該功能,請先使用java sdk或者提工單給我們,工單裏麵列出需要開通的project、logstore。

使用java sdk請先引入maven地址:

  1. <dependency>
  2. <groupId>com.aliyun.openservices</groupId>
  3. <artifactId>aliyun-log</artifactId>
  4. <version>0.6.3</version>
  5. </dependency>
  1. import com.aliyun.openservices.log.Client;
  2. import com.aliyun.openservices.log.common.LogStore;
  3. import com.aliyun.openservices.log.exception.LogException;
  4. public class WebTracking {
  5. static private String accessId = "your accesskey id";
  6. static private String accessKey = "your accesskey";
  7. static private String project = "your project";
  8. static private String host = "log service data address";
  9. static private String logStore = "your logstore";
  10. static private Client client = new Client(host, accessId, accessKey);
  11. public static void main(String[] args) {
  12. try {
  13. //在已經創建的logstore上開通tracking功能
  14. LogStore logSt = client.GetLogStore(project, logStore).GetLogStore();
  15. client.UpdateLogStore(project, new LogStore(logStore, logSt.GetTtl(), logSt.GetShardCount(), true));
  16. //關閉tracking功能
  17. //client.UpdateLogStore(project, new LogStore(logStore, logSt.GetTtl(), logSt.GetShardCount(), false));
  18. //新建支持tracking功能的logstore
  19. //client.UpdateLogStore(project, new LogStore(logStore, 1, 1, true));
  20. }
  21. catch (LogException e){
  22. e.printStackTrace();
  23. }
  24. }
  25. }

logstore開通tracking功後,可以使用下麵三個方法上傳數據到logstore中。

方法一:使用http get請求發送數據到日誌服務中。

  1. curl --request GET 'https://${project}.${sls-host}/logstores/${logstore}/track?APIVersion=0.6.0&key1=val1&key2=val2'

其中${project}是用戶在日誌服務中開通的project名稱、${sls-host}是用戶日誌服務所在地區的域名,${logstore}是${project}下麵開通tracking功能的某一個logstore的名稱,APIVersion=0.6.0是保留字段,必選,key1=val1、key2=val2是用戶要上傳到日誌服務的key-value對,可以有多個,但是要保證url的長度小於16KB。

方法二:使用html img標簽

  1. <img src='https://${project}.${sls-host}/logstores/${logstore}/track.gif?APIVersion=0.6.0&key1=val1&key2=val2'/>

各個參數的含義同方法一。

方法三:使用js sdk

step 1,將loghub-tracking.js複製到web目錄,並在頁麵中引入如下腳本:

點擊下載

  1. <script type="text/javascript" src="loghub-tracking.js" async></script>

注意:為了不阻塞頁麵加載,腳本會異步發送http請求,如果頁麵加載過程中需要多次發送數據,後麵的請求會覆蓋前麵的http請求,看到的現象是瀏覽器中會顯示tracking請求退出。使用同步發送可以避免該問題,同步發送請在腳本中執行如下語句替換:

  1. 原始語句:
  2. this.httpRequest_.open("GET", url, true)
  3. 替換最後一個參數變成同步發送:
  4. this.httpRequest_.open("GET", url, false)

step 2,創建Tracker對象,第一個參數是endpoint、第二個是project、第三個是logstore。

  1. var logger = new window.Tracker('cn-hangzhou-staging-intranet.sls.aliyuncs.com','ali-test-tracking','web-tracking');
  2. logger.push('customer', 'zhangsan');
  3. logger.push('product', 'iphone 6s');
  4. logger.push('price', 5500);
  5. logger.logger();
  6. logger.push('customer', 'lisi');
  7. logger.push('product', 'ipod');
  8. logger.push('price', 3000);
  9. logger.logger();

上麵語句執行完後,在日誌服務中就會看到如下兩條日誌:

  1. customer:zhangsan
  2. product:iphone 6s
  3. price:5500
  1. customer:lisi
  2. product:ipod
  3. price:3000

消費數據

數據上傳到sls之後,可以使用日誌服務將數據導入ODPS或者EMR進行數據分析,也可以使用日誌服務提供的loghub client library消費數據。

最後更新:2016-11-23 17:16:07

  上一篇:go 網絡選擇__loghub-采集_用戶指南_日誌服務-阿裏雲
  下一篇:go log4j-appender__loghub-采集_用戶指南_日誌服務-阿裏雲