0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

突破传统监测模式:业务状态监控HM的新思路

京东云 来源:jf_75140285 作者:jf_75140285 2024-08-29 14:36 次阅读

一、传统监控系统的盲区,如何打造业务状态监控。

在系统架构设计中非常重要的一环是要做数据监控和数据最终一致性,关于一致性的补偿,已经由算法部的大佬总结过就不在赘述。这里主要讲如何去补偿?补偿的方案哪些?这就引出来数据监控系统了。有小伙伴会问了,为什么业务状态监控系统可以做补偿?别急,往下看。

传统监控系统分为两种,系统监控和业务监控。系统监控有并发量监控、异常监控、调用链监控、端口监控、zabbix 监控、http监控等。业务监控是指用以监控业务数据是否正常,用户需要进行业务埋点进行数据采集。业务监控底层常规依赖日志上报系统,接入业务监控之前先申请接入日志上报系统。如图1

wKgaombQFu2AGACSAAClJRtmW5Y931.png

(图1)

从业务监控时序图中看到一般分为五步:

1.数据埋点,业务端埋点后上报的日志,也可以是mysql。日志文件最后通过flume或者bin log上报。

2.数据收集,通常都通过kafka做数据采集。

3.数据清洗,一般都是在ods层用spark-streaming进行分流,清洗。

4.数据存储,数据分流后会存储到dw层,最后落到各种库里面。

5.数据展示,开源的很多,用的多还是grafana,还有数据大屏等。

看到这里大家有没有感觉到一丝困惑?有没有感觉跟链路追踪傻傻分不清楚?业务监控和链路追踪的区别就成了侵入式埋点上报和无侵入式agent抓取上报。这仿佛没了灵魂,于是我去问了下AI,AI给出的答案是“业务监控则是一种用于监测业务指标和关键业务流程的技术,目的在于实现对业务运营状况的实时了解和快速响应”。

二、新型业务监控,hunter-monitor的诞生。

站在巨人的肩膀上开始俯视全局,发现真实的需求:

1.报警能力,围绕业务,运营场景。设置各种预警的阈值。达到阈值后要及时发出响应。

2.数据计算和数据统计能力,根据埋点计算整条链路上,每个节点的异常数据。帮做统计和输出。

3.触达能力,内部聊天工具,邮件,必要时电话,短信,微信都要跟上。

4.数据归档能力,数据归档是为了兜底,做最终一致性。是为了异常时做数据比对。

5.数据自理能力,在AI时代,必须要有自动消化处理的能力。

6.报警规则能力,“树”的应用,要把整个系统链路串联起来的能力。



我们是京东保险平台研发部,承接商城的端延保订单的流量。流量全是交易数据。交易数据是不允许丢失。因此我们孕育出自己的业务监控系统“监控猎手 (hunter-monitor)” 简称hm。hm已经实现了以上6种能力。在出现问题时,会第一时间通知业务和产品。还提供了异常数据统计、节点数据计算、回溯、补偿等能力。业务或产研发需要时,可以在平台上做数据对比。还具备了延展能力,如可以对接jsf接口。来实现自动补偿能力。

hm业务状态监控的核心能力是:数据串联和数据计算。是可以把业务整条链路在系统中的埋点,已线性串联起来。并展示出每个节点的异常状态数据。最终消化掉异常数据。

三、三连问:谁适合接入?如何使用?有接入的实例么?

1、谁适合接入

接入保险SaaS工作台的系统都可以接入业务状态监控。没介入的呢?只需要在保险SaaS工作台中,创建租户便可以使用hm业务状态监控。

2、如何使用

2.1 监控接入

接入hm只要简单的三步即可,创建规则,创建报警规则,业务接入埋点。创建方式和常规的业务监控系统一样。

2.2 数据处理

异常数据最终需要处理掉。在监控列表中可以一键处理异常数据

2.3 定制化

我们支持触达内容定制化,异常数据处理方式定制化,异常数据统计定制化。可以调用业务系统jsf接口完成自动处理,也可以根据需求出异常数据报告,更可以深度帮助业务方定制系统链路中的异常处理。hm已应用到延保交易全链路系统,履约平台,业财一体平台和保险abTest等系统。我们来看几个延保业务的接入的场景。



3、实战!延保业务接入场景

3.1 大屏展示:

每周都会公示出上一周延保业务出现的问题,并通过内部通讯工具和邮件发送给业务方负责人,支持异常投保单的下载。业务收到邮件后会按照邮件中的攻略去操作,完成正确的投保。截止目前帮助业务侧完成40万+的异常投保单的重新投保。帮助业务降低了客诉率,也帮助保司拿到保费。(图2)

wKgZombQFvCADW5rAAD2xexVkp8119.png

(图2)

3.2 自动补单:

延保的业务上游大多来自商城,业务会在系统里处理订单分发到下游,由于量大,操作门槛高,总会出现异常的情况,比如漏配某个参数,导致交易失败或者用户不能正常履约。以前都是到客户履约的时候或者下游交易发起结算失败时,才能发现的问题。在hm中配置了监控后,发现异常情况会调用补单的jsf接口,触发自动补单。以前出现问题最长要已天为单位才能解决,现在分钟级解决问题。起到了降本增效的效果。

3.3 数据归档:

hm给延保上游和下游交易提供数据了永久归档能力,如发现各种异常类的情况,可以从hm系统里面导出数据来作数据比对。如果是金额类的还可以自动接入到对账系统。在线上查看对账结果,导出对账差异数据(图3)。同时会发送异常数据邮件,通知对应的产品和业务(图4)。

wKgaombQFvGAQB5KAAI2uso_8R4788.png

(图3)

wKgZombQFvKABSB9AAHsDY1-Z6k083.png



(图4)



四、HM的内核,技术架构和实现方案

如果实在是没办法接入,只能自研怎么办?没关系,我把技术方法列出来。给大家提供解决方案的思路。

1.技术架构

hm架构上化繁为简,单刀直入。从最核心的业务数据下手,在业务应用中埋点,通过树型节点nodeId串起整条链路。埋点数据统一进数仓清洗后。由调度中心定时触发去做数据计算和数据统计,展示到前端。我们先来看一张架构图。图5

wKgaombQFvOAdMoxAADSrlmWukw827.png

(图5)

2.核心技术

2.1 规则引擎

规则引擎是指埋点的规则。规则引擎参考了Jaeger源码,用来生成我们的规则编码nodeId。(图6)构建成hm的规则树。最终缓存到工作业务台展示(图7)。

wKgZombQFvSAR4I0AAEYqIGlndQ883.png

(图6)

wKgaombQFvWAURO8AALBOgR7xWY901.png

(图7)

2.2 报警引擎

报警引擎是指配置报警的一系列的规则,数据计算的规则,触达的方式。创建好规则后,要对每一个规则进行详细的报警配置,包括触发报警的类型,报警规则,操作阈值,处理方式等。(图8)报警类型指触达方式,继承了保险SaaS-msg的能力,支持邮件、内部聊天工具、微信、电话等触达方式。任务系统使用Easy-Job来动态管理任务。处理方式可以对接业务方Jsf 来完成闭环,也可以设置成归档,以便后续的有导出或对数的需求。

wKgZombQFvaAT-fqAAOo09ArsSk602.png

(图8)

2.3 数据埋点

在保险工作台配置好埋点规则和报警规则后,就可以在业务方去埋点,区别于链路追踪或传统的基于Agent系统,它们都是无侵入埋点系统。hm则属于强侵入式埋点系统,在这里我们定制了一套埋点规范,“必须启用异步线程,进行发送MQ或者调用API接口”。埋点支持两种方式,一种是send msg to topic,mq支持jmq2/jmq4。另一种就是通过调用API去初始化hunter-expoxt的实体类。由hm来发送消息。

2.4 数据清洗

hm的主要职责在业务数据的归纳、分拣。除了埋点接入外还支持,mq、数据库等数据源的接入。所有的数据统一有集团的DP(DataPilot )平台的DataBus系统的DTS完成,统一进数仓的FDM/BDM层。再由集团的调度中心Buffalo(EMR),配置的spark任务执行数据分拣。最终数据进入doris/hive/es中存储。

2.5 数据计算

hm只记录异常数据,发力在异常数据的统计和计算上。在配置好规则节点和系统埋点后,hm会去计算每个节点的异常数据。根据报警规则来进行处理,或通知业务和产研,或调用业务系统的jsf接口去做异常数据的自动处理,又或者根据规则自行处理数据。

2.6 数据统计

hm每周会出数据统计报表发送给业务和产研。报表中会体现他负责的业务线下所有系统的异常数据,包括处理过的异常数据和未处理的异常数据,A业务线和B业务线异常对比数据,业务系统与业务系统的异常对比数据等。可以根据业务需求定制报表。帮助业务和产研更好掌握系统的最新状况。

2.7 任务中心

任务中心是指xxljob任务指调度中心,它和报警规则强绑定的。调度任务分为两类,一类是业务类任务,是动态去创建的任务,按照设置的corn执行。另一类是平台任务。用于维护业务类任务的,比如定期去删除没有异常的任务等。(图9)

wKgaombQFveAGsT_AAIihU7wFo0432.png

(图9)

2.8 触达展示

触达方式支持了保险工作台、内部聊天工具、邮件、企业微信、电话语音等。根据业务方需求来选择。

2.9 处理方式

如果触达3次还没有做异常的处理数据,会进行自动升级,在下次触达时会抄给本部门的上一级。异常数据需要在hm列表页里做数据状态变更。

2.10 开源能力:jaeger

hm底层参考了jaeger-core,重写了jaegerSpan和jaegerTracer类。并把jaeger-core和opentracing-api重新打包-形成自己的jar(hunter-api)

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 监测
    +关注

    关注

    2

    文章

    3405

    浏览量

    44260
  • 状态监控
    +关注

    关注

    0

    文章

    14

    浏览量

    10794
收藏 人收藏

    评论

    相关推荐

    监控室离岗智能监测摄像头

    监控室离岗智能监测摄像头是一种应用于监控室的智能设备,旨在监测监控室内工作人员的状态,及时警示相
    的头像 发表于 08-07 10:39 251次阅读
    <b class='flag-5'>监控</b>室离岗智能<b class='flag-5'>监测</b>摄像头

    电气设备状态监测与故障诊断

    引言 电气设备是现代工业生产和生活中不可或缺的重要组成部分。随着科技的发展,电气设备的类型和应用范围不断扩大,其性能和可靠性也日益受到重视。为了确保电气设备的安全、稳定和高效运行,状态监测与故障诊断
    的头像 发表于 06-06 09:42 983次阅读

    AD7616的16路采样通道,如何实现对通道状态的实时自检,监测通道状态是否正常?

    AD7616的16路采样通道,如何实现对通道状态的实时自检,监测通道状态是否正常? 1)手册中通信自测功能是不是实现这个功能的?如果是,这个只是实现数字部分正不正常检测,还是实现ADC整个模拟采集+数字转换通道是否正常的
    发表于 05-27 08:07

    云知声携手耘途教育成立云知学院福建分院,探索智慧教育新思路

    近日,云知声与耘途教育联合成立云知学院福建分院,深入探索智慧教育新模式新思路
    的头像 发表于 05-11 15:52 431次阅读
    云知声携手耘途教育成立云知学院福建分院,探索智慧教育<b class='flag-5'>新思路</b>

    电梯运行状态监测系统:关键信息监测与安全高效运行新保障

    电梯运行状态监测系统是一个综合性的技术系统,用于实时监测电梯的运行状态并收集相关数据。梯云物联小编认为该系统主要监测以下几类信息:
    的头像 发表于 04-17 10:14 756次阅读
    电梯运行<b class='flag-5'>状态</b><b class='flag-5'>监测</b>系统:关键信息<b class='flag-5'>监测</b>与安全高效运行新保障

    如何实现对空调状态监测监控

    随着科技的飞速发展和人们生活水平的持续提高,空调已经成为现代家庭和办公环境中不可或缺的一部分。然而,传统的空调使用方式往往存在能效低下、操作不便等问题。为了解决这些问题,智能空调控制器应运而生,它不
    的头像 发表于 04-15 17:15 472次阅读

    工业设备状态在线监测系统物联网解决方案

    工业设备的运行稳定对产品质量和生产安全具有重要影响,也是售后服务的重要环节。目前,很多工厂企业都在实现设备的远程监控与智能运维,以打造企业经营网络与数字化管理系统。根据设备监测需求,实现工业设备
    的头像 发表于 02-28 14:27 437次阅读
    工业设备<b class='flag-5'>状态</b>在线<b class='flag-5'>监测</b>系统物联网解决方案

    电力监控系统的主要功能是什么 电力监控系统与能耗监测系统区别

    系统可以采集和监测电力系统中各个节点的实时数据,例如电力负荷、电压、电流、功率因素等。通过实时监测,系统可以了解电力系统的运行状态,并及时发现潜在的问题,以便进行相应的调整和处理。 故障和报警管理:电力
    的头像 发表于 01-22 15:18 2465次阅读

    突破传统检测模式:输电线路故障定位监测技术的未来展望

    随着科技的飞速发展,电力系统的运行和维护已经进入了一个全新的时代。尤其是在输电线路故障定位监测技术方面,我们正在见证一场前所未有的革命。传统的故障定位方法通常依赖于人工观察和经验判断,这种方式不仅效率低下,而且在复杂的环境中可能无法准确判断故障。然而,现在的新技术正在改变
    的头像 发表于 01-08 10:50 250次阅读

    闸刀开关状态智能识别技术助力巡检机器人实时监测

    随着工业自动化程度的提高,巡检机器人已成为工业设备维护、安全监测的利器。然而,传统的巡检方法在识别动态状态设备方面存在局限,特别是闸刀开关状态。为解决这一难题,我们提出基于AI算法的闸
    的头像 发表于 12-11 11:06 485次阅读

    LabVIEW发开发电状态监测系统

    LabVIEW发开发电状态监测系统 对发电设备的持续监测对于确保可靠的电力供应至消费者极为重要。它不仅能够及时提醒操作员注意发电设备的潜在损坏,还能减少由于设备故障造成的停机时间。为了达到这一
    发表于 12-06 20:48

    LabVIEW开发工业设备远程在线状态监测

    LabVIEW开发工业设备远程在线状态监测 项目需要减少意外停机和维护费用、提供更完整的机器操作和状态图、改进设备使用情况跟踪。 该解决方案是一个多节点(即多站点)远程监控系统,它利用
    发表于 12-04 21:03

    速锐得柴油发动机车辆数据的实时获取定位和运行状态监测设计思路

    柴油发动机车辆数据智能网联车载系统在企业级应用中发挥着不可替代的作用。平台通过TBOX终端可以实现车辆数据的实时获取、追踪定位和车辆状态监测,帮助企业更高效、更智能地实现企业车队管理、车辆远程监控
    的头像 发表于 11-10 16:43 537次阅读
    速锐得柴油发动机车辆数据的实时获取定位和运行<b class='flag-5'>状态</b><b class='flag-5'>监测</b>设计<b class='flag-5'>思路</b>

    TIME_WAIT状态的优化思路

    下的业务数据报文,以及用于连接管理的握手、挥手报文,这其中在四次挥手中的最后一次ACK报文比较特殊,TIME_WAIT状态就是为了应对最后一条ACK丢失的情况。 TCP保证可靠传输的前提是收发两端分别维护关于这条连接的状态信息(
    的头像 发表于 11-10 10:44 459次阅读

    MCU硬件看门狗+软件看门狗监测多任务的思路

    MCU硬件看门狗+软件看门狗监测多任务的思路
    的头像 发表于 10-24 15:25 1671次阅读
    MCU硬件看门狗+软件看门狗<b class='flag-5'>监测</b>多任务的<b class='flag-5'>思路</b>