百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

实时数据线上监控实践(实时监控技术)

ccwgpt 2024-10-26 08:43 22 浏览 0 评论

前言

实时数据是指对规模巨大的数据利用大数据技术高效的快速完成统计,达到近似实时的效果。对于商家来说,它的最基础价值是体现店铺当天的营业、访问等情况,进一步价值是可以去支撑商家及时更新针对用户的营销策略,提高商品访问到成交的转化等等,它不仅能提升商家的GMV,也能给用户带来好的体验,高效的买到自己心仪的商品,对此如何快速识别实时数据的质量问题,尽而快速止血,本文主要是从线上监控的质量方向来保障实时数据的质量。


文章主要分为5块:

  1. 监控背景
  2. 监控方案梳理
  3. 监控方案实现
  4. 监控告警处理
  5. 监控效果以及未来展望。



一、监控背景

实时数据在上线前,会经过精准、全面的测试,保证上线的数据无问题,但也无法避免因为底层组件升级、资源不足、硬件问题等等不可控因素导致的线上问题,同时以前的实时任务基本是线上裸奔的状态,没有很好的监控方式,对于数据问题很大程度上依赖于商家的主动上报,在这个背景下,急需一套完整的实时数据线上监控体系,来保障商家可以制定出合理的经营策略。


此监控体系最基础的需求是要覆盖数据的准确和及时性维度,同时能在分钟级别发现线上问题。



二、监控方案梳理

当前有赞数据中心大多实时指标为今日实时数据,统计时间为今日凌晨0时至当前时间,主要有店铺和商品两个维度,会对交易(正逆向)、流量、商品多个业务方的数据通过实时计算框架(Flink)做处理,最后结果数据落入底层存储(druid和TIDB等)


常规的实时指标统计流程如下:


实时数据出现问题的表象一般可以分为以下三种:


  1. 数据错误,体现数据不准,可能是指标实现逻辑有问题,是准确性特性。
  2. 数据变化缓慢,体现数据可能有积压,实时任务或者资源问题引起数据延迟产出,是及时性特性。
  3. 数据不变,体现数据不准或者有积压等,可能是准确性也可能是及时性特性 。


基于上述提到的数据问题表象,同时整理我们有的能力:1.Flink SQL的本地调试 2.Flink实时任务开发 3.接口自动化平台,给出“实时任务输入输出校验”、“上下游数据对比”、“昨日实时与昨日离线数据对比”三种解决策略,它们的主要功能描述如下:


  • 实时任务输入输出校验,主要是基于Flink SQL本地调试功能,对某一个实时任务进行监控。
  • 上下游数据对比,将最上游kafka明细数据,按照指标统计口径实现聚合,与开发的结果表数据对比,是覆盖全链路实时任务监控。
  • 昨日实时与昨日离线数据对比,是指昨日实时数据完全落库以及离线数据完全产出后,通过应用层接口(http/dubbo)将两个维度的数据提取出来进行比较,是对于结果层以及应用层修改的监控。


针对三个方案分别对应的保障维度、优点、不足、触发时机以及主要覆盖的问题参考如下:



三、监控方案实现

针对实时数据整理的三个方案,做的线上监控都是在接口自动化平台实现以及统一管理的,通过对接口的返回做断言,判断失败,会触发相关告警。

01

Flink本地调试,适合监控有逻辑处理的实时任务

本地调试支持三种数据验证方式:手动输入数据、上传数据文本、从kafka随机读取数据,主要用于上线前的任务逻辑准确性检测,可以极大提高开发效率,同时已支持任务中存在多个source和多个sink表的调试,详细的功能设计方案如下:


做实时节点监控主要是用到了“手动输入数据”场景,入口如下图:


通过本地调试实现单任务监控的流程如下图,核心是拿到入参消息体和返回,通过固定的入参消息,对返回做断言:


详细步骤解析:

  1. 拿到topic信息;
    通过在线计算平台,查看实时任务,找到创建source表配置,关注connector.topic参数,可以拿到对应的kafka topic信息。
  2. 拿到kafka消息体;
    同时平台提供kafka管理,找到对应的topic,拿到kafka消息体,可以复制及编辑成想要的入参。
  3. 拿到返回,添加用例;
    通过本地调试,输入步骤2的消息体,拿到实时任务处理后的返回,在接口自动化平台添加用例及断言,后续在线计算平台会支持事件订阅,实时任务变更发布即触发自动化用例。

02

上下游数据对比,适合用于监控实时流链路长、指标统计口径复杂,输入场景多&核心的指标

上下游数据对比,业务binlog数据通过nsq传给kafka后,将此明细数据落库,指标按统计口径实现,与开发的结果表数据对比,此处明细数据落库的必要性是为了方便排查线上监控问题。


具体步骤参考如下图:


详细步骤解析:

  1. 第1和第2步是前置准备动作,需要梳理消息域对应的kafka信息,是编写实时任务创建source表时必备的。
  2. 指标统计口径梳理及确认,需要开发、测试、产品经理一起参与。


特别关注点,对于源数据信息直接处理,以及消息按线上流程产出到结果表,这两者存在一定的时间差,因此需要多次对比,示例店铺维度支付金额、支付订单数指标,每10秒轮询一次,对比10次,10次全不相同触发告警,如果存在准确性/及时性问题,最早10*10=100秒左右发现。


03

昨日实时与昨日离线数据对比,重心是保障实时和离线数据的口径一致

昨日实时和昨日离线数据对比,分别调用数据应用的实时与离线指标接口,对两类指标做等值判断。


有赞数据中台对于离线数据存储主要使用kylin,实时主要使用druid,两类组件使用HLL估计值算法来计算去重指标的近似值,示例访客数、支付人数等,在断言时,需要做下差值范围判断。


示例如下:



四、监控告警处理

上述补充的监控用例触发告警后,问题的排查流程可以参考下图,对于数据延迟告警,可以看kafka积压现状,本次不赘述,流程中核心的步骤(标红)为:

  1. 查看&分析明细数据
  2. 重放数据


针对核心步骤“查看&分析明细数据”,在“上下游数据对比”方案中有将明细数据落库,通过接口调用展示到页面,减少捞数据/查询数据的时间,如图:


“重放数据”操作亦有平台支撑,通过和开发大哥一起搞“实时数据恢复演练”,优化和补充脚本,产出了操作文档。同时可以让开发能够熟练的进行数据修复,减少误操作和花费不必要的时间,将实时数据修复时间控制在半小时左右。



五、监控效果以及未来展望

在上下游数据对比方案上,目前因为时间、资源等原因,只覆盖了核心指标,包括店铺正向,商品正向和逆向,占整体实时指标30%左右,对于流量、加购等指标仍需要去补充;而且数据中心大部分实时指标仍然是通过Flink jar的方式实现,本地调试功能不太适用,对于此类单节点任务的线上监控暂时没有好的解决方法,好的消息是后续会逐步往Flink sql迁移。


线上实时数据质量的保障,除常规的测试方法覆盖外,线上实时监控针对目前线上实时数据质量保障策略中作为强有力质量辅助手段,填补了实时数据线上监控空白,从可观测层提前感知数据质量的健康情况,对后续数据故障演练,快速止血修复建立了基础承接。

如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论,

咱们下期见!答案获取方式:已赞 已评 已关~

学习更多JAVA知识与技巧,关注与私信博主(03)
























原文出处:https://mp.weixin.qq.com/s/foNTkz6hnBOGk5jz5sLoDQ

相关推荐

盲盒小程序背后的技术揭秘:如何打造个性化购物体验

在2025年的今天,盲盒小程序作为一种新兴的购物方式,正以其独特的魅力和个性化体验吸引着越来越多的消费者。这种将线上购物与盲盒概念相结合的应用,不仅为消费者带来了未知的惊喜,还通过一系列技术手段实现了...

小程序·云开发已支持单日亿级调用量,接口可用率高达99.99%

2019-10-1914:1210月19日,由腾讯云与微信小程序团队联合举办的“小程序·云开发”技术峰会在北京召开。会上,微信小程序团队相关负责人表示“小程序·云开发”系统架构已经支持每天亿级别的...

程序员副业开启模式:8个GitHub上可以赚钱的小程序

前言开源项目作者:JackonYang今天推荐的这个项目是「list-of-wechat-mini-program-list」,开源微信小程序列表的列表、有赚钱能力的小程序开源代码。这个项目分为两部分...

深度科普:盲盒小程序开发的底层逻辑

在当下的数字化浪潮中,盲盒小程序以其独特的趣味性和互动性,吸引着众多消费者的目光。无论是热衷于收集玩偶的年轻人,还是享受拆盒惊喜的上班族,都对盲盒小程序情有独钟。那么,这种备受欢迎的盲盒小程序,其开发...

微信小程序的制作步骤

SaaS小程序制作平台,作为数字化转型时代下的创新产物,不仅将易用性置于设计的核心位置,让非技术背景的用户也能轻松上手,快速制作出功能丰富、界面精美的小程序,更在性能和稳定性方面投入了大量精力,以确保...

携程开源--小程序构建工具,三分钟搞定

前言今天推荐的这个项目是「wean」,一个小程序构建打包工具。在wean之前,大量小程序工具使用webpack进行打包,各种loader、plugin导致整个开发链路变长。wean旨在解...

校园小程序的搭建以及营收模式校园外卖程序校园跑腿校园圈子系统

校园小程序的架构设计主要包括云端架构和本地架构两部分。云端架构方面,采用Serverless架构可以降低技术门槛,通过阿里云、腾讯云等平台提供的云服务,可以实现弹性扩容和快速部署。例如,使用云数据库、...

盲盒小程序开发揭秘:技术架构与实现原理全解析

在2025年的今天,盲盒小程序作为一种结合了线上购物与趣味性的创新应用,正受到越来越多用户的喜爱。其背后的技术架构与实现原理,对于想要了解或涉足这一领域的人来说,无疑充满了神秘与吸引力。本文将为大家科...

月活百万的小程序架构设计:流量暴增秘籍

从小程序到"大"程序的蜕变之路当你的小程序用户量从几千跃升至百万级别时,原有的架构就像一件不合身的衣服,处处紧绷。这个阶段最常遇到的噩梦就是服务器崩溃、接口超时、数据丢失。想象一下,在...

认知智能如何与产业结合?专家学者共探理论框架与落地实践

当前,以大模型为代表的生成式人工智能等前沿技术加速迭代,如何将认知智能与产业结合,成为摆在各行各业面前的一个问题。论坛现场。主办方供图7月4日,2024世界人工智能大会暨人工智能全球治理高级别会议在...

现代中医理论框架

...

认知行为(CBT)中的ABC情绪理论

情绪ABC理论是由美国心理学家阿尔伯特·艾利斯(AlbertEllis1913-2007)创建的理论,A表示诱发性事件(Activatingevent),B表示个体针对此诱发性事件产生的一些信...

说说卡伦霍妮的理论框架,对你调整性格和人际关系,价值很大

01自在今天我主要想说下霍妮的理论框架。主要说三本书,第一本是《我们时代的神经症人格》,第二本是《我们内心的冲突》,第三本是《神经症与人的成长》。根据我的经验,三本书价值巨大,但并不是每个人都能读进去...

供应链管理-理论框架

一个最佳价值的供应链,应该是一个具有敏捷性、适应性和联盟功能(3A)的供应链,其基本要素包括战略资源、物流管理、关系管理以及信息系统,目标是实现速度、质量、成本、柔性的竞争优势。篇幅有...

微信WeUI设计规范文件下载及使用方法

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。WeUI是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信Web开发量身设计,可以令用户的使用感知...

取消回复欢迎 发表评论: