51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 584|回复: 0
打印 上一主题 下一主题

[原创] 数据质量线上监控的案例(上)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-11-10 15:27:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 草帽路飞UU 于 2022-11-10 15:28 编辑

有赞数据报表中心为商家提供了多维度、多渠道、多周期的数据,帮助商家更合理、科学的运营店铺,同时也直接提供分析决策方法供商家使用。
  多维度是指支持正逆向交易、商品、客户、流量、营销活动...

  多渠道是指支持全渠道、H5、APP、小程序(微信、支付宝、百度...)...

  多周期是指支持实时、自然日、自然周、自然月、近7天、近30天、季度、自定义。

  监控背景&解决的问题

  因为数据涉及商家运营策略的制定,所以在商用数据及时性和准确性上都会有很高的要求,而数据除了发布可能引入问题之外,每日调度时依赖表缺失、组件异常或者数据异常等均可能造成数据问题,所

以线上监控就显得非常重要,是发现和拦截问题的重要手段。本文主要分享有赞针对离线和实时数据做的一些监控实践,当前商家数据基本在7点前完成产出,所以线上监控规则大多是7点开始调度,为了更早

的发现问题,我们也开始做业务层表(kylin)构建完成后触发监控。

  章节分为4块,1.有赞的数据流图 2.离线数据(批处理)的线上监控详解 3.实时数据(流处理)的线上监控详解 4.线上监控效果 5.后期规划。

  一、有赞的数据流图

  有赞的数据主要来源于交易、商品、客户等各业务方和C端的埋点日志,在数据处理阶段提供离线和实时数据两个维度,在应用层不仅支持了通用的数据报表,也支持定制化的业务数据。



二、离线数据(批处理)的线上监控详解

  1 离线数据描述


  离线数据定义为昨天及以前时间的数据统计,周期维度有自然日、自然周、自然月、近7天、近30天、季度、自定义,主要是通过hivesql来处理和聚合。在梳理规则前,先简单了解下离线数据链路每层的

特性。



1.1 准确性规则-线上监控梳理

  离线数据的线上准确性监控分为指标、表和应用层三个维度,其中指标准确性又分为“跨表对比”、“同表逻辑性判断”和“自身判断”;表维度分为“行数判断”和“大小判断”;应用层分为“接口返

回历史数据不变判断”。

  指标维度


  跨表对比:是指不同表相同指标之间的等值判断,有赞数据中心当前仍然存在着页面不同定义相同的指标,来源于不同的底层表,后期随着底层表统一模型的建设,此类对比监控比重会逐步下降。

  同表逻辑性判断:是指同表不同指标之间的逻辑判断,比如支付人数<=支付订单数。


  自身判断:是指做指标本身的规则判断,比如枚举值、唯一性、非空性判断。


  表维度


  行数判断:是指表全量或者分区表行数基于过去某时间数据的同比/环比的变化判断,同时也支持取值范围的判断。

  大小判断:是指表全量或者分区表大小基于过去某时间数据的同比/环比的变化判断,同时也支持取值范围的判断。


  应用维度


  历史数据不变判断:是指过去某天/周/月下,在指标定义不变的前提下,接口返回数据不变判断,属于数据回归部分。

  基于上述描述,离线数据线上准确性监控模型的脑图如下:





监控维度确认后,下一步需要确认的是触发时机,离线数据处理流程长,每层的数据特性决定了对应的判断规则case,规则case详情描述如下:



1.2 及时性规则-线上监控梳理

  离线数据产出时间,上层表象主要由作业的开始调度时间、执行时长、deadline时间和规则校验时间这4个因子影响,下层影响因子是作业开发平台和大数据组件的稳定性。

  开始调度时间,是指作业的开始进入队列时间,不是开始执行时间。


  执行时长,是指作业开始执行到结束的时间,通常是由作业优先级、执行引擎、SQL执行效率影响。


  deadline时间,是指从作业开始调度,最长的可执行时间。


  规则校验时间,是指针对表编写的校验规则(电话告警)执行时间,数据更新时触发,当前最多可执行8分钟,超过即开始下游调度。

  通过上述描述的4个影响因子,同时结合上层表象是下层的体现,确认了商用指标工作流优先级P3及以上和数仓时间基线(待实现)的策略,以及deadline和电话告警耦合、接口返回指标数值判断兜底等



保障方法(当数据未产出时,应用代码默认为0或者直接返回空,接口返回指标数值判断,更新为接口返回指标数值>0判断。),其中接口返回指标数值>0判断和deadline告警为线上监控,也是接下来着重介


绍的。

  2 线上监控规则的实现


  针对不同层级数据,所有线上监控覆盖面参考下图(实圈为覆盖项,空圈为无交集项):




平台监控职责以及保障维度拆解如下:(图中“BI报表”主要是做元数据管理平台监控数据的报表统计,本次不做详细介绍。)



2.1 线上监控示例

  2.1.1 准确性示例


  基于元数据管理平台,实现“同表逻辑性”判断,数据变更时自动触发规则校验,具体实现如下图:




基于接口自动化平台,实现数据回归用例-“数据接口返回历史数据不变”判断,7-24点每10分钟定时触发,对于离线数据做10分钟间隔触发,也是为了监控数仓刷数和应用发布的动作。

  准确性监控,示例数据中心全量指标,如下图:




2.1.2 及时性示例

  基于接口自动化平台,实现“数据接口返回指标数值>0”判断,7点定时触发。 及时性监控,示例流量概况页面指标,如下图:















本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-16 18:14 , Processed in 0.071317 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表