大连249建站之家免费精品网站自助建设系统平台免费微
首页 >> 技术分享 >>技术干货 >> 使用LogHub进行日志实时采集
详细内容

使用LogHub进行日志实时采集

 日志服务[LogHub功能](~~43721~~)提供日志数据实时采集与消费,其中实时采集功能支持30+种手段,这里简单介绍下各场景的采集方式。

日志服务LogHub功能提供日志数据实时采集与消费,其中实时采集功能支持30+种手段,这里简单介绍下各场景的接入方式。



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


背景


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





运营需求


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

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

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

用户运营,经常搞一些优惠活动(发送优惠券),但无法获得效果

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

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


数据采集难点


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

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

多终端:网页版、公众账号、手机、浏览器(web,m站)等

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

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

设备:商家有不同平台(X86,ARM)设备

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


日志统一管理、配置


创建管理日志项目Project,例如叫myorder

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

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(订单日志)

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

参考数据清洗与ETL

(更多操作可以参见快速开始/管理控制台)


用户推广日志采集


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

1. 网站注册时直接投放优惠券

2. 其他渠道扫描二维码,投放优惠券

- 传单二维码

- 扫描网页二维码登陆


做法

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

http://examplewebsite/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:其他参数

收集方式:

1. 应用程序输出日志到硬盘,通过Logtail采集

2. 应用程序通过SDK写入,参见SDK


服务端数据采集


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



做法

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

Docker中产生日志可以使用容器服务集成日志服务

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

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

Windows服务器可以使用Logstash采集


终端用户日志接入


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

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

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


Web/M 站页面用户行为


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

1. 页面与后台服务器交互:例如下单,登陆、退出等。

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


做法

第一种可以参考服务端采集方法

第二种可以使用Tracking Pixel/JS Library收集页面行为,参考Tracking Web接口


服务器日志运维


做法

参考服务端采集方法


不同网络环境下数据采集


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

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

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

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

更多请参见网络接入,总有一款适合你。


其他


参见LogHub完整采集方式。

参见日志实时消费,涉及流计算、数据清洗、数据仓库和索引查询等功能。


联系我们
更多

联系电话:0411-66373325

联系地址:大连市沙河口区富民广场

公司邮箱:2058793689@qq.com

备案信息:Copyright © 2016-2025,www.my249.com,All rights reserved

辽ICP备17015910号-1

seo seo