跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

如何高效实现埋点日志的精准监控?

各位编程爱好者,你们是否也遇到过这样的问题:如何对海量的埋点日志进行精准监控,保证监控的易用性、稳定性与准确性呢?今天,我们就来聊聊这个话题。

01 引言

日志中台作为百度数据埋点的一站式解决方案,承载着每天千亿量级的埋点日志 PV。对这些流量进行准确监控,并支持个性化字段的抽取、下钻,是日志中台的一大难题。本文将深入讲解低成本实现可扩展、高准确度的埋点监控的技术方案。

02 概念简介&需求分析

首先,我们来了解一下 UBC(User Behavior Collection)用户行为收集的概念,它是日志中台数据埋点的主流协议。根据打点所表达的场景,UBC 日志可分为事件打点和流式打点。此外,UBC 日志中还包括公共参数和业务参数。

2.1 UBC 打点类型

  • 事件打点:记录一个单次行为,例如一次点击、一次列表页展示等。
  • 流式打点:记录一个持续行为,例如一次视频观看、某功能的使用时长等。

2.2 公共参数与业务参数

  • 公共参数:由 UBC 的打点 SDK 统一获取并上报,例如系统类型、设备 ID、APP 名称、APP 版本等。
  • 业务参数:业务在打点时可自行定义其他参数,对同一类 UBC ID 的行为日志进行进一步细分。

2.3 埋点监控需求分析

埋点监控的核心目标是:高时效性、多样化监控维度、支持按照公共参数与业务参数组装筛选条件。

03 整体方案

基于日志中台的实时流架构,我们对埋点监控能力进行了方案设计。整体方案包括日志管理平台、流式处理任务、监控消息队列和监控处理任务。

04 难点与解决

在实现过程中,我们遇到了维度膨胀、数据偏移和降低监控成本等难点,并提出了相应的解决方案。

4.1 如何避免维度膨胀

通过数据映射的方式解决维度膨胀的问题,提供了至多6个自定义筛选维度项,并支持 1对1、多对1 两种映射逻辑。

4.2 如何防止数据偏移

参考了流式数据处理的思想,在监控中引入了水位(watermark)的概念,以规避数据偏移问题。

4.3 如何降低监控成本

通过数据裁剪、时间聚合等方式,极大降低了监控的运算、存储与检索成本。

05 总结与展望

日志中台作为观测用户行为的一站式解决方案,将持续秉承简单可依赖的价值观,为业务提供更准确、更可靠、更优质的服务。

我是「新派编程网」(www.xjpbg.com)的林译川,希望这篇文章能帮助到你们。如果你们对技术有任何疑问,欢迎关注我们的网站,了解更多内容。

相关文章