数据中心数据质量线上监控的实践(下)

发表于:2022-11-08 09:43

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:侨歌    来源:有赞技术

分享:
  三、实时数据(流处理)的线上监控详解
  1 实时数据描述
  今日实时数据的统计时间均为今日零时截至当前更新时间,有赞数据中心实时数据主要分为店铺和商品两个维度,会对交易(正逆向)、流量、营销、商品多个业务方的数据做处理,最后结果数据落入底层存储,涉及的处理组件为Flink,底层存储为druid和TIDB。
  1.1 准确性规则-线上监控梳理
  实时数据的准确性校验分为上下游数据对比、昨日实时与昨日离线数据对比。
  上下游数据对比:是指业务方binglog日志传到数据侧时,在TIDB存入明细数据,按指标统计规则处理后与底层存储对比。
  昨日实时与昨日离线数据对比:是指昨日实时数据完全落库后,通过接口再提取出来与昨日离线的数据进行比较。
  1.2 及时性规则-线上监控梳理
  实时数据及时性,上层表象为实时指标不变或者变化缓慢,下层表象是kafka有积压,导致延迟的主要影响因子是Flink的配置和集群资源,对于集群和kafka的监控由运维同学cover,暂不做详细介绍。
  2 线上监控规则的实现
  上下游数据对比,执行时间为:全天每20分钟执行一轮,一轮校验500次,均不相等时,触发告警。
@Override
    @Scheduled(cron="0 0/20 * * * ?")
    public void teamOrderCheck() {
        tidbCheck();
        druidCheck();
    }
    public void druidCheck() {

        boolean druidAlert = true;
        try {
            //druid
            for (int i = 0; i < 500; i++){
                boolean res = checkOnceTeamOrder();
                if (res){
                    druidAlert = false;
                    break;
                }
                Thread.sleep(2000 );
            }
            String druidPayCnt = getDruidPayCnt();
            String detailPayCnt = getDetailPayCnt();
            if (druidAlert && !druidPayCnt.equals(detailPayCnt)){
                log.warn("500次检测均不通过.");
                String  content = "实时交易数据异常预警:druid 统计支付订单数:%s, 交易明细支付订单数:%s";
                alertBiz.commonAlert(String.format(content,druidPayCnt, detailPayCnt));
            }
        }catch(Exception e){
            log.warn("team order check error.");
        }
    }
  昨日实时和昨日离线数据对比,是基于接口自动化平台,分别调用数据应用的实时指标统计与离线接口,因依赖昨日离线数据,所以执行时间为每天早上7点,10分钟轮询调度方式,示例如下图:
  四、线上监控效果
  21年上半年以来,线上监控累计预警问题25+,其中18个是延迟性问题,有1个问题升级为故障,能够较好的在商家发现问题前,响应和处理,为商家正常使用准确的数据进行运营决策保驾护航。
  五、后续规划
  在数据质量线上监控实践中,仍有一些事项没有去落地,比如告警影响面评估、数据质量监控大盘等
  【告警影响面评估】出现告警时,需要确认监控的业务影响范围有哪些,不仅仅可以给到客满同学,在回复商家咨询问题时更精准,更是可以在问题修复后,可以进行准确的回归测试
  【数据质量监控大盘】BI报表承接了元数管理平台的监控统计,而当前监控涉及多个平台,需要对各平台的监控数据做实时聚合统计,会涉及指标设计、实时任务、前后端的开发。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号