本文共 3921 字,大约阅读时间需要 13 分钟。
日志服务提供日志数据实时采集与消费,其中实时采集功能支持30+种手段,这里简单介绍下各场景的接入方式。
数据采集一般有两种方式,区别如下。我们这里主要讨论通过LogHub流式导入(实时)采集。
方式 | 优势 | 劣势 | 例子 |
---|---|---|---|
批量导入 | 吞吐率大,面向历史存量数据 | 实时性较差 | FTP、OSS上传、邮寄硬盘、SQL数据导出 |
流式导入 | 实时,所见即所得,面向实时数据 | 收集端要求高 | LogHub、HTTP上传、IOT,Queue |
“我要点外卖“是一个平台型电商网站,用户、餐厅、配送员等。用户可以在网页、App、微信、支付宝等进行下单点菜;商家拿到订单后开始加工,并自动通知周围的快递员;快递员将外卖送到用户手中。
在运营的过程中,发现了如下的问题:
在数据化运营的过程中,第一步是如何将散落日志数据集中收集起来,其中会遇到如下挑战:
我们需要把散落在外部、内部日志收集起来,统一进行管理。在过去这块需要大量几种工作,现在可以通过LogHub采集功能完成统一接入。
为不同数据源产生日志创建日志库,例如:
如需要对原始数据进行清洗与ETL,可以创建一些中间结果logstore
(更多操作可以参见)
为获取新用户,一般有2种方式:
其他渠道扫描二维码,投放优惠券
定义如下注册服务器地址,生成二维码(传单、网页)供用户注册扫描。用户扫描该页面注册时,就知道用户通过特定来源进入,并记录日志。
http://examplewebsite/login?source=10012&ref=kd4b
当服务端接受请求时,服务器输出如下日志:
2016-06-20 19:00:00 e41234ab342ef034,102345,5k4d,467890
收集方式:
支付宝/微信公众账号编程是典型的Web端模式,一般会有三种类型日志:
Nginx/Apache 访问日志:用以监控、实时统计
10.1.168.193 - - [01/Mar/2012:16:12:07 +0800] "GET /Send?AccessKeyId=8225105404 HTTP/1.1" 200 5 "-" "Mozilla/5.0 (X11; Linux i686 on x86_64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2"
Nginx/Apache 错误日志
2016/04/18 18:59:01 [error] 26671#0: *20949999 connect() to unix:/tmp/fastcgi.socket failed (111: Connection refused) while connecting to upstream, client: 10.101.1.1, server: , request: "POST /logstores/test_log HTTP/1.1", upstream: "fastcgi://unix:/tmp/fastcgi.socket:", host: "ali-tianchi-log.cn-hangzhou-devcommon-intranet. sls.aliyuncs.com"
应用层日志:应用层日志要把事件产生的时间、地点、结果、延时、方法、参数等记录详细,对于扩展类字段一般放在最后
{ "time":"2016-08-31 14:00:04", "localAddress":"10.178.93.88:0", "methodName":"load", "param":["31851502"], "result":.... "serviceName":"com.example", "startTime":1472623203994, "success":true, "traceInfo":"88_1472621445126_1092"}
应用层错误日志:错误发生时间、代码行、错误码、原因等
2016/04/18 18:59:01 :/var/www/html/SCMC/routes/example.php:329 [thread:1] errorcode:20045 message:extractFuncDetail failed: account_hsf_service_log
页面用户行为收集可以分为两类:
例如:
Syslog日志
Aug 31 11:07:24 zhouqi-mac WeChat[9676]: setupHotkeyListenning event NSEvent: type=KeyDown loc=(0,703) time=115959.8 flags=0 win=0x0 winNum=7041 ctxt=0x0 chars="u" unmodchars="u" repeat=0 keyCode=32
应用程序Debug日志
__FILE__:build/release64/sls/shennong_worker/ShardDataIndexManager.cpp__LEVEL__:WARNING__LINE__:238__THREAD__:31502offset:816103453552saved_cursor:1469780553885742676seek count:62900seek data redolog:pangu://localcluster/redo_data/41/example/2016_08_30/250_1472555483user_cursor:1469780553885689973
Trace日志
[2013-07-13 10:28:12.772518] [DEBUG] [26064] __TRACE_ID__:661353951201 __item__:[Class:Function]_end__ request_id:1734117 user_id:124 context:.....
LogHub在各Region提供 访问点,每个Region提供三种方式接入点:
更多请参见,总有一款适合你。
转载地址:http://jwdel.baihongyu.com/