CN114356692A - 一种应用监控链路的可视化处理方法、装置及存储介质 - Google Patents
一种应用监控链路的可视化处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114356692A CN114356692A CN202111491106.2A CN202111491106A CN114356692A CN 114356692 A CN114356692 A CN 114356692A CN 202111491106 A CN202111491106 A CN 202111491106A CN 114356692 A CN114356692 A CN 114356692A
- Authority
- CN
- China
- Prior art keywords
- data
- monitoring
- alarm information
- link
- monitoring link
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开关于一种应用监控链路的可视化处理方法、装置及存储介质。该方法包括:根据预先配置的告警规则,对获取的监控数据进行处理,判断所述监控数据是否触发告警信息,所述告警信息中包含与单个完整监控链路唯一对应的跟踪标识;若触发告警信息,则根据所述告警信息中的跟踪标识获取触发所述告警信息的完整监控链路;可视化展示所述告警信息对应的完整监控链路。本公开实施例对数据从收集的源头到数据处理再到目标数据产生的整个流程进行标记和数据关联,对数据的追踪相比于对节点进行追踪能够更准确地分析出异常原因,回溯的效率也更高,实现追溯完整监控链路与快速判障。
Description
技术领域
本公开涉及应用监控技术领域,具体涉及一种应用监控链路的可视化处理方法、装置及存储介质,以实现应用监控链路可视化。
背景技术
应用系统在线上应用时通常需要对其运行状态进行监控,以及时发现运行过程中出现的异常。
现有中常用的应用监控解决方案主要包括Prometheus和Zabbix两种,其两者均利用数据库存储采集到的数据,因此其性能和功能也受到了一定的限制。Zabbix采用的关系数据库极大地限制了自身的采集性能,Prometheus采用自研的高性能时序数据库虽然能够实现每秒千万级的数据存储,但不支持对大量历史数据的存储与查询。此外,现有的应用监控方案可采集、处理和存储的数据类型有限且不易扩展,Prometheus仅可采集指标型数据,只支持性能和可用性监控,并不具备日志监控等功能;Zabbix则更适合监控物理机环境,针对云环境的监控有限。现有的应用监控解决方案均是对采集到的数据进行分析整理,在符合告警规则的情况下,触发告警。该过程建立了监控源数据(输入应用监控系统的数据)到告警信息(从应用监控系统输出)的单向链路,异常的指标数据会触发告警,运维人员通过告警信息可获知应用系统的出现的异常情况。但同一异常情况可能是由不同的异常引起,仅根据现有的应用监控解决方案建立的单向通路,无法从告警信息回溯监控源数据,从而给快速排查解决应用问题带来了困难。
发明内容
本公开提供一种应用监控链路的可视化处理、装置及存储介质,可以在确保监控链路流程正常运行的情况下,通过对源数据和目标数据进行标记并建立关联关系的方法,实现数据链路的可追溯及可视化。本公开的技术方案包括如下:
根据本公开实施例的第一方面,提供一种应用监控链路的可视化处理方法,包括:
根据预先配置的告警规则,对获取的监控数据进行处理,判断所述监控数据是否触发告警信息,所述告警信息中包含与单个完整监控链路唯一对应的跟踪标识;
若触发告警信息,则根据所述告警信息中的跟踪标识获取触发所述告警信息的完整监控链路;所述完整监控链路包括从监控源数据到告警信息的监控链路,在所述完整监控链路中,根据所述监控数据在节点的转换信息确定从所述节点划分出的转换节点,并使用统一的数据存储对象记录单条完整监控链路中当前转换节点的监控数据与下一个转换节点之间的转换规则及关联关系,所述关联关系包括监控数据在转换节点间进行转换的原因数据;
可视化展示所述告警信息对应的完整监控链路。
所述方法的另一个实施例中,所述根据预先配置的告警规则,对获取的监控数据进行处理,判断所述监控数据是否触发告警信息,包括:
获取用户在配置平台前端配置的告警规则;
控制配置平台后端将包括所述配置规则的配置信息存入第一数据库,并将所述配置信息同步到第二数据库,所述第一数据库的类型为关系型数据库,所述第二数据库的类型为列式数据库管理系统;
控制配置平台后端根据所述配置信息生成分布式定时任务,所述分布式定时任务用于定时采集监控源数据,并基于采集的监控源数据生成数据关联对象后存入分布式消息系统;
实时监听所述分布式消息系统中的数据关联对象,当所述数据关联对象被消费时,对获取的监控数据进行处理,判断所述监控数据是否触发告警信息。
所述方法的另一个实施例中,所述实时监听所述分布式消息系统中的数据关联对象,当所述数据关联对象被消费时,对获取的监控数据进行处理,包括:
基于对所述数据关联对象的分析结果,构造关联关系对象,将所述关联关系对象、源数据或结果数据分别转换为统一的数据中转对象;
将所述数据中转对象存入所述分布式消息系统中的数据存储主题;
当所述数据关联对象包含结果数据时,抽取出数据关联对象中记录的结果数据、主题的名称,将结果数据转换为数据实体对象并存入所述分布式消息系统中的对应的主题;所示主题的包括业务数据分类和告警消息分类,不同的分类的若干主题有各自对应的主题的名称;
实时监听所述分布式消息系统中的数据存储主题,当所述数据中转对象被消费时,将与消费所述数据中转对象相关联的信息存入所述第二数据库。
所述方法的另一个实施例中,还包括:
实时监听所述分布式消息系统中业务数据分类下的主题;
当所述数据实体对象被消费时,获取对数据实体对象执行业务逻辑处理后得到的结果数据;
基于所述结果数据生成下一个转换节点的数据关联对象,并将所述数据关联对象存入所述分布式消息系统中的关联关系主题。
所述方法的另一个实施例中,还包括:
实时监听所述分布式消息系统中告警消息分类下的主题;
所述触发告警信息包括:当所述数据中转对象被消费时,若所述监控数据满足所述告警规则时,则触发告警信息;
所述可视化展示所述告警信息对应的完整监控链路包括:绘制所述告警信息的完整监控链路;可视化展示绘制的所述完整监控链路。
所述方法的另一个实施例中,所述绘制所述告警信息的完整监控链路包括:
基于与告警信息对应的跟踪标识获取触发所述告警信息的监控链路所涉及到的关联关系对象,包括:从监控链路的开始节点数据关联对象开始往下一个转换节点遍历,直至结果数据为空的数据关联对象为止所形成的序列作为所述告警信息的完整监控链路。
所述方法的另一个实施例中,还包括:
定时同步所述第一数据库中存储的配置信息。
所述方法的另一个实施例中,监控链路中任一节点的数据以二元组(u,v)的形式记录流转到当前节点的数据的源数据和当前节点的数据。
根据本公开实施例的第二方面,还供一种应用监控链路的可视化处理装置,包括:
监控数据获取模块,用于根据预先配置的告警规则,对获取的监控数据进行处理,判断所述监控数据是否触发告警信息,所述告警信息中包含与单个完整监控链路唯一对应的跟踪标识;
链路分析处理模块,用于若触发告警信息,则根据所述告警信息中的跟踪标识获取触发所述告警信息的完整监控链路;所述完整监控链路包括从监控源数据到告警信息的监控链路,在所述完整监控链路中,根据所述监控数据在节点的转换信息确定从所述节点划分出的转换节点,并使用统一的数据存储对象记录单条完整监控链路中当前转换节点的监控数据与下一个转换节点之间的转换规则及关联关系,所述关联关系包括监控数据在转换节点间进行转换的原因数据;
链路展示模块,用于可视化展示所述告警信息对应的完整监控链路。
本公开实施例的第三方面,还提供一种计算机设备,包括:
至少一个处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现本公开第一方面任一所述的方法。
本公开实施例的第四方面,还提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令被电子设备的处理器执行时,使得所述电子设备能够执行本公开第一方面任一所述的方法。
本公开实施例的第五方面,还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本公开第一方面任一所述的方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开实施例方案中,可以在监控数据源头开始到告警信息的完整监控链路中,使用统一的数据存储对象记录链路中不同节点的监控数据和与其与下一个节点数据间的关联,节点中的数据均关联一个唯一的跟踪ID(Identity document,识别标识或标识),并随着监控链路的阶段转换而持续更新序列号状态。该序列号唯一地记录了监控数据所处节点与变化原因,可用于追溯完整监控链路与快速判障。本公开在常规的监控链路上从一个新的角度对回溯的节点进行标记,对数据从收集的源头到数据处理再到目标数据产生的整个流程进行标记和数据关联,对数据的追踪相比于对节点进行追踪能够更准确地分析出异常原因,回溯的效率也更高,实现追溯完整监控链路与快速判障。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种应用监控链路的可视化处理方法的流程示意图。
图2是根据一示例性实施例示出的一种应用监控链路的可视化处理方法的流程示意图。
图3是根据一示例性实施例示出的一种应用监控链路的可视化处理方法中部分步骤具体执行的流程示意图。
图4是根据一示例性实施例示出的一种应用监控链路的可视化处理方法中部分步骤具体执行的流程示意图。
图5是本公开提供的所述方法中一种数据获取微服务的实现原理示意图。
图6是根据一示例性实施例示出的一种应用监控链路的可视化处理装置的示意框图。
图7是根据一示例性实施例示出的一种计算机设备的内部结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息、采集的设备信息等等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本申请实施例提供的应用监控链路的可视化处理方法的一种处理流程可以如图1所示。其中,整个技术方案的整体流程可以包括数据存储、数据存储模块的实现、数据关联模块的实现、监控链路的可视化。本公开方案的创新之一是在确保监控链路流程正常运行的情况下,通过对源数据和目标数据进行标记并建立关联关系的方式,实现数据链路的可追溯及可视化。本公开实施方案在现有的监控链路上从一个新的角度对回溯的节点进行标记,对数据从收集的源头到数据处理再到目标数据产生的整个流程进行标记和数据关联,对数据的追踪相比于对节点进行追踪能够更准确地分析出异常原因,回溯的效率也更高。本公开实施例中所涉及的终端可以包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑、可穿戴设备、车载设备、医疗设备等。本公中所涉及的服务器或系统(可以是单独的服务器、服务器集群、分布式分系统、云处理平台、包含区块链节点的服务器以及其组合的设备)。
本说明书提出一种应用监控链路的可视化处理方法,在监控源数据到告警信息的完整监控链路中,依据监控数据的转换情况将其划分成不同的节点(存储当前监控数据并使用唯一的数据ID进行标识),使用统一的数据存储对象记录链路中当前节点监控数据与后一节点间的转换规则及关联关系(记录了监控数据在节点间进行转换的原因)。单个监控链路关联一个唯一的跟踪ID,根据该ID可获取完整监控链路中节点数据ID形成的序列,该序列完整记录了监控源数据到告警信息间的转变过程,可用于追溯完整监控链路与快速判障。下面以移动终端对视频进行风格迁移的实施场景对本公开实施例方案进行说明。
本公开提供的应用监控链路的可视化处理方法的一个实施流程如图1所示。整个应用监控系统可以根据用户配置的告警规则,对获取到的监控源数据进行分析、处理,进而判断是否触发告警(告警信息中包含跟踪ID),基于告警信息中的跟踪ID获取触发该条告警的完整监控链路并进行可视化。流程涉及到配置平台、数据获取微服务、告警与监控链路绘制微服务以及可以基于Flink(开源流处理框架)实现的数据关联分析任务、业务逻辑处理任务、数据存储任务等多个子模块。子模块的实现及其交互过程可以通过MySQL(开源关系型数据库)、Redis(开源key-value型数据库)、ClickHouse(开源数据分析数据库)、XXL-Job(开源轻量级分布式调度平台)、Plusar(开源分布式消息系统)等渠道实现。
图2是根据一示例性实施例示出的一种应用监控链路的可视化处理方法的流程示意图,如图2所示,所述方法包括以下步骤。
S202:根据预先配置的告警规则,对获取的监控数据进行处理,判断所述监控数据是否触发告警信息,所述告警信息中包含与单个完整监控链路唯一对应的跟踪标识;
S204:若触发告警信息,则根据所述告警信息中的跟踪标识获取触发所述告警信息的完整监控链路;所述完整监控链路包括从监控源数据到告警信息的监控链路,在所述完整监控链路中,根据所述监控数据在节点的转换信息确定从所述节点划分出的转换节点,并使用统一的数据存储对象记录单条完整监控链路中当前转换节点的监控数据与下一个转换节点之间的转换规则及关联关系,所述关联关系包括监控数据在转换节点间进行转换的原因数据;
S206:可视化展示所述告警信息对应的完整监控链路。
一个实施方式的具体的流程可以包括如下步骤(下述示例或实施例的描述并不限定本公开提供的方案必须完全执行某个示例或实施例的全部或部分步骤或者某个步骤中的全部执行动作):
1.用户在配置平台前端配置告警规则(图1中标注的步骤1);
2.配置平台后端会将配置信息存入MySQL和Redis,并将配置信息同步到ClickHouse(一种开源数据分析数据库)(图1中标注的步骤2、3、4);
3.配置平台后端根据用户的配置信息,生成XXL-Job定时任务(图1中标注的步骤5);
4.定时任务定时调用数据获取微服务采集监控源数据,生成数据关联对象后存入Pulsar(Topic:dataCombine)(图1中标注的步骤6、7);Topic是TDMQ Pulsar版中的核心概念,通常用来对系统生产的各类消息做一个集中的分类和管理,例如和业务数据的相关消息可以放在一个名为Topic中,供其他消费者订阅。在实际应用场景中,一个Topic往往代表着一个业务聚合,由开发者根据自身系统设计、数据架构设计来决定如何设计不同的Topic。为便于描述,在此可以称Topic为主题或队列;
5.Flink(开源流处理框架)数据关联分析任务实时监听Pulsar(Topic:dataCombine),消费数据关联对象消息(图1中标注的步骤8)并执行以下操作:
1)分析数据关联对象,构造关联关系对象,将关联关系对象、源数据或结果数据分别转换为统一的数据中转对象,再存入Pulsar(开源分布式消息系统)(Topic:dataStorage)(图1中标注的步骤9);
2)抽取出数据关联对象中记录的结果数据、topic(包含业务数据分类和告警消息分类)名称,将结果数据转换为数据实体对象并存入Pulsar(Topic为topicName)(图1中标注的步骤12);
6.Flink数据存储任务实时监听Pulsar(Topic:dataStorage),消费数据中转对象消息、存入ClickHouse(图1中标注的步骤10、11);
7.Flink业务逻辑处理任务定时同步Redis中存储的配置信息、实时监听Pulsar(业务数据类Topic),消费数据实体对象消息,对数据实体对象执行业务逻辑处理获取结果数据,进而生成下一节点的数据关联对象并存入Pulsar(Topic:dataCombine)中(图1中标注的步骤13、14、15);
8.告警与监控链路绘制微服务实时监听Pulsar(告警消息分类Topic),消费数据中转对象消息,发出告警、绘制监控链路。
图3是根据一示例性实施例示出的一种应用监控链路的可视化处理方法中部分步骤具体执行的流程示意图,如图3所示,所述根据预先配置的告警规则,对获取的监控数据进行处理,判断所述监控数据是否触发告警信息,包括:
S302:获取用户在配置平台前端配置的告警规则;
S304:控制配置平台后端将包括所述配置规则的配置信息存入第一数据库,并将所述配置信息同步到第二数据库,所述第一数据库的类型为关系型数据库,所述第二数据库的类型为列式数据库管理系统;
S306:控制配置平台后端根据所述配置信息生成分布式定时任务,所述分布式定时任务用于定时采集监控源数据,并基于采集的监控源数据生成数据关联对象后存入分布式消息系统;
S308:实时监听所述分布式消息系统中的数据关联对象,当所述数据关联对象被消费时,对获取的监控数据进行处理,判断所述监控数据是否触发告警信息。
所述第一数据库可以包括前述的MySQL和Redis。所述第二数据库可以包括ClickHouse。
各个节点的数据按一定结构,存到相应的主题中。一般的,数据结构中有源数据ID和结果数据。Flink任务消费消息,分配ID,处理出结果数据,跟踪ID(有源数据时用源数据的跟踪ID,没有就分配),处理时建立关联关系,同时可以存储关联关系存到Pulsar。本公开一些实施例中的数据结构中包括有不同转换节点的源数据和结果数据,若源数据是本身源数据为空值的数据,故在存储该数据时会为其分配一个跟踪ID。
通过Flink的任务对数据消息进行消费的同时,对相关数据分配ID,当前节点的监控数据被处理过后为结果数据。具有源数据的结果数据可以使用源数据的跟踪ID,如果源数据为空值则为其分配一个ID来进行追踪。
不同转换节点的源数据和结果数据被标记的追踪ID使得数据之间自动产生了关联关系,此关联关系在数据消息被消费时产生,处理过的数据会进一步存入另一个Topic的Pulsar,处理时产生的关系也同时存储。
基于本公开示例和图1所示,图4根据一示例性实施例示出的一种应用监控链路的可视化处理方法中部分步骤具体执行的流程示意图,如图4所示,所述实时监听所述分布式消息系统中的数据关联对象,当所述数据关联对象被消费时,对获取的监控数据进行处理,包括:
S402:基于对所述数据关联对象的分析结果,构造关联关系对象,将所述关联关系对象、源数据或结果数据分别转换为统一的数据中转对象;
S404:将所述数据中转对象存入所述分布式消息系统中的数据存储主题;
S406:当所述数据关联对象包含结果数据时,抽取出数据关联对象中记录的结果数据、主题的名称,将结果数据转换为数据实体对象并存入所述分布式消息系统中的对应的主题;所示主题的包括业务数据分类和告警消息分类,不同的分类的若干主题有各自对应的主题的名称;
S408:实时监听所述分布式消息系统中的数据存储主题,当所述数据中转对象被消费时,将与消费所述数据中转对象相关联的信息存入所述第二数据库。
基于本公开示例和图1所示,本公开所述方法的另一个实施例中,还可以包括:
实时监听所述分布式消息系统中业务数据分类下的主题;
当所述数据实体对象被消费时,获取对数据实体对象执行业务逻辑处理后得到的结果数据;
基于所述结果数据生成下一个转换节点的数据关联对象,并将所述数据关联对象存入所述分布式消息系统中的关联关系主题。
基于本公开示例和图1所示,本公开所述方法的另一个实施例中,还可以包括:
实时监听所述分布式消息系统中告警消息分类下的主题;
所述触发告警信息包括:当所述数据中转对象被消费时,若所述监控数据满足所述告警规则时,则触发告警信息;
所述可视化展示所述告警信息对应的完整监控链路包括:绘制所述告警信息的完整监控链路;可视化展示绘制的所述完整监控链路。
基于本公开示例和图1所示,本公开所述方法的另一个实施例中,所述绘制所述告警信息的完整监控链路可以包括:
基于与告警信息对应的跟踪标识获取触发所述告警信息的监控链路所涉及到的关联关系对象,包括:从监控链路的开始节点数据关联对象开始往下一个转换节点遍历,直至结果数据为空的数据关联对象为止所形成的序列作为所述告警信息的完整监控链路。
基于本公开示例和图1所示,本公开所述方法的另一个实施例中,还可以包括:
定时同步所述第一数据库中存储的配置信息。
本公开所述方法的另一个实施例中,监控链路中任一节点的数据以二元组(u,v)的形式记录流转到当前节点的数据的源数据和当前节点的数据。
统一的数据存储对象中可以记录以二元组(u,v)的形式记录流转到当前节点的数据的源数据和当前节点的数据。本公开完整监控链路中任一节点的数据均会以该二元组的形式进行记录(监控系统源数据的u和告警信息的v为空)。因此,完整的监控链路以无向图的形式被记录下来,可从监控源数据追溯到告警信息,也可从告警信息回溯到监控源数据。
本公开中所涉及的配置平台为应用监控系统的一种终端,可以用于管理应用监控系统的配置信息。配置平台前端可以基于开源组件Vue和AntDesign实现,后端基于开源框架SpringCloud和SpringBoot实现。监控平台前端提供Web页面供用户进行各项监控任务的配置(如:数据获取微服务的采集频率、触发告警的条件、告警信息的接收人等),监控平台后端会将用户设置的配置信息存入MySQL数据库进行持久化存储、存入Redis缓存供Flink业务逻辑处理任务定时读取、同步存储到ClickHouse以供后续查询及构造数据关联对象时使用。监控配置信息均基于配置基类(见表1)构造,当配置信息发生变更时,使用MySQL存储最新的配置信息,使用ClickHouse记录配置信息的所有版本。
表1配置基类字段说明
图5是本公开提供的所述方法中一种数据获取微服务的实现原理示意图。数据获取微服务接受定时任务的调度,从数据源获取输入应用监控链路的源数据,具体的步骤如下(如图5所示):
1.获取配置信息cfg;
2.通过REST API(Application Insights、Log Analytics)、API Server(Kubernetes)或JDBC(MySQL)从多种数据源采集原始数据并构造数据实体对象obj(基于实体基类实现,字段说明见表2);
3.构造数据关联对象dataCombineObj(具有一个唯一的跟踪Id,字段说明见表3):
1)dataComebineObj.origin=null
2)dataComebineObj.config=cfg
3)dataComebineObj.result=obj
4)dataComebineObj.topic设置为数据源名称
并存入Pulsar(Topic:dataCombine)。
表2实体基类字段说明
表3数据关联对象字段说明
本公开中涉及的数据关联分析任务可以基于Flink实现,实时监听Pulsar(Topic:dataCombine),消费数据关联对象(dataCombineObj)消息并可以执行以下分析处理:
1.根据dataComebineObj构造关联关系对象connectionObj(字段说明见表4):
1)connectionObj.traceId=dataCombineObj.traceId
2)connectionObj.originId=dataCombineObj.origin.i(若dataCombineObj.origin为null,connectionObj.originId=null)
3)connectionObj.configId=dataCombineObj.config.i(若dataCombineObj.config为null,connectionObj.configId=null)
4)connectionObj.resultId=dataCombineObj.result.i(若dataCombineObj.result为null,connectionObj.resultId=null);
2.根据connectionObj构造数据中转对象transformDTO(字段说明见表5):
1)transformDTO.traceId=connectionObj.traceId
2)transformDTO=dataStorage
3)transformDTO.obj=connectionObj
并存入Pulsar(Topic:dataStorage);
3.若dataCombineObj.originNeedStorage=true,根据dataCombineobj.origin构造数据中转对象transformDTO_origin:
1)transformDTO_origin.traceId=dataCombineObj.traceId
2)transformDTO_origin.topic=dataStorage
3)transformDTO_origin.obj=dataCombineObj.origin
并存入Pulsar(Topic:dataStorage);
4.若dataCombineObj.resultNeedStorage=true,根据dataCombineobj.result构造数据中转对象transformDTO_result:
1)transformDTO_result.traceId=dataCombineObj.traceId
2)transformDTO_result.topic=dataStorage
3)transformDTO_result.obj=dataCombineObj.result
并存入Pulsar(Topic:dataStorage);
5.根据dataCombineObj.result构造数据实体对象dataObj,并存入Pulsar(Topic为dataCombineObj.topic)。
表4关联关系对象字段说明
表5数据中转对象字段说明
本公开所述涉及的业务逻辑处理任务可以基于Flink实现,主要实现以下功能:
1.定时同步Redis中存储的配置信息config_new;
2.实时监听Pulsar业务数据类Topic;
3.消费业务类数据实体对象消息(dataObj);
4.对数据实体对象进行业务逻辑分析获取结果数据result_new,生成下一节点的数据关联对象dataCombine_new:
1)dataCombine_new.traceId=dataObj.traceId
2)dataCombine_new.origin=dataObj
3)dataCombine_new.config=config_new
4)dataComebine_new.result=result_new
5)dataComebine.topic=dataCombine
并存入Pulsar(Topic:dataCombine)中。
本公开中涉及的数据存储任务可以基于Flink实现,用于实时监听Pulsar(Topic:dataStorage)、消费数据中转对象消息并存入ClickHouse数据库。数据存储任务对每一条数据加工处理,包括检查必须字段id和dataTimestamp是否正确,以及设置insertTime。为该Flink添加ClickHouse Sink对象,以实现将加工处理后的数据存储到ClickHouse。ClickHouse采用两分片两副本集群模式,数据库采用Atomic引擎,数据表采用ReplicatedVersionedCollapsingMergeTree表引擎,添加sign字段作为标记字段,version字段作为版本字段,并额外添加committed字段作为提交标记。并创建Distributed分布式表进行操作。ClickHouse Sink类基于ReplicatedVersionedCollapsingMergeTree表引擎实现EXACTLY_ONCE语义,预保存时设置对象字段sign=1,version=1,committed=0进行保存;事务提交时对于同一个对象分别添加sign=-1,version=1删除原保存数据,sign=1,version=2,committed=1作为最终数据进行保存;事务回滚时对对象添加sign=-1,version=1删除原保存数据。
本公开涉及的告警与监控链路绘制微服务可以实时监听Pulsar告警消息类Topic,消费告警类数据实体对象消息,并通过邮件、电话等途径发出含有监控链路跟踪标识(traceId)的告警信息。基于traceId可获取触发该告警的监控链路所涉及到的关联关系对象。originId为null的数据关联对象为监控链路的开始节点,从当前节点开始往后遍历,到resultId为null的数据关联对象为止,所形成的序列即标识了完整的监控链路。依据该序列,使用开源的Echarts组件实现监控链路可视化。
本公开实施例方案中,可以在确保监控链路流程正常运行的情况下,通过对源数据和目标数据进行标记并建立关联关系的方法,利用数据的追踪ID的建立与存储和数据间关联关系的建立与存储,实现数据链路的可追溯及可视化。
可以理解的是,本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同/相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。相关之处参见其他方法实施例的描述说明即可。
应该理解的是,虽然附图中涉及的流程示意图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,附图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的步骤或者阶段的至少一部分轮流或者交替地执行。
可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。
基于上述所述的应用监控链路的可视化处理实施例的描述,本公开还提供应用监控链路的可视化处理装置。所述装置可以包括使用了本说明书实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本公开实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据一示例性实施例示出的一种应用监控链路的可视化处理装置示意框图。所述装置可以为服务器,如应用监控系统或告警系统,或者集成于所述服务器中的模块、组件、器件、计算机程序产品等。具体的可以参照图6,该装置100可以包括:
监控数据获取模块602,可以用于根据预先配置的告警规则,对获取的监控数据进行处理,判断所述监控数据是否触发告警信息,所述告警信息中包含与单个完整监控链路唯一对应的跟踪标识;
链路分析处理模块604,可以用于若触发告警信息,则根据所述告警信息中的跟踪标识获取触发所述告警信息的完整监控链路;所述完整监控链路包括从监控源数据到告警信息的监控链路,在所述完整监控链路中,根据所述监控数据在节点的转换信息确定从所述节点划分出的转换节点,并使用统一的数据存储对象记录单条完整监控链路中当前转换节点的监控数据与下一个转换节点之间的转换规则及关联关系,所述关联关系包括监控数据在转换节点间进行转换的原因数据;
链路展示模块606,可以用于可视化展示所述告警信息对应的完整监控链路。
上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和若干数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的若干数据库用于存储各种关联对象数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现本公开任一所述方法实施例的步骤。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的非易失性存储介质,上述指令可由处理器执行以完成上述方法。存储介质可以是计算机可读存储介质,例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光数据存储设备、石墨烯存储设备等。
在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令,上述指令可由计算机设备的处理器执行以完成上述方法。
在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令,上述指令可由计算机设备的处理器执行以完成上述方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的,上述所述的装置、计算机设备、存储介质等根据方法实施例的描述还可以包括其它的实施方式,具体的实现方式可以参照相关方法实施例的描述。同时各个方法以及装置、设备、服务器实施例之间特征的相互组合组成的新的实施例仍然属于本公开所涵盖的实施范围之内,在此不作一一赘述。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或描述的装置或单元相互之间的耦合、通信连接等可以是直接和/或间接耦合/连接的方式实现,可以是通过一些标准或自定义的接口、协议等,是电性,机械或其它的形式实现。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
Claims (12)
1.一种应用监控链路的可视化处理方法,其特征在于,包括:
根据预先配置的告警规则,对获取的监控数据进行处理,判断所述监控数据是否触发告警信息,所述告警信息中包含与单个完整监控链路唯一对应的跟踪标识;
若触发告警信息,则根据所述告警信息中的跟踪标识获取触发所述告警信息的完整监控链路;所述完整监控链路包括从监控源数据到告警信息的监控链路,在所述完整监控链路中,根据所述监控数据在节点的转换信息确定从所述节点划分出的转换节点,并使用统一的数据存储对象记录单条完整监控链路中当前转换节点的监控数据与下一个转换节点之间的转换规则及关联关系,所述关联关系包括监控数据在转换节点间进行转换的原因数据;
可视化展示所述告警信息对应的完整监控链路。
2.根据权利要求1所述的方法,其特征在于,所述根据预先配置的告警规则,对获取的监控数据进行处理,判断所述监控数据是否触发告警信息,包括:
获取用户在配置平台前端配置的告警规则;
控制配置平台后端将包括所述配置规则的配置信息存入第一数据库,并将所述配置信息同步到第二数据库,所述第一数据库的类型为关系型数据库,所述第二数据库的类型为列式数据库管理系统;
控制配置平台后端根据所述配置信息生成分布式定时任务,所述分布式定时任务用于定时采集监控源数据,并基于采集的监控源数据生成数据关联对象后存入分布式消息系统;
实时监听所述分布式消息系统中的数据关联对象,当所述数据关联对象被消费时,对获取的监控数据进行处理,判断所述监控数据是否触发告警信息。
3.根据权利要求2所述的方法,其特征在于,所述实时监听所述分布式消息系统中的数据关联对象,当所述数据关联对象被消费时,对获取的监控数据进行处理,包括:
基于对所述数据关联对象的分析结果,构造关联关系对象,将所述关联关系对象、源数据或结果数据分别转换为统一的数据中转对象;
将所述数据中转对象存入所述分布式消息系统中的数据存储主题;
当所述数据关联对象包含结果数据时,抽取出数据关联对象中记录的结果数据、主题的名称,将结果数据转换为数据实体对象并存入所述分布式消息系统中的对应的主题;所示主题的包括业务数据分类和告警消息分类,不同的分类的若干主题有各自对应的主题的名称;
实时监听所述分布式消息系统中的数据存储主题,当所述数据中转对象被消费时,将与消费所述数据中转对象相关联的信息存入所述第二数据库。
4.根据权利要求3所述的方法,其特征在于,还包括:
实时监听所述分布式消息系统中业务数据分类下的主题;
当所述数据实体对象被消费时,获取对数据实体对象执行业务逻辑处理后得到的结果数据;
基于所述结果数据生成下一个转换节点的数据关联对象,并将所述数据关联对象存入所述分布式消息系统中的关联关系主题。
5.根据权利要求3所述的方法,其特征在于,还包括:
实时监听所述分布式消息系统中告警消息分类下的主题;
所述触发告警信息包括:当所述数据中转对象被消费时,若所述监控数据满足所述告警规则时,则触发告警信息;
所述可视化展示所述告警信息对应的完整监控链路包括:绘制所述告警信息的完整监控链路;可视化展示绘制的所述完整监控链路。
6.根据权利要求5所述的方法,其特征在于,所述绘制所述告警信息的完整监控链路包括:
基于与告警信息对应的跟踪标识获取触发所述告警信息的监控链路所涉及到的关联关系对象,包括:从监控链路的开始节点数据关联对象开始往下一个转换节点遍历,直至结果数据为空的数据关联对象为止所形成的序列作为所述告警信息的完整监控链路。
7.根据权利要求2所述的方法,其特征在于,还包括:
定时同步所述第一数据库中存储的配置信息。
8.根据权利要求1所述的方法,其特征在于,监控链路中任一节点的数据以二元组(u,v)的形式记录流转到当前节点的数据的源数据和当前节点的数据。
9.一种应用监控链路的可视化处理装置,其特征在于,包括:
监控数据获取模块,用于根据预先配置的告警规则,对获取的监控数据进行处理,判断所述监控数据是否触发告警信息,所述告警信息中包含与单个完整监控链路唯一对应的跟踪标识;
链路分析处理模块,用于若触发告警信息,则根据所述告警信息中的跟踪标识获取触发所述告警信息的完整监控链路;所述完整监控链路包括从监控源数据到告警信息的监控链路,在所述完整监控链路中,根据所述监控数据在节点的转换信息确定从所述节点划分出的转换节点,并使用统一的数据存储对象记录单条完整监控链路中当前转换节点的监控数据与下一个转换节点之间的转换规则及关联关系,所述关联关系包括监控数据在转换节点间进行转换的原因数据;
链路展示模块,用于可视化展示所述告警信息对应的完整监控链路。
10.一种计算机设备,其特征在于,包括:
至少一个处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至8中任一项所述的应用监控链路的可视化处理方法。
11.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令被计算机设备的处理器执行时,使得所述计算机可读存储介质能够执行如权利要求1至8中任一项所述的应用监控链路的可视化处理方法。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8任一项所述的应用监控链路的可视化处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111491106.2A CN114356692A (zh) | 2021-12-08 | 2021-12-08 | 一种应用监控链路的可视化处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111491106.2A CN114356692A (zh) | 2021-12-08 | 2021-12-08 | 一种应用监控链路的可视化处理方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114356692A true CN114356692A (zh) | 2022-04-15 |
Family
ID=81097500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111491106.2A Pending CN114356692A (zh) | 2021-12-08 | 2021-12-08 | 一种应用监控链路的可视化处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114356692A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114844795A (zh) * | 2022-04-27 | 2022-08-02 | 工银科技有限公司 | 端到端的链路监控方法和装置 |
CN114860847A (zh) * | 2022-06-29 | 2022-08-05 | 深圳红途科技有限公司 | 应用于大数据平台的数据链路处理方法、系统及介质 |
CN117170884A (zh) * | 2023-11-03 | 2023-12-05 | 联通在线信息科技有限公司 | 图表渲染方法、装置、电子设备和存储介质 |
-
2021
- 2021-12-08 CN CN202111491106.2A patent/CN114356692A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114844795A (zh) * | 2022-04-27 | 2022-08-02 | 工银科技有限公司 | 端到端的链路监控方法和装置 |
CN114860847A (zh) * | 2022-06-29 | 2022-08-05 | 深圳红途科技有限公司 | 应用于大数据平台的数据链路处理方法、系统及介质 |
CN114860847B (zh) * | 2022-06-29 | 2022-09-27 | 深圳红途科技有限公司 | 应用于大数据平台的数据链路处理方法、系统及介质 |
CN117170884A (zh) * | 2023-11-03 | 2023-12-05 | 联通在线信息科技有限公司 | 图表渲染方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11934417B2 (en) | Dynamically monitoring an information technology networked entity | |
US11106442B1 (en) | Information technology networked entity monitoring with metric selection prior to deployment | |
US11627053B2 (en) | Continuous data sensing of functional states of networked computing devices to determine efficiency metrics for servicing electronic messages asynchronously | |
US11924021B1 (en) | Actionable event responder architecture | |
US10936643B1 (en) | User interface with automated condensation of machine data event streams | |
US20190095478A1 (en) | Information technology networked entity monitoring with automatic reliability scoring | |
CN114356692A (zh) | 一种应用监控链路的可视化处理方法、装置及存储介质 | |
CN109660397B (zh) | 用于采集日志的系统、方法和装置 | |
CN109344170B (zh) | 流数据处理方法、系统、电子设备及可读存储介质 | |
CN109831478A (zh) | 基于规则及模型的分布式实时处理智能决策系统及方法 | |
CN108073625B (zh) | 用于元数据信息管理的系统及方法 | |
US11269808B1 (en) | Event collector with stateless data ingestion | |
CN112765152B (zh) | 用于合并数据表的方法和装置 | |
CN112905323B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113282611B (zh) | 一种流数据同步的方法、装置、计算机设备及存储介质 | |
CN111274256A (zh) | 基于时序数据库的资源管控方法、装置、设备及存储介质 | |
CN113127307A (zh) | 溯源请求的处理方法、相关装置、系统及存储介质 | |
KR20150118963A (ko) | 큐 모니터링 및 시각화 | |
CN110471945A (zh) | 活跃数据的处理方法、系统、计算机设备和存储介质 | |
CN113360376A (zh) | 埋点测试方法和装置 | |
CN105069029B (zh) | 一种实时etl系统及方法 | |
CN114745295A (zh) | 数据采集方法、装置、设备和可读存储介质 | |
Anderson et al. | Architectural Implications of Social Media Analytics in Support of Crisis Informatics Research. | |
CN114461792A (zh) | 告警事件关联方法、装置、电子设备、介质及程序产品 | |
US11676345B1 (en) | Automated adaptive workflows in an extended reality environment |
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 |