阅读719 返回首页    go 阿里云 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-采集_用户指南_日志服务-阿里云