实时数据线上监控实践(实时监控技术)
ccwgpt 2024-10-26 08:43 24 浏览 0 评论
前言
实时数据是指对规模巨大的数据利用大数据技术高效的快速完成统计,达到近似实时的效果。对于商家来说,它的最基础价值是体现店铺当天的营业、访问等情况,进一步价值是可以去支撑商家及时更新针对用户的营销策略,提高商品访问到成交的转化等等,它不仅能提升商家的GMV,也能给用户带来好的体验,高效的买到自己心仪的商品,对此如何快速识别实时数据的质量问题,尽而快速止血,本文主要是从线上监控的质量方向来保障实时数据的质量。
文章主要分为5块:
- 监控背景
- 监控方案梳理
- 监控方案实现
- 监控告警处理
- 监控效果以及未来展望。
一、监控背景
实时数据在上线前,会经过精准、全面的测试,保证上线的数据无问题,但也无法避免因为底层组件升级、资源不足、硬件问题等等不可控因素导致的线上问题,同时以前的实时任务基本是线上裸奔的状态,没有很好的监控方式,对于数据问题很大程度上依赖于商家的主动上报,在这个背景下,急需一套完整的实时数据线上监控体系,来保障商家可以制定出合理的经营策略。
此监控体系最基础的需求是要覆盖数据的准确和及时性维度,同时能在分钟级别发现线上问题。
二、监控方案梳理
当前有赞数据中心大多实时指标为今日实时数据,统计时间为今日凌晨0时至当前时间,主要有店铺和商品两个维度,会对交易(正逆向)、流量、商品多个业务方的数据通过实时计算框架(Flink)做处理,最后结果数据落入底层存储(druid和TIDB等)
常规的实时指标统计流程如下:
实时数据出现问题的表象一般可以分为以下三种:
- 数据错误,体现数据不准,可能是指标实现逻辑有问题,是准确性特性。
- 数据变化缓慢,体现数据可能有积压,实时任务或者资源问题引起数据延迟产出,是及时性特性。
- 数据不变,体现数据不准或者有积压等,可能是准确性也可能是及时性特性 。
基于上述提到的数据问题表象,同时整理我们有的能力:1.Flink SQL的本地调试 2.Flink实时任务开发 3.接口自动化平台,给出“实时任务输入输出校验”、“上下游数据对比”、“昨日实时与昨日离线数据对比”三种解决策略,它们的主要功能描述如下:
- 实时任务输入输出校验,主要是基于Flink SQL本地调试功能,对某一个实时任务进行监控。
- 上下游数据对比,将最上游kafka明细数据,按照指标统计口径实现聚合,与开发的结果表数据对比,是覆盖全链路实时任务监控。
- 昨日实时与昨日离线数据对比,是指昨日实时数据完全落库以及离线数据完全产出后,通过应用层接口(http/dubbo)将两个维度的数据提取出来进行比较,是对于结果层以及应用层修改的监控。
针对三个方案分别对应的保障维度、优点、不足、触发时机以及主要覆盖的问题参考如下:
三、监控方案实现
针对实时数据整理的三个方案,做的线上监控都是在接口自动化平台实现以及统一管理的,通过对接口的返回做断言,判断失败,会触发相关告警。
01
Flink本地调试,适合监控有逻辑处理的实时任务
本地调试支持三种数据验证方式:手动输入数据、上传数据文本、从kafka随机读取数据,主要用于上线前的任务逻辑准确性检测,可以极大提高开发效率,同时已支持任务中存在多个source和多个sink表的调试,详细的功能设计方案如下:
做实时节点监控主要是用到了“手动输入数据”场景,入口如下图:
通过本地调试实现单任务监控的流程如下图,核心是拿到入参消息体和返回,通过固定的入参消息,对返回做断言:
详细步骤解析:
- 拿到topic信息;
通过在线计算平台,查看实时任务,找到创建source表配置,关注connector.topic参数,可以拿到对应的kafka topic信息。 - 拿到kafka消息体;
同时平台提供kafka管理,找到对应的topic,拿到kafka消息体,可以复制及编辑成想要的入参。 - 拿到返回,添加用例;
通过本地调试,输入步骤2的消息体,拿到实时任务处理后的返回,在接口自动化平台添加用例及断言,后续在线计算平台会支持事件订阅,实时任务变更发布即触发自动化用例。
02
上下游数据对比,适合用于监控实时流链路长、指标统计口径复杂,输入场景多&核心的指标
上下游数据对比,业务binlog数据通过nsq传给kafka后,将此明细数据落库,指标按统计口径实现,与开发的结果表数据对比,此处明细数据落库的必要性是为了方便排查线上监控问题。
具体步骤参考如下图:
详细步骤解析:
- 第1和第2步是前置准备动作,需要梳理消息域对应的kafka信息,是编写实时任务创建source表时必备的。
- 指标统计口径梳理及确认,需要开发、测试、产品经理一起参与。
特别关注点,对于源数据信息直接处理,以及消息按线上流程产出到结果表,这两者存在一定的时间差,因此需要多次对比,示例店铺维度支付金额、支付订单数指标,每10秒轮询一次,对比10次,10次全不相同触发告警,如果存在准确性/及时性问题,最早10*10=100秒左右发现。
03
昨日实时与昨日离线数据对比,重心是保障实时和离线数据的口径一致
昨日实时和昨日离线数据对比,分别调用数据应用的实时与离线指标接口,对两类指标做等值判断。
有赞数据中台对于离线数据存储主要使用kylin,实时主要使用druid,两类组件使用HLL估计值算法来计算去重指标的近似值,示例访客数、支付人数等,在断言时,需要做下差值范围判断。
示例如下:
四、监控告警处理
上述补充的监控用例触发告警后,问题的排查流程可以参考下图,对于数据延迟告警,可以看kafka积压现状,本次不赘述,流程中核心的步骤(标红)为:
- 查看&分析明细数据
- 重放数据
针对核心步骤“查看&分析明细数据”,在“上下游数据对比”方案中有将明细数据落库,通过接口调用展示到页面,减少捞数据/查询数据的时间,如图:
“重放数据”操作亦有平台支撑,通过和开发大哥一起搞“实时数据恢复演练”,优化和补充脚本,产出了操作文档。同时可以让开发能够熟练的进行数据修复,减少误操作和花费不必要的时间,将实时数据修复时间控制在半小时左右。
五、监控效果以及未来展望
在上下游数据对比方案上,目前因为时间、资源等原因,只覆盖了核心指标,包括店铺正向,商品正向和逆向,占整体实时指标30%左右,对于流量、加购等指标仍需要去补充;而且数据中心大部分实时指标仍然是通过Flink jar的方式实现,本地调试功能不太适用,对于此类单节点任务的线上监控暂时没有好的解决方法,好的消息是后续会逐步往Flink sql迁移。
线上实时数据质量的保障,除常规的测试方法覆盖外,线上实时监控针对目前线上实时数据质量保障策略中作为强有力质量辅助手段,填补了实时数据线上监控空白,从可观测层提前感知数据质量的健康情况,对后续数据故障演练,快速止血修复建立了基础承接。
如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论,
咱们下期见!答案获取方式:已赞 已评 已关~
学习更多JAVA知识与技巧,关注与私信博主(03)
原文出处:https://mp.weixin.qq.com/s/foNTkz6hnBOGk5jz5sLoDQ
相关推荐
- 详解DNFSB2毒王的各种改动以及大概的加点框架
-
首先附上改动部分,然后逐项分析第一个,毒攻掌握技能意思是力量智力差距超过15%的话差距会被强行缩小到15%,差距不到15%则无效。举例:2000力量,1650智力,2000*0.85=1700,则智力...
- 通篇干货!纵观 PolarDB-X 并行计算框架
-
作者:玄弟七锋PolarDB-X面向HTAP的混合执行器一文详细说明了PolarDB-X执行器设计的初衷,其初衷一直是致力于为PolarDB-X注入并行计算的能力,兼顾TP和AP场景,逐渐...
- 字节新推理模型逆袭DeepSeek,200B参数战胜671B,豆包史诗级加强
-
梦晨发自凹非寺量子位|公众号QbitAI字节最新深度思考模型,在数学、代码等多项推理任务中超过DeepSeek-R1了?而且参数规模更小。同样是MoE架构,字节新模型Seed-Thinkin...
- 阿里智能化研发起飞!RTP-LLM 实现 Cursor AI 1000 token/s 推理技术揭秘
-
作者|赵骁勇阿里巴巴智能引擎事业部审校|刘侃,KittyRTP-LLM是阿里巴巴大模型预测团队开发的高性能LLM推理加速引擎。它在阿里巴巴集团内广泛应用,支撑着淘宝、天猫、高德、饿...
- 多功能高校校园小程序/校园生活娱乐社交管理小程序/校园系统源码
-
校园系统通常是为学校、学生和教职工提供便捷的数字化管理工具。综合性社交大学校园小程序源码:同城校园小程序-大学校园圈子创业分享,校园趣事,同校跑腿交友综合性论坛。小程序系统基于TP6+Uni-app...
- 婚恋交友系统nuiAPP前端解决上传视频模糊的问题
-
婚恋交友系统-打造您的专属婚恋交友平台系统基于TP6+Uni-app框架开发;客户移动端采用uni-app开发,管理后台TH6开发支持微信公众号端、微信小程序端、H5端、PC端多端账号同步,可快速打包...
- 已节省数百万GPU小时!字节再砍MoE训练成本,核心代码全开源
-
COMET团队投稿量子位|公众号QbitAI字节对MoE模型训练成本再砍一刀,成本可节省40%!刚刚,豆包大模型团队在GitHub上开源了叫做COMET的MoE优化技术。COMET已应用于字节...
- 通用电气完成XA102发动机详细设计审查 将为第六代战斗机提供动力
-
2025年2月19日,美国通用电气航空航天公司(隶属于通用电气公司)宣布,已经完成了“下一代自适应推进系统”(NGAP)计划下提供的XA102自适应变循环发动机的详细设计审查阶段。XA102是通用电气...
- tpxm-19双相钢材质(双相钢f60材质)
-
TPXM-19双相钢是一种特殊的钢材,其独特的化学成分、机械性能以及广泛的应用场景使其在各行业中占有独特的地位。以下是对TPXM-19双相钢的详细介绍。**化学成分**TPXM-19双相钢的主要化学成...
- thinkphp6里怎么给layui数据表格输送数据接口
-
layui官网已经下架了,但是产品还是可以使用。今天一个朋友问我怎么给layui数据表格发送数据接口,当然他是学前端的,后端不怎么懂,自学了tp框架问我怎么调用。其实官方文档上就有相应的数据格式,js...
- 完美可用的全媒体广告精准营销服务平台PHP源码
-
今天测试了一套php开发的企业网站展示平台,还是非常不错的,下面来给大家说一下这套系统。1、系统架构这是一套基于ThinkPHP框架开发的HTML5响应式全媒体广告精准营销服务平台PHP源码。现在基于...
- 一对一源码开发,九大方面完善基础架构
-
以往的直播大多数都是一对多进行直播社交,弊端在于不能满足到每个用户的需求,会降低软件的体验感。伴随着用户需求量的增加,一对一直播源码开始出现。一个完整的一对一直播流程即主播发起直播→观看进入房间观看→...
- Int J Biol Macromol .|交联酶聚集体在分级共价有机骨架上的固定化:用于卤代醇不对称合成的高稳定酶纳米反应器
-
大家好,今天推送的文章发表在InternationalJournalofBiologicalMacromolecules上的“Immobilizationofcross-linkeden...
- 【推荐】一款开源免费的 ChatGPT 聊天管理系统,支持PC、H5等多端
-
如果您对源码&技术感兴趣,请点赞+收藏+转发+关注,大家的支持是我分享最大的动力!!!项目介绍GPTCMS是一款开源且免费(基于GPL-3.0协议开源)的ChatGPT聊天管理系统,它基于先进的GPT...
- 高性能计算(HPC)分布式训练:训练框架、混合精度、计算图优化
-
在深度学习模型愈发庞大的今天,分布式训练、高效计算和资源优化已成为AI开发者的必修课。本文将从数据并行vs模型并行、主流训练框架(如PyTorchDDP、DeepSpeed)、混合精度训练(...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 详解DNFSB2毒王的各种改动以及大概的加点框架
- 通篇干货!纵观 PolarDB-X 并行计算框架
- 字节新推理模型逆袭DeepSeek,200B参数战胜671B,豆包史诗级加强
- 阿里智能化研发起飞!RTP-LLM 实现 Cursor AI 1000 token/s 推理技术揭秘
- 多功能高校校园小程序/校园生活娱乐社交管理小程序/校园系统源码
- 婚恋交友系统nuiAPP前端解决上传视频模糊的问题
- 已节省数百万GPU小时!字节再砍MoE训练成本,核心代码全开源
- 通用电气完成XA102发动机详细设计审查 将为第六代战斗机提供动力
- tpxm-19双相钢材质(双相钢f60材质)
- thinkphp6里怎么给layui数据表格输送数据接口
- 标签列表
-
- MVC框架 (46)
- spring框架 (46)
- 框架图 (58)
- bootstrap框架 (43)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- laravel框架 (46)
- express框架 (43)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (52)
- java框架spring (43)
- grpc框架 (55)
- orm框架有哪些 (43)
- ppt框架 (48)
- 内联框架 (52)
- winform框架 (46)
- gui框架 (44)
- cad怎么画框架 (58)
- ps怎么画框架 (47)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)
- oracle提交事务 (47)