开发者学堂课程【DevOps 日志分析实战 :运营增长实战(二)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/736/detail/13104
运营增长实战(二)
二、日志服务的整体功能
1.数据实时采集(LogHub)
40+渠道公网加速断点续传数据加工
免维护、低成本
2.数据加工(Transformation)
开箱即用,免运维
开放灵活,无需写代码
稳定可靠
3.智能查询分析(Search/Analytics)
SQL92 语法
秒级分析亿级
所见即所得
AI、预测与告警
4.数据分发 LogShipper/LogHub
免维护/免费生态丰富使用简单
三、SLS 在埋点场景下的产品能力介绍
在埋点层面上而言,更关注的是数据怎么能够埋在客户端、网页端、服务端等等。能否有简单轻量便携的方法使数据能够快速的传输回来?
对于非结构化的数据如何转换为结构化的数据使市场人员、运营人员进行分析?
提供了开箱即用免运维的数据加工方案,这种方案的好处是用户只需要关注自己的业务逻辑,将拆分规则、分发规则以及孵化规则写好即可。
当数据加工好后,最后要进行一些智能的分析,包括留存率的分析、漏斗模型的分析等等。在此提供了标准的 SQL92的方法,可以大大的简化用户分析的门槛,同时也针对亿级别的数据提供了秒级返回结果的能力,同时还有一些图表(非常丰富),这些图标可以定制化的对用户展示自己的结果,同时把这些结果放在一个大盘中,可以在各个维度上展示相关的内容。
1.数据实时采集
在数据采集阶段,比较相关的是服务器应用数据。在该类中,可能大多层面上用户会去接一些访问日志,包括程序 debug 日志(debug 日志中可能会打很多用户的埋点数据,包括什么时间点、某一个用户、走的某一个接口、状态如何等等。)。还有互联网设备,互联网设备中还有很多例如教学机、游戏机、早教的伴读机等等。在其中可能会有很多影响用户的体验点,例如软件崩溃、某一个卡顿、联网的网络性能差等等,这些点在用户的方面看,很难让服务端改版知道,这时需要将 SDK 集成到物联网设备中,将一些信息传到服务端,然后可以更好的帮助研发人员和运营人员做一些相关的后续改进。还有移动埋点,移动埋点提供了三种方案,方案分别是 AS 的采集(SDK)、安卓的as SDK 、js SDK 。可以在不同的关里面做埋点操作。
2.查询分析
提供了上百种 SQL 分析的算子,可以比较好的帮助用户分析一些同环比指标,可以使用同环比的算子,对高风险或有欺诈行为的 IP 的库,以及手机相关号码的查询、是否是黑产的检查查询。同时对于很多请求而言,大部分都在 url,在 url 端大部分会提供丰富的 url 的解析、转换、编码和一些函数接口,同时针对于业务指标,例如 pb等等,这些宏观的业务指标可以提供一些预测的方法让用户可以去关注到未来一周或未来一个月的趋势发展的状态,同时还可以把相关的结果存到 dashword 中做一些订阅以及格式化相关的工作。
3.不同埋点方案之间的差异:
代码埋点:
在某个空间操作发生时通过预先写好的代码来发数据
可视化埋点:
通过可视化界面配置控件操作与事件发生关系然后记录到某一个文件中的埋点方案
全埋点:
也叫无埋点,用户展现界面元素时,通过控件绑定触发事件,事件被触发时系统会有相应的接口让开发者处理这些行为(也可以丢掉)
差异:
|
代码埋点 |
可视化埋点 |
全埋点 |
服务端埋点 |
按业务需求定义埋点 |
Y |
Y |
N |
Y |
支持事件参数 |
Y |
Y |
Y |
|
部署周期 |
指定版本 |
灵活发布 |
一次性部署 |
后端发布 |
需要技术人员参加 |
Y |
N |
Y |
Y |
版本更新复杂度 |
Y |
N |
Y |
Y |
分析数据难度 |
低 |
低 |
高 |
一般 |
输出数据量 |
自定义 |
自定义 |
全面/较大 |
较大 |
适合客户群体 |
定制化需求 |
定制化需求 |
|
定制化需求 |
部署周期和部署的复杂程度较为关注,代码埋点或者服务端埋点都会涉及到研发版本,例如某段代码想要多两个字段,则一定要将内容写入代码中然后重新发布才能支持支持这两个字段的采集。对于服务端也是一样的,服务端也会经过一些配置和更新。大部分情况下都是想要计算人员参与,对接各个埋点的数据,将数据集成到产品中然后把数据采回。根据数据量而言,一般对代码埋点以及服务端埋点其数据都是可控的,可以根据自己的也需求来定制