CN117251340A - 数据异常变动监控方法、装置、电子设备及存储介质 - Google Patents

数据异常变动监控方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117251340A
CN117251340A CN202311225072.1A CN202311225072A CN117251340A CN 117251340 A CN117251340 A CN 117251340A CN 202311225072 A CN202311225072 A CN 202311225072A CN 117251340 A CN117251340 A CN 117251340A
Authority
CN
China
Prior art keywords
data
monitoring data
monitoring
information
role
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311225072.1A
Other languages
English (en)
Inventor
段欣甜
周斌
王志伟
唐彬彬
杨茂源
夏南星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Shizhuang Information Technology Co ltd
Original Assignee
Shanghai Shizhuang Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Shizhuang Information Technology Co ltd filed Critical Shanghai Shizhuang Information Technology Co ltd
Priority to CN202311225072.1A priority Critical patent/CN117251340A/zh
Publication of CN117251340A publication Critical patent/CN117251340A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本发明公开了一种数据异常变动监控方法、装置、电子设备及存储介质,包括:获取被监控系统中消息队列组件内各角色在当前监控时刻的当前监控数据,角色包括:生产端、流处理器以及消费端;针对每一个角色,根据角色的当前监控数据以及角色的历史监控数据,确定角色的监控数据变化信息;若根据各角色的监控数据变化信息,确定存在异常监控数据变化信息,则根据与异常监控数据变化信息对应的生产端的信息,确定与异常监控数据变化信息关联的受影响面。该数据异常变动监控方法将数据监控扩展至端到端、全链路,可以实现同时监控数据的生产端、流处理器以及消费端,扩大了监控的范围,避免了漏报,同时,可以提供归因分析,保障了数据核心链路稳定。

Description

数据异常变动监控方法、装置、电子设备及存储介质
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据异常变动监控方法、装置、电子设备及存储介质。
背景技术
随着互联网、大数据的发展,互联网企业每时每刻都在生产和沉淀着海量的数据。这些数据成为了企业最重要资产之一。企业中各部门以自身业务目标为出发点,从这些数据中提炼、衍生了多种多样的数据指标及其衍生的特征、规则等决策数据体系,与实时计算引擎等共同组成了实时数据仓库(以下简称实时数仓)。在企业业务不断拓展、变化的过程中,对实时数仓中的数据进行监控,以保障实时数仓各层级数据的准确性、实时性、完整性、可用性等质量水平始终保持高水准,成为保障内部各种决策准确、可靠的重要基石,是企业降低商业风险的重要环节。
目前,一般采用如下方式进行数据异常变动监控:获取实时数仓下游的监控数据,并对监控数据进行统计,获得监控数据的统计量;依据由主观经验或者历史监控数据确定的告警值,判断监控数据的统计量是否超过告警值;在确定监控数据超过告警值时,进行告警。
但是,上述数据异常变动监控方法中,一方面,仅能实现对实时数仓下游的监控数据进行监控,监控的范围不够全面,另一方面,仅能实现告警,而无法提供归因分析。
发明内容
本发明提供了一种数据异常变动监控方法、装置、电子设备及存储介质,以解决相关技术中的数据异常变动监控方法监控的范围不够全面以及无法提供归因分析的技术问题。
根据本发明的一方面,提供了一种数据异常变动监控方法,包括:
获取被监控系统中消息队列组件内各角色在当前监控时刻的当前监控数据;其中,所述角色包括:生产端、流处理器以及消费端;
针对每一个角色,根据所述角色的当前监控数据以及所述角色的历史监控数据,确定所述角色的监控数据变化信息;
若根据各所述角色的监控数据变化信息,确定存在异常监控数据变化信息,则根据与所述异常监控数据变化信息对应的生产端的信息,确定与所述异常监控数据变化信息关联的受影响面。
根据本发明的另一方面,提供了一种数据异常变动监控装置,包括:
第一获取模块,用于获取被监控系统中消息队列组件内各角色在当前监控时刻的当前监控数据;其中,所述角色包括:生产端、流处理器以及消费端;
第一确定模块,用于针对每一个角色,根据所述角色的当前监控数据以及所述角色的历史监控数据,确定所述角色的监控数据变化信息;
第二确定模块,用于若根据各所述角色的监控数据变化信息,确定存在异常监控数据变化信息,则根据与所述异常监控数据变化信息对应的生产端的信息,确定与所述异常监控数据变化信息关联的受影响面。
根据本发明的又一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的数据异常变动监控方法。
根据本发明的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的数据异常变动监控方法。
本发明实施例提供一种数据异常变动监控方法、装置、电子设备及存储介质,该方法包括:获取被监控系统中消息队列组件内各角色在当前监控时刻的当前监控数据,其中,角色包括:生产端、流处理器以及消费端;针对每一个角色,根据角色的当前监控数据以及角色的历史监控数据,确定角色的监控数据变化信息;若根据各角色的监控数据变化信息,确定存在异常监控数据变化信息,则根据与异常监控数据变化信息对应的生产端的信息,确定与异常监控数据变化信息关联的受影响面。一方面,通过获取各个角色的当前监控数据,将数据监控扩展至端到端、全链路,可以实现同时监控数据的生产端、流处理器以及消费端,可以对实时计算平台、终端数据存储组件等下游消费端的监控,扩大了监控的范围,避免了漏报,降低了人力投入;另一方面,可以确定与异常监控数据变化信息关联的受影响面,提供归因分析,可以保障数据核心链路稳定;再一方面,该数据异常变动监控方法可以弥补多部门沟通及技术层面的联动不足,降低沟通成本。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的数据异常变动监控方法应用场景的示意图;
图2为本发明实施例提供的一种数据异常变动监控方法的流程示意图;
图3A为本发明实施例提供的一种数据异常变动监控系统的结构示意图;
图3B为本发明实施例提供的一种数据异常变动监控系统的工作流程示意图;
图4为本发明实施例中确定角色的监控数据变化信息的流程示意图;
图5为本发明实施例中确定生产端的监控数据变化值是否为异常监控数据变化信息的流程示意图;
图6为本发明实施例提供的数据异常变动监控系统、血缘解析系统以及资产库交互过程的示意图;
图7为本发明实施例提供的另一种数据异常变动监控方法的流程示意图;
图8为本发明实施例提供的数据异常变动监控系统中深度分析模块的工作流程示意图;
图9为本发明实施例提供的数据异常变动监控系统中降噪评估模块的工作流程示意图;
图10为本发明实施例提供的一种数据异常变动监控装置的结构示意图;
图11是实现本发明实施例的数据异常变动监控方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”及“当前”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序或者场景中实施。此外,术语“包括”以及它的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本发明实施例提供的数据异常变动监控方法应用场景的示意图。如图1所示,本实施例提供的数据异常变动监控方法可以由数据异常变动监控系统110执行,用于对被监控系统120中的数据进行监控。本实施例中的被监控系统120可以为企业中的实时数仓。该实时数仓中包括消息队列组件。被监控系统120还可以为其他包括消息队列组件的系统。本实施例并不以此为限。
随着企业的发展,各部门技术方案及存储结构频繁变更。例如存储组件或架构横向拓展,数据库结构变更、历史数据迁移归档、业务数据修正刷数等操作,不但可能导致实时数仓各链路发生数据量突增、骤减、跌零等异动,还有可能导致字段枚举值等关键元素变更,最终导致下游数据的准确性、实时性、完整性、可用性等下降、业务损失甚至线上故障。本实施例中的实时数仓中的链路指的是实时数仓的消息队列组件内一个生产端,也可以称为一个主题(Topic),以及该Topic相关的流处理器、消费端所形成的链路。
常见的数据异动原因如下:业务库表迁移,原数据链路再无归档日志(binlog)产生,下游指标不再更新,下游数据丧失可用性;业务数据结构变更,包括字段及字段类型的增删改、枚举值变更等,数据关键要素变更,准确性及完整性可能受损;业务批量更新数据,一方面可能出现binlog流量突然增大导致任务消费能力不足,另一方面大事务将导致binlog更新延迟,以上情况均将导致数据更新延迟,实时性无法保证。
针对被监控系统中的以上变动,亟需一套数据异常变动监控方法,对各业务数据进行全面的异常监控以及归因分析。
图2为本发明实施例提供的一种数据异常变动监控方法的流程示意图。本实施例可适用于对被监控系统进行监控的情况。该方法可以由数据异常变动监控装置来执行,该数据异常变动监控装置可以采用硬件和/或软件的形式实现,该数据异常变动监控装置可配置于电子设备中。示例性地,这里的电子设备可以为服务器。如图2所示,该方法包括如下步骤。
步骤201:获取被监控系统中消息队列组件内各角色在当前监控时刻的当前监控数据。
其中,角色包括:生产端、流处理器以及消费端。
本实施例中的被监控系统中包括消息队列组件。更具体地,本实施例中的消息队列组件可以为分布式消息队列(Message Queue,简称:MQ)。其中,分布式MQ种基于异步通信的解耦机制,用于将消息从一个应用程序发送到另一个应用程序,可以支持消息订阅和发布、消息路由和传递等功能。常见的消息队列组件包括卡夫卡(kafka)、RocketMQ、RabbitMQ等。
示例性地,本实施例中以消息队列组件为kafka为例进行说明。Kafka是一种高吞吐量、持久性、分布式的发布订阅的消息队列系统。现在Apache Kafka是出于Apache许可证的开放源代码项目。Kafka的主要特点包括以下四点。第一、解耦:Kafka生产端(也可以称为生产者)与消费端(也可以称为消费者)之间没有直接联系,它们通过Kafka的消息队列进行通信,极大地降低了系统的耦合性。第二、高吞吐和低延迟:Kafka能够支持每秒数百万的消息的读写操作,同时具有非常低的输入输出(Input Output,简称:I/O)延迟。第三、高可靠性:Kafka保证数据不会丢失,并且在多个进程或节点之间进行备份和复制,以防止发生单点故障。第四、分布式:Kafka能够同时处理来自不同源的数据,并且能够实现水平扩展,可以轻松地添加更多的节点以提高性能。
Kafka主要应用于大数据实时流处理、日志收集和分析、消息通信等场景。同时,由于Kafka保存大量历史数据,因此它还经常被用来作为数据存储和检索的工具。
本实施例中的消息队列组件内具有多个角色:生产端、流处理器以及消费端。一个生产端也可以称为一个Topic。一个Topic可以对应至少两个流处理器。一个流处理器可以对应至少两个消费端。
为了提高监控效率,本实施例中可以依托与被监控系统连接的指标采集系统获取各角色在当前监控时刻的当前监控数据。示例性地,本实施例中的指标采集系统可以为普罗米修斯(Prometheus)。Prometheus是一种开源的监控系统,用于对分布式系统进行监控。
本实施例中的当前监控时刻为当前检测周期内的时刻。示例性地,检测周期可以为1天、1周等。检测周期内相邻监控时刻之间的时间间隔为检测步长。示例性地,检测步长可以为10分钟。本实施例中的监控数据指的是监控指标(Metric)的具体取值。本实施例中的监控指标可以为多维度的,因为,可以获取到多维度的监控指标对应的监控数据,实现多维度监控。
为了提高获取到的当前监控数据的可靠性和安全性,本实施例中,在获取到当前监控数据后,可以采用键值存储(Key-Value存储,简称:KV存储)方式对当前监控数据进行整合。
对于生产端(Producer),当检测周期开始后,以生产端的Producer Topic(以下简称Topic)为单位,获取当前监控时刻每个Topic的多个监控指标的当前监控数据。并以KV形式存储该当前监控数据。其中,Key由集群名、Topic名、监控指标名以及当前时间戳这4个要素确定唯一性,Value为监控指标对应的当前监控数据。
可选地,表1示出了生产端的监控指标。
表1生产端的监控指标
对于流处理器(Broker)端,当检测周期开始后,以服务器Server Broker为单位,获取当前监控时刻每个Broker的多项监控Metric的当前监控数据。并以KV形式存储该当前监控数据。其中,Key由集群、Broker名、Metric名以及当前时间戳这4个要素确定唯一性,Value为监控指标对应的当前监控数据。
可选地,表2示出了流处理器端的监控指标。
表2流处理器端的监控指标
需要说明的是,表2中的监控指标中的Topic消息总写入量、输出的流量均指的是将同一Topic下的流量聚合后的结果。
消费端(Consumer)的当前监控数据由订阅该队列的下游组件上报,用于标记最新的消费位点、堆积量等消费情况。对于消费端,当检测周期开始后,以消费者ComsumerGroup为单位,获取当前时刻每个Group的多个监控指标的当前监控数据。并以KV形式存储该当前监控数据。其中,Key由集群名、Topic名、Group名、监控指标名以及当前时间戳这5个要素确定唯一性,Value为监控指标对应的当前监控数据。
可选地,表3示出了消费端的监控指标。
表3消费端的监控指标
需要说明的是,表3中的监控指标中的消费位点、消费流量以及消费延迟均指的是对同一Topic下的数据聚合后的结果。
表3中的消费延迟指的是消费端消费的位点与生产端的最新消费位点的差值。例如,生产端的最新消费位点为第10条,消费端消费的位点为第5条,则消费延迟为5条。
步骤202:针对每一个角色,根据角色的当前监控数据以及角色的历史监控数据,确定角色的监控数据变化信息。
在步骤202中,需要分别针对每一个角色,利用该角色的历史监控数据以及步骤201中获取到的该角色的当前监控数据,确定该角色的监控数据变化信息。本实施例中确定出的角色的监控数据变化信息可以为同比或者环比后的结果。可以理解的是,各角色的监控数据变化信息可以用于表征各角色的流量趋势。
一种实现方式中,针对每一个角色,可以根据该角色的当前监控数据以及历史监控数据中的当前监控时刻的上一监控时刻的监控数据的变化情况,确定该角色的监控数据变化信息。
另一种实现方式中,针对每一个角色,可以根据该角色的当前监控数据以及历史监控数据,确定该角色的同比监控数据变化信息。
在该实现方式中,每个角色的历史监控数据包括:该角色在当前监控时刻的上一监控时刻的监控数据,以及,上一检测周期内该角色在目标监控时刻的监控数据的变化量。目标监控时刻为上一检测周期内与当前监控时刻对应的监控时刻。角色在目标监控时刻的监控数据的变化量用于表征角色在目标监控时刻的监控数据相较于目标监控时刻的上一监控时刻的监控数据的变化量。每个角色的监控数据变化信息包括角色的监控数据变化值。
图4为本发明实施例中确定角色的监控数据变化信息的流程示意图。如图4所示,该过程包括如下步骤。
步骤2021:根据角色的当前监控数据以及角色在当前监控时刻的上一监控时刻的监控数据,确定角色在当前监控时刻的监控数据的变化量。
当前监控时刻与当前监控时刻的上一监控时刻之间的时间间隔为预设的时间间隔T。示例性地,计算当前监控时刻t1的当前监控数据与当前监控时刻的上一监控时刻t0的监控数据的差值,并将该差值作为角色在当前监控时刻的监控数据的变化量。
步骤2022:根据角色在当前监控时刻的监控数据的变化量,以及,上一检测周期内,角色在目标监控时刻的监控数据的变化量,确定角色的监控数据变化值。
在步骤2022中,以计算同比增幅为例进行说明。在在监控Kafka Topic流量时,可以使用同比增长率来了解Topic消息流量的增长幅度。
同比增长率的计算公式为:
同比增长率=(本期数-上周期数)/上周期数×100%
\begin{equation}i(t0,T,P)=\frac{(Offset_{t0}-Offset_{t0-T})-(Offset_{t0-P}-Offset_{t0-T-P})}{(Offset_{t0-P}-Offset_{t0-T-P})}\end{equation}
其中:本期数是指当前监控时刻的监控数据的变化量,上周期数是上一检测周期内,角色在目标监控时刻的监控数据的变化量。同比增长率的计算结果,表示的是这两个时间段内的增长率增加或减少的百分比。如果结果为正数,表示增幅;如果是负数,表示降幅。
以检测周期(P)为1天、检测步长(T)为10分钟为例,Topic A最新生产消息位点(kafka_topic_partition_current_offset,即表1中的Topic分区最新位点)的检测数据如表4所示。
表4最新生产消息位点的检测数据
最新生产消息位点 监控时刻
100 2023.07.01 00:00:00
200 2023.07.01 00:10:00
1000 2023.07.02 00:00:00
2000 2023.07.02 00:10:00
基于以上监控结果,Topic A在2023.07.02 00:10:00这一监控周期,同比一天前的入流量增幅为:
\begin{equation}i(10min,1day)=
\frac{(2000 -1000)-(200-100)}{(200-100)}=1900%\end{equation}
即在监控周期2023.07.02 00:00:00到2023.07.02 00:10:00之间的10分钟,Topic A的入流量同比前一天增幅为1900%,即19倍,存在明显的异常趋势。
可以理解,对于每一个监控指标对应的当前监控数据,均可以按照图4所示方式计算出监控数据变化信息。对于流处理器以及消费端来说,需要基于相同Topic,确定角色的监控数据变化信息。举例来说,假设流处理器中的当前监控数据包括:Topic A对应的多个流处理器的聚合后的当前监控数据、Topic B对应的多个流处理器的聚合后的当前监控数据以及Topic C对应的多个流处理器的聚合后的当前监控数据。则针对流处理器,可以根据Topic A对应的多个流处理器的聚合后的当前监控数据以及Topic A对应的多个流处理器的聚合后的历史监控数据,确定流处理器端的关于Topic A的监控数据变化信息。可以根据Topic B对应的多个流处理器的聚合后的当前监控数据以及TopicB对应的多个流处理器的聚合后的历史监控数据,确定流处理器端的关于Topic B的监控数据变化信息。
需要说明的是,对于每个角色来说,当前监控数据对应的监控指标可以为多个。例如,表1中,对于生产端来说,监控指标包括:Topic入流量、Topic出流量以及Topic分区最新位点。那么,相对应地,对应于每一类监控指标,均存在对应的监控数据。对于每一类监控指标的当前监控数据,均可以按照上述方式确定出监控数据变化值。将多类监控指标对应的监控数据变化值确定为该角色的监控数据变化值。例如,基于表1,生产端的监控数据变化值可以包括:Topic入流量的变化值,Topic出流量的变化值以及Topic分区最新位点的变化值。
步骤203:若根据各角色的监控数据变化信息,确定存在异常监控数据变化信息,则根据与异常监控数据变化信息对应的生产端的信息,确定与异常监控数据变化信息关联的受影响面。
在步骤202中确定出各角色的监控数据变化信息后,可以根据各角色的监控数据变化信息,确定是否存在异常监控数据变化信息。若存在,则根据与异常监控数据变化信息对应的生产端的信息,确定与异常监控数据变化信息关联的受影响面。
可选地,可以按照如下方式确定是否存在异常监控数据变化信息:针对每一个角色,确定该角色的监控数据变化值的绝对值是否大于对应的预设变化值阈值;将大于对应的预设变化值阈值的监控数据变化值,确定为异常监控数据变化信息。
该角色的监控数据变化值的绝对值大于对应的预设变化值阈值,说明该角色的当前监控数据异常高或者异常低。当前监控数据异常高可能导致下游任务消费延迟、实时指标计算结果更新不及时;当前监控数据异常低则可能是业务数据进行了关键变更,两者均可能影响数仓下游指标的准确性、及时性。因此,在步骤203中,将大于对应的预设变化值阈值的监控数据变化值,确定为异常监控数据变化信息。
若某个角色的监控数据变化值的绝对值小于对应的预设变化值阈值,则说明该监控数据变化值为正常监控数据变化信息。
对于流处理器来说,由于其可能对应多个Topic。流处理器对应的预设变化值阈值可以为与Topic对应的预先设定的值。对于消费端来说,由于其可能对应多个Topic。消费端对应的预设变化值阈值可以为与Topic对应的预先设定的值。
可选地,为了降低噪音,本实施例提供的数据异常变动监控方法针对生产端的监控数据变化信息可以实现降噪。图5为本发明实施例中确定生产端的监控数据变化值是否为异常监控数据变化信息的流程示意图。如图5所示,针对生产端,将大于对应的预设变化值阈值的监控数据变化值,确定为异常监控数据变化信息,包括如下步骤。
步骤2031:若目标生产端的监控数据变化值的绝对值大于对应的预设变化值阈值,则确定目标生产端是否存在消费组。
本实施例中,可以将监控数据变化值的绝对值大于对应的预设变化值阈值这一现象称为流量异动。
对于生产端,在步骤2031中,剔除增幅较大或者降幅较大但无消费组的流量异动。本实施例中的目标生产端指的是对应的监控数据变化值的绝对值大于对应的预设变化值阈值的生产端。
当目标生产端入流量的增幅很大时,如果下游暂无消费组订阅该Topic,则该流量异动将不会对实时数仓内任务产生任何影响,更不会对指标数据的准确性产生任何影响。因此,将该类流量异动告警剔除,将进一步降低监控结果的噪音。具体可以为获取订阅该目标生产端的消费组列表。当列表为空时,将该流量异动过滤。针对该流量异动,不再执行后续步骤。
步骤2032:若确定目标生产端存在消费组,则确定目标生产端的入流量绝对值是否超过消费端的预设最低消费能力。
其中,目标生产端的入流量绝对值根据目标生产端在当前监控时刻的监控数据的变化量与监控时间间隔确定。
当目标生产端的入流量的增幅很大时,并不必然导致下游消费端的数据计算任务(例如,Flink任务)产生延迟。是否会对flink任务造成影响,还取决于生产端的入流量的绝对值大小。因此,在步骤2022中提出增幅较大但入流量绝对值较小的流量异动,将大大降低监控噪声。
本实施例中的下游消费端的数据计算任务可以为Flink任务。Flink是一种高性能、低延迟的实时数据计算框架和引擎,可以用于批处理和流式数据处理任务。Flink不但支持高效的数据处理,还可以在数据处理任务中保持状态,并通过迭代计算等方法支持更为复杂的算法。Flink框架的主要特点包括:高性能:Flink能够高效并行处理海量数据,且可以实现更高效的数据安排和更快的处理速度,减少延迟;可伸缩性:Flink支持简单快捷的扩容,能够在集群中随意扩大或缩小处理能力;稳定性:Flink的分布式处理架构可以保证故障时的备份和容错,从而保证处理任务的稳定性;精确数据处理:Flink通过“Exactly-once”语义保证数据处理的精确性,即确保一条记录在整个流式处理过程中的只被处理一次;高级应用程序接口(Application Programming Interface,简称:API):Flink包括多种支持高级数据处理的API,包括DataStream API、DataSet API和Table API等。Flink被广泛应用于数据分析、处理未来数据、实时监控、实时推荐等领域,特别是在流处理领域中具有出色的性能和灵活性。
在步骤2032中,当确定目标生产端存在消费组时,进一步获取目标生产端的入流量绝对值。并将该入流量绝对值与该目标生产端对应的消费端的预设最低消费能力进行比较。其中,消费端的最低消费能力指仅1个并发的较复杂任务处理能力,其取值依据压测数据或生产经验,一般不低于500TPS。
本实施例中,计算目标生产端的入流量绝对值,并将该计算结果转换为条每秒(TPS),以方便与Flink计算能力进行比较。计算过程如下:
\begin{equation}i(t0,T)=\frac{(Offset_{t0}-Offset_{t0-T})}{T}\end{equation}
计算的基础步长为可选的,以10min步长为例,继续使用表4中的检测数据:\begin{equation}Q(t0,10min)=\frac{(2000-1000)}{600}=1.6(TPS)\end{equation}。因此,Topic A的入流量绝对值为1.6TPS,绝对值远远小于最低消费能力500TPS,可以进行剔除,无需进行下一步分析。
步骤2033:若目标生产端的入流量绝对值超过消费端的预设最低消费能力,则确定目标生产端的入流量绝对值是否超过目标生产端对应的数据计算任务的消费能力。
生产端入流量的增幅、入流量绝对值均较大时,同样并不必然导致下游消费端Flink任务产生延迟。该过程取决于Flink任务的并发度等消费能力。因此,在步骤2033中,将评估下游受影响Flink任务的消费能力,剔除不超过消费端消费能力的流量异动,将大幅降低开发人员逐一核查任务的时间成本。
在满足步骤2031至步骤2033之后,进一步获取评估目标生产端的数据计算任务的消费能力,仅将可能超过目标生产端对应的消费端预设的最低消费能力的流量异动事件进行下一步分析。
在步骤2033中,计算目标生产端对应的消费端Flink任务的处理能力。该能力与单并行度处理能力C、任务并行度N、每个并行度的资源分配U、任务处理的复杂程度等有关。
继续以表4中的入流量为例,将计算入流量绝对值与消费端Flink任务的处理能力相比,估算该入流量情况下消费端的计算压力。
示例性地,以100TPS作为Flink任务每个并行度的处理下限、仅1个并行度的简单任务为例进行降噪评估。结果显示即使入流量增大了19倍,但相比于Flink任务的处理能力,该流量仅约占用其1.6%的处理能力。
\begin{equation}f=\frac{1.6}{100}=1.6%\end{equation}
目标生产端的入流量绝对值未超过消费端的预设最低消费能力。因此,针对该流量异动时间,无需进行下一步分析,进行过滤处理。
步骤2034:若目标生产端的入流量绝对值超过目标生产端对应的数据计算任务的消费能力,则确定目标生产端的监控数据变化值为异常监控数据变化信息。
在步骤2034中,若目标生产端的入流量绝对值超过目标生产端对应的数据计算任务的消费能力,则确定目标生产端的监控数据变化值为异常监控数据变化信息。
通过步骤2031至步骤2024,实现对生产端的流量异动进一步降噪,减少噪音以及误报,提高了数据异常变动监控的精准性。
在步骤203中,本实施例提供的数据异常变动监控方法还可以实现归因,根据与异常监控数据变化信息对应的生产端的信息,确定与异常监控数据变化信息关联的受影响面。
可选地,本实施例中的受影响面包括:受影响的数据计算任务以及受影响的线上策略。相对应地,根据与异常监控数据变化信息对应的生产端的信息,确定与异常监控数据变化信息关联的受影响面,包括:根据异常监控数据变化信息,确定与异常监控数据变化信息对应的生产端的信息;根据与异常监控数据变化信息对应的生产端的信息,通过血缘解析系统,确定受影响的数据计算任务;根据受影响的数据计算任务,通过资产库,确定受影响的线上策略。
上述实现过程打通实时数仓的血缘解析成果及策略指标操作平台,同步评估本次异动事件在实时数仓中的潜在影响面,并发送统计数据、影响明细等信息,供处理人分级评估、高效应急反馈。
本实施例中的生产端的信息可以为生产端的topic的名称或者标识等。
若异常监控数据变化信息为生产端的监控数据变化信息,则可以直接根据生产端对应的Topic确定生产端的信息。
若异常监控数据变化信息为流处理器的监控数据变化信息,则确定与流处理器对应的Topic,将其作为与异常监控数据变化信息对应的生产端的信息。
若异常监控数据变化信息为消费端的监控数据变化信息,则确定与消费端对应的Topic,将其作为与异常监控数据变化信息对应的生产端的信息。
一方面,当数据发生异动,即,存在异常监控数据变化信息时,实时数仓开发人员需要及时感知并排查原因、采取合适的措施来缓解流量异动事件对相关的Flink实时任务、指标数据的影响,如扩大任务并行度、增加任务的资源配置、优化任务算法等。因此,将该数据异动事件可能影响的实时任务数量、任务列表详情、每个任务的重要程度等信息实时地分析并通知数仓开发人员,将大大提高相关人员对该异动的影响面评估效率、处理难度评估效率、响应时效等。
图6为本发明实施例提供的数据异常变动监控系统、血缘解析系统以及资产库交互过程的示意图。如图6所示,数据异常变动监控系统中的影响分析模块向实时数仓的血缘解析系统发送与异常监控数据变化信息对应的生产端的信息(图中称为异动Topic),即,Topic信息。血缘解析系统使用递归算法,以触发本次数据异动事件的Topic为基础量查询,获取消费该Topic的实时计算任务列表,再将该列表逐一作为基础量进行查询,层层递进获取到数仓中数据细节层(Data Warehouse Details,简称:DWD)层、数据中间层(DataWarehouse Middle,简称:DWM)层、数据应用层(Application Data Service,简称:ADS)层的所有潜在受影响任务列表。
另一方面,当数据发生异动,即,存在异常监控数据变化信息,数仓开发人员在对相关任务进行应急保障操作期间,可能会影响线上实时指标的及时性,因此需要通知策略人员该异动的影响面,以方便其评估其间的实际影响大小、是否需要策略人员上线紧急备用方案行动等。因此,将该数据异动事件可能影响的实时指标、特征、规则等信息实时地分析并通知策略人员,将大大提高策略人员对该异动的影响面评估效率、处理难度评估效率、响应时效等。
请继续参照图6,血缘解析系统向资产库发送受影响的数据计算任务。血缘解析系统还可以向数据异常变动监控系统中的通知模块反馈受影响的数据计算任务。资产库根据受影响的数据计算任务,确定受影响的线上策略。并向数据异常变动监控系统中的通知模块反馈受影响的线上策略。可选地,受影响的线上策略可被发送至通知模块并展示在通知内容中。需要说明的是,本实施例中的资产库为一个业务配置的管理实时指标、特征、规则的中台系统。
进一步地,本实施例提供的监控方法还可以包括如下步骤:获取元信息关联系统发送的元信息变更请求信息,其中,元信息变更请求信息用于指示对至少一个角色的元信息进行变更;根据元信息变更请求信息,确定是否允许元信息变更请求系统对元信息进行变更的决策结果,并向所述元信息关联系统反馈所述决策结果。
在数据异常发生前,该实现方式可以实现事前感知可能触发数据异常的操作请求,前置影响分析,部分降低由于人为变更元信息而导致的数据异常发生可能性。如可行,将拒绝可能导致数据异常的操作,从源头避免异常发生,避免问题扩大化。如操作无法拒绝,则可以技术方案优化、提前扩容等操作,大幅降低事中、事后补救的代价。
可以预先梳理可能发起元信息变更请求的元信息关联系统,采集其发送的元信息变更请求信息,并确定是否允许元信息变更请求系统对元信息进行变更的决策结果。并将该结果通知给元信息关联系统。
示例性地,常见的元信息关联系统包括:数据产品管理平台(DatabaseAdministrator,简称:DBA)、数据同步平台、Flink实时计算引擎等。
事前感知元信息变更请求信息,可以事前感知数据异动,预防故障发生的同时提高故障排除和问题解决的实效性,实现数据异动的事前感知及异常预防,有效减少线上故障发生。
以下从本实施例中的数据异常变动监控系统包括的模块的角度对数据异常变动监控系统作一描述。图3A为本发明实施例提供的一种数据异常变动监控系统的结构示意图。如图3A所示,本实施例提供的数据异常变动监控系统包括:事前感知模块、事中监控模块、深度分析模块、降噪评估模块、影响分析模块、通知模块等六个部分。
其中,事前感知模块用于获取元信息关联系统发送的元信息变更请求信息。如图3A所示,元信息关联系统包括:DBA、数据同步平台以及Flink。DBA为对业务MySQL库表进行操作的平台。MySQL为关系型数据库管理系统。关系型数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL体积小、速度快、总体拥有成本低,且开放源码。在上述系统链路中,相关的配置规则数据、任务相关信息、业务请求API信息,业务场景信息等都存放在MySQL中。数据同步平台为对数据订阅和数据实时传输平台(DTS)进行操作的平台。
事中监控模块用于执行步骤201中的操作:获取各角色在当前监控时刻的当前监控数据。图3A中,事中监控模块通过Prometheus指标采集系统获取各个角色的监控数据。
深度分析模块用于执行步骤202,确定各个角色的监控数据变化信息。
降噪评估模块用于执行步骤2031至步骤2034的过程。
影响分析模块用于执行步骤203中,确定与异常监控数据变化信息关联的受影响面的过程。在此过程中,影响分析模块需要和血缘解析系统、资产库进行交互,以确定受影响面。并且,影响分析模块还用于根据元信息变更请求信息,确定是否允许元信息变更请求系统对元信息进行变更的决策结果。并将决策结果反馈给事前感知模块。
通知模块用于实现将与异常监控数据变化信息关联的受影响面通知给运维人员以及策略人员。另外,通知模块可以将降噪后的流量异动、巡检信息通过邮件等办公软件或者短信、电话等通信软件,发送至目标人员。示例性地,通知模块可以向运维人员以及策略人员的即时通讯软件账户或者移动通信号码发送与异常监控数据变化信息关联的受影响面。
图3B为本发明实施例提供的一种数据异常变动监控系统的工作流程示意图。如图3B所示,对于事前感知模块来说,其从元信息关联系统获取元信息变更请求信息。并将元信息变更请求信息发送至影响分析模块。发送至影响分析模块,得到是否有影响的反馈,依据反馈决策是否拒绝变更请求。或者,接收影响分析模块的决策结果。当决策结果为拒绝变更时,通知元信息关联系统拒绝对元信息进行变更。
事中监控模块将各角色的监控数据发送至深度分析模块。
深度分析模块在确定存在异常监控数据变化信息时,将一部分数据发送至降噪评估模块进行降噪。将另一部分数据发送至影响分析模块。
降噪评估模块降噪后,将非噪音的异常监控数据变化信息发送至影响分析模块。
影响分析模块根据与异常监控数据变化信息对应的生产端的信息,确定与异常监控数据变化信息关联的受影响面。并将受影响面发送至通知模块。
可以看出,本实施例提供的数据异常变动监控方法具有以下优点:将监控范围扩展至端到端、全链路,同时监控数据的生产端和消费端,将实时计算平台、终端数据储存组件等纳入监控链路,降低告警噪音,降低人力投入;事前将元信息的变更请求通知数仓开发人员,经专业判断后,反馈变更发起方是否允许元信息变更执行,实现数据异动的事前感知及异常预防,有效减少线上故障发生;打通实时数仓血缘解析成果及策略指标操作平台,同步评估本次异动事件在实时数仓中的潜在影响面,并发送统计数据、影响明细等信息,供处理人分级评估、高效应急反馈。
本实施例提供的数据异常变动监控方法,包括:获取被监控系统中消息队列组件内各角色在当前监控时刻的当前监控数据,其中,角色包括:生产端、流处理器以及消费端;针对每一个角色,根据角色的当前监控数据以及角色的历史监控数据,确定角色的监控数据变化信息;若根据各角色的监控数据变化信息,确定存在异常监控数据变化信息,则根据与异常监控数据变化信息对应的生产端的信息,确定与异常监控数据变化信息关联的受影响面。一方面,通过获取各个角色的当前监控数据,将数据监控扩展至端到端、全链路,可以实现同时监控数据的生产端、流处理器以及消费端,可以对实时计算平台、终端数据存储组件等下游消费端的监控,扩大了监控的范围,避免了漏报,降低了人力投入;另一方面,可以确定与异常监控数据变化信息关联的受影响面,提供归因分析,可以保障数据核心链路稳定;再一方面,该数据异常变动监控方法可以弥补多部门沟通及技术层面的联动不足,降低沟通成本。
图7为本发明实施例提供的另一种数据异常变动监控方法的流程示意图。本实施例在图2所示实施例及各种可选的实现方案的基础上,对数据异常变动监控方法包括的其他步骤作一详细说明。如图7所示,本实施例提供的数据异常变动监控方法还包括如下步骤。
步骤701:根据生产端的当前监控数据与流处理器的当前监控数据的差异程度,确定第一端到端分析结果。
其中,第一端到端分析结果用于指示流处理器的能力是否发生异常。
步骤702:根据流处理器的当前监控数据与消费端的当前监控数据的差异程度,确定第二端到端分析结果。
其中,第二端到端分析结果用于指示消费端的能力是否发生异常。
步骤703:根据消费端的当前监控数据与生产端对应的数据计算任务的当前计算信息的差异程度,确定第三端到端分析结果。
其中,第三端到端分析结果用于指示数据计算任务是否发生异常。
可以理解,步骤701至步骤703在步骤201之后执行。步骤701至步骤703的执行过程无时序关系。
Producer-Broker-Consumer-Flink可以视为实时数仓中最基本的一个流量传输单元,在本实施例中,将其作为一个整体进行端到端分析。对该流量传输单元进行两两对比分析,将为数据异常产生的环节提供更多信息,为溯源异常原因提供了有效数据支撑。
可选地,生产端的当前监控数据包括生产端的当前输出流量。流处理器的当前监控数据包括流处理器的当前输入流量以及当前输出流量。消费端的当前监控数据包括消费端的当前输入流量以及消费端的当前消费位点。数据计算任务的当前计算信息包括数据计算任务的当前检查位点。
步骤701的一种可能的实现方式为:若生产端的当前输出流量与流处理器的当前输入流量的差异值大于或者等于预设第一流量差异阈值,则确定流处理器的能力发生异常。
对比Producer-Broker数据,如果生产端的当前输出流量与流处理器的当前输入流量的差异值大于或者等于预设第一流量差异阈值,也即,两者的数据流量等存在较大延迟,说明流服务器处理能力存在瓶颈。应及时检查集群的健康情况或采取扩大集群资源等措施,以提升传输能力,保证数据发布及订阅的及时性。该两个节点之间的延迟将导致整个数据链路在源头处产生延迟。
步骤702的一种可能的实现方式为:若流处理器的当前输出流量与消费端的当前输入流量的差异值大于或者等于预设第二流量差异阈值,则确定消费端的能力发生异常。
对比Broker-Consumer数据,如果流处理器的当前输出流量与消费端的当前输入流量的差异值大于或者等于预设第二流量差异阈值,即Broker的当前输出流量与Consumer的当前输入流量存在较大差距,说明消费端处理能力存在瓶颈。应及时查看任务运行情况,判断其是否仍在任务异常停止、运行中的任务资源是否存在瓶颈、是否存在反压节点等异常情况。
步骤703的一种可能的实现方式为:若消费端的当前消费位点与数据计算任务的当前检查位点的差异值大于或者等于预设消费位点差异阈值,则确定数据计算任务发生异常。
对比Consumer-Flink数据,如果消费端的当前消费位点与数据计算任务的当前检查位点的差异值大于或者等于预设消费位点差异阈值,即Consumer的最新消费位点与Flink上报的Checkpoint位点存在较大差距,说明Flink任务可能存在Checkpoint失败、Checkpoint间隔过长等情况。该类情况对链路仅存在潜在风险影响,可持续观察并在可能出现的任务失败时,及时溯源其异常开始时间及原因。
可选地,本实施例提供的数据异常变动监控方法还包括如下步骤:
步骤704:获取各角色在当前监控时刻的当前元信息。
Producer-Broker-Consumer中任何一个节点的元信息变更,一方面将可能导致监控范围变化,另一方面将可能继发导致下游数据量、数据内容产生重大变化。因此元信息变更的分析,将提前感知部分数据异动,同时,在本实施例中,也会获取各角色在当前监控时刻的当前元信息,为后续异动的归因分析提供印证依据。
步骤705:针对每一个角色,当确定角色的当前元信息发生变更时,确定角色的当前元信息为异动元信息。
可以理解,步骤704与步骤701之间没有时序关系。
在步骤704以及步骤705中,采集Producer、Broker、Consumer三个角色的当前元信息,并对比监控周期始末是否变更。元数据信息的变更,例如Topic分区数扩大、Consumer分区数降低、Topic删除等,均可能对数仓从源头处产生不同程度的影响,因此需要及时感知。当监控周期开始时,以元数据监控对象为单位,获取当前监控时刻每项监控指标的监控数据结果,并以KV形式存储。
可选地,表5示出了元信息的监控指标。
表5元信息的监控指标
元信息的监控指标 含义
kafka_topic_partitions Topic分区数
kafka_server_replicamanager_leadercount Server Leader副本数量
kafka_consumer_assigned_partitions Consumer分区数
kafka_consumergroup_members 消费组成员
在本实施例中,对比当前监控时刻(t1)的各个角色的元信息和上一监控时刻(t0)的各项元信息,以确定角色的当前元信息是否发生变更。
各个角色的元信息变更分析过程简述如下。
Producer生产端的元信息变更包括Topic元信息变更以及MySQL的元信息数据定义语言(Data Definition Language,简称:DDL)变更两大类。
Topic元信息变更包括Topic增减、某Topic分区数的增减等。Topic增加提示数仓开发人员数仓范围扩展,应检查是否有已有Topic可替代;Topic减少提示数仓开发人员Topic被删除,其下游所有任务将无数据源,应确认是否为误操作。某Topic分区数的增加,可以增大该Topic的数据吞吐量,应提示数仓开发人员检查下游Flink消费任务是否配置自动发现分区参数,以免数据丢失影响下游实时指标的准确性;某Topic分区数的减少,将降低该Topic的数据吞吐能力,一般不建议进行该操作,应提示开发人员确实是否为误操作及操作必要性。
Producer生产端存在大量以MySQL binlog作为数据源的Topic,因此MySQL的元信息DDL变更将对下游产生决定性作用。该类变更源自OneDBA(数据运维平台)的工单消息。首先,修改表结构,如添加、删除、修改列等需要对表进行锁定,期间将导致binlog产生延迟,下游指标的更新实时性将受影响;其次,数据归档等大事务操作,将导致短时间内大量binlog产生,可能导致下游消费端压力增大,需要通知开发人员确认操作数据量、过滤binlog类型等,以确保下游指标的正确性、及时性。
Broker服务端常用的元信息包括副本数量、同步副本集(In-Sync Replica,简称:ISR)的数量等。当副本数量、ISR的数量与卡夫卡集群的配置信息中的设置不同时,指示该服务器可能存在异常,应通知运维人员查看集群健康状态等。
Consumer消费端的元信息包括订阅某Topic的消费组列表增减、某个Group的分区数增减等。某Topic的消费组列表增加提示数仓开发人员有新任务上线;列表的减少则提示有任务下线,应确认其是否为误操作、下游受影响面是否可控等。某个Group的分区数增加意味可以增大消费能力,但应检查其不超过生产端分区数;分区数的减少则意味着消费能力的降低,应提示开发人员检查是否为误操作等。
可选地,当角色为生产端时,步骤705的实现过程可以为:当确定角色的当前元信息发生变更,并且,角色存在消费组时,确定角色的当前元信息为异动元信息。
并不是每条数据链路都有完整的Producer-Broker-Consumer-Flink四个节点,存在部分链路并无Consumer节点,或Consumer下游并非Flink任务的情况。以上情况均不会对实时数据仓库产生实际影响,因此以下游无Flink任务为条件,回溯上游的三个节点,其元数据信息变更将被剔除。
当检测到任一角色的元信息发生变更时,进一步获取下游Flink任务节点列表,当列表为空时,则将该变更过滤,不再向下一模块发送。例如,当某个Topic的分区数由3扩大至6,但其下游并无Consumer订阅该Topic消息队列,即无Flink任务与依赖于该Topic,对实时数据仓库无实际影响,因此该变更无需通知相关人员。
可选地,本实施例提供的数据异常变动监控方法中可以向运维人员发送受影响面以及异动元信息。
图8为本发明实施例提供的数据异常变动监控系统中深度分析模块的工作流程示意图。请同时参照图3A、图3B以及图8,本实施例中的深度分析模块从事中监控模块获取到监控数据后,除了执行步骤202的过程,进行趋势分析之外,还可以进行端到端对比分析,即,步骤701至步骤703的过程,以及,还可以进行元信息变更分析,即,步骤705的过程。本实施例中,深度分析模块在进行趋势分析时,可以进行小时、天、周为单位的同比分析以及小时、天、周为单位的环比分析。当确定趋势分析存在异常时,将异常监控数据变化信息传输至降噪评估模块。在端到端对比分析时,对比分析Producer-Broker、对比分析Broker-Consumer以及对比分析Consumer-Flink。确定存在异常的端到端分析结果时,将异常的端到端分析结果传输至降噪评估模块(或者传输至影响分析模块)。在元信息变更分析时,确定Producer元信息是否变更、确定Broker元信息是否变更、确定Consumer元信息是否变更以及确定Flink元信息是否变更。将发生变更的元信息传输至降噪评估模块。
图9为本发明实施例提供的数据异常变动监控系统中降噪评估模块的工作流程示意图。如图9所示,本实施例中的降噪评估模块可以对深度分析模块输入的信息进行降噪。降噪评估模块可以实现流量异动的降噪:确定目标生产端是否有消费组。如有消费组,确定目标生产端的入流量绝对值是否超过消费端的预设最低消费能力。如超过,确定目标生产端的入流量绝对值是否超过目标生产端对应的数据计算任务的消费能力。将降噪后的结果输入至影响分析模块。同时,降噪评估模块还可以实现对元信息变更的降噪。当确定角色的当前元信息发生变更,并且,角色存在消费组时,确定角色的当前元信息为异动元信息。将其输入至影响分析模块。
经实践,采用本实施例提供的数据异常变动监控方法后,由于流量异动导致的任务不稳定性问题,事前发现率达到95%以上。
本实施例提供的数据异常变动监控方法,一方面,可以实现端到端的分析,提供更为精细的监控结果,进一步保障数据核心链路的稳定性;另一方面,可以实现对元信息的监控,进一步提高了监控的全面性,提高了被监控系统的可靠性。
图10为本发明实施例提供的一种数据异常变动监控装置的结构示意图。如图10所示,本实施例提供的数据异常变动监控装置包括如下模块:第一获取模块1001、第一确定模块1002以及第二确定模块1003。
第一获取模块1001,用于获取被监控系统中消息队列组件内各角色在当前监控时刻的当前监控数据。
其中,所述角色包括:生产端、流处理器以及消费端。
第一确定模块1002,用于针对每一个角色,根据所述角色的当前监控数据以及所述角色的历史监控数据,确定所述角色的监控数据变化信息。
第二确定模块1003,用于若根据各所述角色的监控数据变化信息,确定存在异常监控数据变化信息,则根据与所述异常监控数据变化信息对应的生产端的信息,确定与所述异常监控数据变化信息关联的受影响面。
一实施例中,所述角色的历史监控数据包括:所述角色在所述当前监控时刻的上一监控时刻的监控数据,以及,上一检测周期内所述角色在目标监控时刻的监控数据的变化量;所述目标监控时刻为所述上一检测周期内与所述当前监控时刻对应的监控时刻,所述角色在目标监控时刻的监控数据的变化量用于表征所述角色在目标监控时刻的监控数据相较于所述目标监控时刻的上一监控时刻的监控数据的变化量;所述角色的监控数据变化信息包括所述角色的监控数据变化值。
第一确定模块1002具体用于:根据所述角色的当前监控数据以及所述角色在所述当前监控时刻的上一监控时刻的监控数据,确定所述角色在所述当前监控时刻的监控数据的变化量;根据所述角色在所述当前监控时刻的监控数据的变化量,以及,上一检测周期内,所述角色在目标监控时刻的监控数据的变化量,确定所述角色的监控数据变化值。
一实施例中,在所述根据各所述角色的监控数据变化信息,确定存在异常监控数据变化信息的方面,第二确定模块1003具体用于:针对每一个角色,确定所述角色的监控数据变化值的绝对值是否大于对应的预设变化值阈值;将大于对应的预设变化值阈值的监控数据变化值,确定为所述异常监控数据变化信息。
一实施例中,针对生产端,在所述将大于对应的预设变化值阈值的监控数据变化值,确定为所述异常监控数据变化信息的方面,第二确定模块1003具体用于:若目标生产端的监控数据变化值的绝对值大于对应的预设变化值阈值,则确定所述目标生产端是否存在消费组;若确定所述目标生产端存在消费组,则确定所述目标生产端的入流量绝对值是否超过消费端的预设最低消费能力;其中,所述目标生产端的入流量绝对值根据所述目标生产端在所述当前监控时刻的监控数据的变化量与监控时间间隔确定;若所述目标生产端的入流量绝对值超过消费端的预设最低消费能力,则确定所述目标生产端的入流量绝对值是否超过所述目标生产端对应的数据计算任务的消费能力;若所述目标生产端的入流量绝对值超过所述目标生产端对应的数据计算任务的消费能力,则确定所述目标生产端的监控数据变化值为所述异常监控数据变化信息。
一实施例中,所述受影响面包括:受影响的数据计算任务以及受影响的线上策略。在所述根据与所述异常监控数据变化信息对应的生产端的信息,确定与所述异常监控数据变化信息关联的受影响面的方面,第二确定模块1003具体用于:根据所述异常监控数据变化信息,确定与所述异常监控数据变化信息对应的生产端的信息;根据与所述异常监控数据变化信息对应的生产端的信息,通过血缘解析系统,确定所述受影响的数据计算任务;根据所述受影响的数据计算任务,通过资产库,确定所述受影响的线上策略。
一实施例中,该装置还包括:第三确定模块、第四确定模块以及第五确定模块。
第三确定模块,用于根据所述生产端的当前监控数据与所述流处理器的当前监控数据的差异程度,确定第一端到端分析结果;其中,所述第一端到端分析结果用于指示所述流处理器的能力是否发生异常。
第四确定模块,用于根据所述流处理器的当前监控数据与所述消费端的当前监控数据的差异程度,确定第二端到端分析结果;其中,所述第二端到端分析结果用于指示所述消费端的能力是否发生异常。
第五确定模块,用于根据所述消费端的当前监控数据与所述生产端对应的数据计算任务的当前计算信息的差异程度,确定第三端到端分析结果;其中,所述第三端到端分析结果用于指示所述数据计算任务是否发生异常。
一实施例中,所述生产端的当前监控数据包括所述生产端的当前输出流量,所述流处理器的当前监控数据包括所述流处理器的当前输入流量以及当前输出流量,所述消费端的当前监控数据包括所述消费端的当前输入流量以及所述消费端的当前消费位点,所述数据计算任务的当前计算信息包括所述数据计算任务的当前检查位点。
第三确定模块具体用于:若所述生产端的当前输出流量与所述流处理器的当前输入流量的差异值大于或者等于预设第一流量差异阈值,则确定所述流处理器的能力发生异常。
第四确定模块具体用于:若所述流处理器的当前输出流量与所述消费端的当前输入流量的差异值大于或者等于预设第二流量差异阈值,则确定所述消费端的能力发生异常。
第五确定模块,具体用于若所述消费端的当前消费位点与所述数据计算任务的当前检查位点的差异值大于或者等于预设消费位点差异阈值,则确定所述数据计算任务发生异常。
一实施例中,该装置还包括:第二获取模块以及确定反馈模块。第二获取模块,用于获取元信息关联系统发送的元信息变更请求信息;其中,所述元信息变更请求信息用于指示对至少一个角色的元信息进行变更;确定反馈模块,用于根据所述元信息变更请求信息,确定是否允许所述元信息变更请求系统对元信息进行变更的决策结果,并向所述元信息关联系统反馈所述决策结果。
一实施例中,该装置还包括:第三获取模块以及第六确定模块。第三获取模块,用于获取各所述角色在当前监控时刻的当前元信息;第六确定模块,用于针对每一个角色,当确定所述角色的当前元信息发生变更时,确定所述角色的当前元信息为异动元信息。
一实施例中,第六确定模块具体用于:当确定所述角色的当前元信息发生变更,并且,所述角色存在消费组时,确定所述角色的当前元信息为异动元信息。
一实施例中,该装置还包括:发送模块,用于向运维人员发送所述受影响面以及所述异动元信息。
本发明实施例所提供的数据异常变动监控装置可执行本发明任意实施例所提供的数据异常变动监控方法,具备执行方法相应的功能模块和有益效果。
图11是实现本发明实施例的数据异常变动监控方法的电子设备的结构示意图。本实施例中的电子设备10旨在表示各种形式的电子设备,诸如,膝上型计算机、台式计算机、工作台、电子设备、刀片式电子设备、大型计算机和其它适合的计算机。本文所示的部件、它们的连接和关系以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图11所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等。其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个数据异常变动监控方法及各种可选的实施方式。
在一些实施例中,数据异常变动监控方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的数据异常变动监控方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据异常变动监控方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或电子设备上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据电子设备)或者包括中间件部件的计算系统(例如,应用电子设备)或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)或者包括这种后台部件、中间件部件或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和电子设备。客户端和电子设备一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-电子设备关系的计算机程序来产生客户端和电子设备的关系。电子设备可以是云电子设备,又称为云计算电子设备或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (14)

1.一种数据异常变动监控方法,其特征在于,包括:
获取被监控系统中消息队列组件内各角色在当前监控时刻的当前监控数据;其中,所述角色包括:生产端、流处理器以及消费端;
针对每一个角色,根据所述角色的当前监控数据以及所述角色的历史监控数据,确定所述角色的监控数据变化信息;
若根据各所述角色的监控数据变化信息,确定存在异常监控数据变化信息,则根据与所述异常监控数据变化信息对应的生产端的信息,确定与所述异常监控数据变化信息关联的受影响面。
2.根据权利要求1所述的方法,其特征在于,所述角色的历史监控数据包括:所述角色在所述当前监控时刻的上一监控时刻的监控数据,以及,上一检测周期内所述角色在目标监控时刻的监控数据的变化量;所述目标监控时刻为所述上一检测周期内与所述当前监控时刻对应的监控时刻,所述角色在目标监控时刻的监控数据的变化量用于表征所述角色在目标监控时刻的监控数据相较于所述目标监控时刻的上一监控时刻的监控数据的变化量;所述角色的监控数据变化信息包括所述角色的监控数据变化值;
所述针对每一个角色,根据所述角色的当前监控数据以及所述角色的历史监控数据,确定所述角色的监控数据变化信息,包括:
根据所述角色的当前监控数据以及所述角色在所述当前监控时刻的上一监控时刻的监控数据,确定所述角色在所述当前监控时刻的监控数据的变化量;
根据所述角色在所述当前监控时刻的监控数据的变化量,以及,上一检测周期内,所述角色在目标监控时刻的监控数据的变化量,确定所述角色的监控数据变化值。
3.根据权利要求2所述的方法,其特征在于,所述根据各所述角色的监控数据变化信息,确定存在异常监控数据变化信息,包括:
针对每一个角色,确定所述角色的监控数据变化值的绝对值是否大于对应的预设变化值阈值;
将大于对应的预设变化值阈值的监控数据变化值,确定为所述异常监控数据变化信息。
4.根据权利要求3所述的方法,其特征在于,针对生产端,所述将大于对应的预设变化值阈值的监控数据变化值,确定为所述异常监控数据变化信息,包括:
若目标生产端的监控数据变化值的绝对值大于对应的预设变化值阈值,则确定所述目标生产端是否存在消费组;
若确定所述目标生产端存在消费组,则确定所述目标生产端的入流量绝对值是否超过消费端的预设最低消费能力;其中,所述目标生产端的入流量绝对值根据所述目标生产端在所述当前监控时刻的监控数据的变化量与监控时间间隔确定;
若所述目标生产端的入流量绝对值超过消费端的预设最低消费能力,则确定所述目标生产端的入流量绝对值是否超过所述目标生产端对应的数据计算任务的消费能力;
若所述目标生产端的入流量绝对值超过所述目标生产端对应的数据计算任务的消费能力,则确定所述目标生产端的监控数据变化值为所述异常监控数据变化信息。
5.根据权利要求1所述的方法,其特征在于,所述受影响面包括:受影响的数据计算任务以及受影响的线上策略;
所述根据与所述异常监控数据变化信息对应的生产端的信息,确定与所述异常监控数据变化信息关联的受影响面,包括:
根据所述异常监控数据变化信息,确定与所述异常监控数据变化信息对应的生产端的信息;
根据与所述异常监控数据变化信息对应的生产端的信息,通过血缘解析系统,确定所述受影响的数据计算任务;
根据所述受影响的数据计算任务,通过资产库,确定所述受影响的线上策略。
6.根据权利要求1所述的方法,其特征在于,所述获取被监控系统中消息队列组件内各角色在当前监控时刻的当前监控数据之后,所述方法还包括:
根据所述生产端的当前监控数据与所述流处理器的当前监控数据的差异程度,确定第一端到端分析结果;其中,所述第一端到端分析结果用于指示所述流处理器的能力是否发生异常;
根据所述流处理器的当前监控数据与所述消费端的当前监控数据的差异程度,确定第二端到端分析结果;其中,所述第二端到端分析结果用于指示所述消费端的能力是否发生异常;
根据所述消费端的当前监控数据与所述生产端对应的数据计算任务的当前计算信息的差异程度,确定第三端到端分析结果;其中,所述第三端到端分析结果用于指示所述数据计算任务是否发生异常。
7.根据权利要求6所述的方法,其特征在于,所述生产端的当前监控数据包括所述生产端的当前输出流量,所述流处理器的当前监控数据包括所述流处理器的当前输入流量以及当前输出流量,所述消费端的当前监控数据包括所述消费端的当前输入流量以及所述消费端的当前消费位点,所述数据计算任务的当前计算信息包括所述数据计算任务的当前检查位点;
所述根据所述生产端的当前监控数据与所述流处理器的当前监控数据的差异程度,确定第一端到端分析结果,包括:
若所述生产端的当前输出流量与所述流处理器的当前输入流量的差异值大于或者等于预设第一流量差异阈值,则确定所述流处理器的能力发生异常;
根据所述流处理器的当前监控数据与所述消费端的当前监控数据的差异程度,确定第二端到端分析结果,包括:
若所述流处理器的当前输出流量与所述消费端的当前输入流量的差异值大于或者等于预设第二流量差异阈值,则确定所述消费端的能力发生异常;
根据所述消费端的当前监控数据与数据计算任务的当前计算信息的差异程度,确定第三端到端分析结果,包括:
若所述消费端的当前消费位点与所述数据计算任务的当前检查位点的差异值大于或者等于预设消费位点差异阈值,则确定所述数据计算任务发生异常。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取元信息关联系统发送的元信息变更请求信息;其中,所述元信息变更请求信息用于指示对至少一个角色的元信息进行变更;
根据所述元信息变更请求信息,确定是否允许所述元信息变更请求系统对元信息进行变更的决策结果,并向所述元信息关联系统反馈所述决策结果。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取各所述角色在当前监控时刻的当前元信息;
针对每一个角色,当确定所述角色的当前元信息发生变更时,确定所述角色的当前元信息为异动元信息。
10.根据权利要求9所述的方法,其特征在于,所述当确定所述角色的当前元信息发生变更时,确定所述角色的当前元信息为异动元信息,包括:
当确定所述角色的当前元信息发生变更,并且,所述角色存在消费组时,确定所述角色的当前元信息为异动元信息。
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
向运维人员发送所述受影响面以及所述异动元信息。
12.一种数据异常变动监控装置,其特征在于,所述装置包括:
第一获取模块,用于获取被监控系统中消息队列组件内各角色在当前监控时刻的当前监控数据;其中,所述角色包括:生产端、流处理器以及消费端;
第一确定模块,用于针对每一个角色,根据所述角色的当前监控数据以及所述角色的历史监控数据,确定所述角色的监控数据变化信息;
第二确定模块,用于若根据各所述角色的监控数据变化信息,确定存在异常监控数据变化信息,则根据与所述异常监控数据变化信息对应的生产端的信息,确定与所述异常监控数据变化信息关联的受影响面。
13.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的数据异常变动监控方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-11中任一项所述的数据异常变动监控方法。
CN202311225072.1A 2023-09-21 2023-09-21 数据异常变动监控方法、装置、电子设备及存储介质 Pending CN117251340A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311225072.1A CN117251340A (zh) 2023-09-21 2023-09-21 数据异常变动监控方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311225072.1A CN117251340A (zh) 2023-09-21 2023-09-21 数据异常变动监控方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117251340A true CN117251340A (zh) 2023-12-19

Family

ID=89136386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311225072.1A Pending CN117251340A (zh) 2023-09-21 2023-09-21 数据异常变动监控方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117251340A (zh)

Similar Documents

Publication Publication Date Title
US10055275B2 (en) Apparatus and method of leveraging semi-supervised machine learning principals to perform root cause analysis and derivation for remediation of issues in a computer environment
US11212208B2 (en) Adaptive metric collection, storage, and alert thresholds
CN105095056B (zh) 一种数据仓库数据监控的方法
CN110708204A (zh) 一种基于运维知识库的异常处理方法、系统、终端及介质
CN111221890B (zh) 通用指标类自动监控预警方法及装置
WO2021002780A1 (ru) Система мониторинга качества и процессов на базе машинного обучения
CN105955662A (zh) 一种k-db数据表空间的扩容方法与系统
CN116049146B (zh) 一种数据库故障处理方法、装置、设备及存储介质
WO2021236278A1 (en) Automatic tuning of incident noise
CN111581056B (zh) 基于人工智能的软件工程数据库维护与预警系统
CN115328733A (zh) 应用于业务系统的告警方法、装置、电子设备及存储介质
JP6252309B2 (ja) 監視漏れ特定処理プログラム,監視漏れ特定処理方法及び監視漏れ特定処理装置
CN114531338A (zh) 一种基于调用链数据的监控告警和溯源方法及系统
CN111240936A (zh) 一种数据完整性校验的方法及设备
CN114443437A (zh) 告警根因输出方法、装置、设备、介质和程序产品
CN110633165B (zh) 故障处理方法、装置、系统服务器及计算机可读存储介质
CN117251340A (zh) 数据异常变动监控方法、装置、电子设备及存储介质
CN114881112A (zh) 一种系统异常检测方法、装置、设备及介质
CN114706893A (zh) 故障检测方法、装置、设备及存储介质
CN113760669A (zh) 问题数据的告警方法及装置、电子设备、存储介质
CN114513441B (zh) 基于区块链的系统维护方法、装置、设备及存储介质
CN117608897A (zh) 一种故障指标采集方法、装置、设备及存储介质
CN116909921A (zh) 一种数据质量检测方法、设备、装置及存储介质
CN116991627A (zh) 异构冗余电力系统数据处理方法、系统、控制设备及介质
CN115033649A (zh) 基于报表开发的故障处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination