备案 控制台
文档
产品文档

采集-多渠道数据

更新时间:
一键部署
产品详情
相关技术圈
我的收藏

日志服务LogHub功能提供数据实时采集与消费,其中实时采集功能支持50+种手段。

数据采集一般有两种方式,区别如下。本文档主要讨论通过LogHub流式导入(实时)采集数据。

方式

优势

劣势

例子

批量导入

吞吐率大,面向历史存量数据

实时性较差

FTP、OSS上传、邮寄硬盘、SQL 数据导出

流式导入

实时,所见即所得,面向实时数据

收集端要求高

LogHub、HTTP上传、IoT,Queue

背景

“我要点外卖”是一个平台型电商网站,涉及用户、餐厅、配送员等。用户可以在网页、App、微信、支付宝等进行下单点菜。商家拿到订单后开始加工,并自动通知周围的快递员。快递员将外卖送到用户手中。

背景

运营需求

在运营的过程中,发现了如下的问题:

  • 获取用户难,投放一笔不小的广告费到营销渠道(网页、微信推送),收获了一些用户,但无法评判各渠道的效果。

  • 用户经常抱怨送货慢,但慢在什么环节,接单、配送还是加工,如何进行优化?

  • 用户运营,经常搞一些优惠活动,但无法获得效果。

  • 调度问题,如何帮助商家在高峰时提前备货?如何调度更多的快递员到指定区域?

  • 客服服务,用户反馈下单失败,用户背后的操作是什么?系统是否有错误?

数据采集难点

在数据化运营的过程中,第一步是如何将散落的日志数据集中收集起来,其中会遇到如下挑战:

  • 多渠道:例如广告商、地推(传单)等。

  • 多终端:网页版、公众账号、手机、浏览器(Web、移动端页面)等。

  • 异构网:VPC、用户自建IDC,阿里云ECS等。

  • 多开发语言:核心系统Java、前端Nginx服务器、后台支付系统C++。

  • 设备:商家有不同平台(X86、ARM)设备。

我们需要把散落在外部、内部的日志收集起来,统一进行管理。在过去这块需要大量的和不同种类的工作,现在可以通过LogHub采集功能完成统一接入。

数据采集难点

日志统一管理、配置

  1. 创建管理日志项目,例如myorder。

  2. 为不同数据源产生的日志创建日志库,例如:

    • wechat-server(存储微信服务器访问日志)

    • wechat-app(存储微信服务器应用日志)

    • wechat-error(错误日志)

    • alipay-server

    • alipay-app

    • deliver-app(送货员App状态)

    • deliver-error(错误日志)

    • web-click(H5页面点击)

    • server-access(服务端Access-Log)

    • server-app(应用)

    • coupon(应用优惠券日志)

    • pay(支付日志)

    • order(订单日志)

  3. 如需要对原始数据进行清洗与ETL,可以创建一些中间结果Logstore。

用户推广日志采集

采集方案

为获取新用户,一般有两种方式:

  • 网站注册时直接投放优惠券。

  • 其他渠道扫描二维码,投放优惠券。

    • 传单二维码

    • 扫描网页二维码登录

实施方法

定义如下注册服务器地址,生成二维码(传单、网页)供用户注册扫描。用户扫描该页面进行注册时,就可以得知用户是通过特定来源进入的,并记录日志。

http://example.com/login?source=10012&ref=kd4b

当服务端接受请求时,服务器输出如下日志:

2016-06-20 19:00:00 e41234ab342ef034,102345,5k4d,467890

其中:

  • time:注册时间。

  • session:浏览器当前session,用以跟踪行为。

  • source:来源渠道。例如,活动A为10001,传单为10002,电梯广告为10003。

  • ref:推荐号,是否有人推荐注册,没有则为空。

  • params:其他参数。

收集方式:

  • 应用程序输出日志到硬盘,通过Logtail采集。更多信息,请参见 什么是Logtail。

  • 应用程序通过SDK写入。更多信息,请参见 SDK参考概述。

服务端数据采集

采集方案

支付宝和微信公众账号编程是典型的Web端模式,一般会有四种类型的日志:

  • Nginx和Apache访问日志

    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: "example.com" 
  • 应用层日志

    应用层日志要把事件产生的时间、地点、结果、延时、方法、参数等记录详细,扩展类字段一般放在最后。

    {
        "time":"2016-08-31 14:00:04",
        "localAddress":"192.0.2.8: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                    

实施方法

  • 日志写到本地文件,通过Logtail配置正则表达式写到指定Logstore中。

  • Docker中产生的日志可以使用容器服务集成日志服务进行采集。

  • Java程序可以使用Log4J Appender(日志不落盘),LogHub Producer Library(客户端高并发写入),Log4J Appender。

  • C#、Python、Java、PHP、C等可以使用SDK写入。

终端用户日志接入

采集方案

  • 移动端:可以使用移动端iOS SDK,Android或MAN(移动数据分析)接入。

  • ARM设备:ARM平台可以使用Native C交叉编译。

  • 商家平台设备:X86平台设备可以用SDK、ARM平台可以使用Native C交叉编译。

实施方法

  • 日志写到本地文件,通过Logtail配置正则表达式写到指定Logstore中。

  • Docker中产生的日志可以使用容器服务集成日志服务进行采集。

  • Java程序可以使用Log4J Appender(日志不落盘),LogHub Producer Library(客户端高并发写入),Log4J Appender。

  • C#、Python、Java、PHP、C等可以使用SDK写入。

Web/移动端页面用户行为

采集方案

页面用户行为收集可以分为两类:

  • 页面与后台服务器交互:例如下单、登录、退出等。

  • 页面无后台服务器交互:请求直接在前端处理,例如滚屏、关闭页面等。

实施方法

使用WebTracking收集页面行为。具体操作,请参见 使用Web Tracking采集日志。

服务器日志运维

采集方案

例如:

  • 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__:31502
    offset:816103453552
    saved_cursor:1469780553885742676
    seek count:62900
    seek data redo
    log:pangu://localcluster/redo_data/41/example/2016_08_30/250_1472555483
    user_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:.....

实施方法

  • 日志写到本地文件,通过Logtail配置正则表达式写到指定Logstore中。

  • Docker中产生的日志可以使用容器服务集成日志服务进行采集。

  • Java程序可以使用Log4J Appender(日志不落盘),LogHub Producer Library(客户端高并发写入),Log4J Appender。

  • C#、Python、Java、PHP、C等可以使用SDK写入。

不同网络环境下的数据采集

LogHub在各Region提供访问点,每个Region提供三种方式接入:

  • 内网(经典网络):本Region内服务访问,带宽链路质量好(推荐)。

  • 公网(经典网络):可以被任意访问,访问速度取决于链路质量、传输安全保障建议使用HTTPS。

  • 私网(专有网络VPC):本Region内VPC网络访问。

上一篇:采集公网数据 下一篇:通过Logtail采集Zabbix数据

    PHP网站源码惠州推广网站广州网站改版南联网络推广大芬百度网站优化排名深圳网站建设龙华优化大运网站推广永湖网站推广工具吉祥网站制作光明建设网站龙岗网站改版塘坑网站搜索优化同乐设计网站大浪关键词按天扣费坪地seo优化石岩网站优化排名南联网站推广大芬SEO按效果付费南澳SEO按天扣费宝安阿里店铺运营平湖外贸网站设计塘坑百度标王南澳百度爱采购坪地阿里店铺运营深圳高端网站设计丹竹头SEO按效果付费惠州百度爱采购木棉湾SEO按天收费大浪网站搭建民治关键词按天计费歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

    PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化