CN115617625B - 告警规则配置方法及装置 - Google Patents

告警规则配置方法及装置 Download PDF

Info

Publication number
CN115617625B
CN115617625B CN202211609716.2A CN202211609716A CN115617625B CN 115617625 B CN115617625 B CN 115617625B CN 202211609716 A CN202211609716 A CN 202211609716A CN 115617625 B CN115617625 B CN 115617625B
Authority
CN
China
Prior art keywords
alarm
configuration
expression
sub
determining
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.)
Active
Application number
CN202211609716.2A
Other languages
English (en)
Other versions
CN115617625A (zh
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.)
Yunhe Enmo Beijing Information Technology Co ltd
Original Assignee
Yunhe Enmo Beijing 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 Yunhe Enmo Beijing Information Technology Co ltd filed Critical Yunhe Enmo Beijing Information Technology Co ltd
Priority to CN202211609716.2A priority Critical patent/CN115617625B/zh
Publication of CN115617625A publication Critical patent/CN115617625A/zh
Application granted granted Critical
Publication of CN115617625B publication Critical patent/CN115617625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • 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
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Alarm Systems (AREA)

Abstract

本申请公开了一种告警规则配置方法及装置。该方法包括:获取目标告警项的多条配置信息,并确定与多条配置信息对应的多个配置项,其中,每个配置项包括预设的多个告警维度,每个告警维度的值为空值或者非空值;确定各个配置项中的值为非空值的告警维度的第一数量,并依据各个配置项对应的第一数量从大到小的目标顺序,生成目标告警项的目标矩阵;依据目标顺序依次确定目标矩阵中各个配置项的集合表达式;基于集合表达式,确定目标矩阵中各个配置项的告警表达式,并基于每条配置信息,确定目标矩阵中各个配置项的告警阈值。本申请解决了相关告警技术支持告警维度较少,导致配置项的灵活性较差,且设置与各配置项对应的告警阈值的技术问题。

Description

告警规则配置方法及装置
技术领域
本申请涉及数据库处理技术领域,具体而言,涉及一种告警规则配置方法及装置。
背景技术
告警系统作为信息基础设施中不可或缺的一部分,其主要负责企业中的信息系统出现问题或故障时,及时将故障事件的信息准确地通知给相关技术人员,以保障信息系统运行的安全性。比如说,在监控到数据库系统的性能参数超过阈值后,将阈值参数发送至相关的运维人员。
而随着业务场景朝着复杂化方向发展,往往存在多个数据库,并且不同人员需要管理不同的数据库。但相关告警系统所支持的告警项的维度信息较少,一般为1-2个,从而导致告警项的配置信息的灵活性较差,而且无法为不同维度的配置项设置相应的告警阈值,进而导致告警系统发出的告警信息准确性较差。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种告警规则配置方法及装置,以至少解决相关告警技术支持告警维度较少,导致配置项的灵活性较差,且设置与各配置项对应的告警阈值的技术问题。
根据本申请实施例的一个方面,提供了一种告警规则配置方法,包括:获取目标告警项的多条配置信息,并确定与多条配置信息对应的多个配置项,其中,每个配置项包括预设的多个告警维度,每个告警维度的值为空值或者非空值;确定各个配置项中的值为非空值的告警维度的第一数量,并依据各个配置项对应的第一数量从大到小的目标顺序,构建目标告警项的目标矩阵;依据目标顺序依次确定目标矩阵中各个配置项的集合表达式;基于集合表达式,确定目标矩阵中各个配置项的告警表达式,并基于每条配置信息,确定目标矩阵中各个配置项的告警阈值。
可选地,确定与多条配置信息对应的多个配置项,包括:对于每个配置项,依据对应的配置信息确定配置项中所有告警维度的值,其中,告警维度的值为空值或者非空值。
可选地,循环执行以下流程:按照目标顺序依次读取目标矩阵中的各个配置项;对于每个配置项,判断配置项中是否包含值为空值的告警维度;在配置项中不包含值为空值的告警维度时,确定配置项中值为非空值的告警维度的第一子表达式,并依据第一子表达式确定配置项的第一集合表达式;在配置项中包含值为空值的告警维度时,确定配置项中值为空值的告警维度的第二子表达式,以及配置项中值为非空值的告警维度的第三子表达式,并依据第二子表达式和第三子表达式,确定配置项的第二集合表达式。
可选地,依据第一子表达式确定配置项的第一集合表达式,包括:将多个第一子表达式做交运算,得到配置项的第一集合表达式。
可选地,确定配置项中值为空值的告警维度的第二子表达式,包括:确定配置项中值为非空值的告警维度的键值信息,并判断目标矩阵中的其他多个配置项中是否包含键值信息;在其他多个配置项中不包含键值信息时,将配置项中的所有告警维度的值做交运算,得到配置项中值为空值的告警维度的第二子表达式;在其他多个配置项中包含键值信息时,确定其他每个配置项中值为非空值的告警维度的第三子表达式,以及其他每个配置项中值为空值的告警维度的第四子表达式,并依据第三子表达式和第四子表达式确定配置项中值为空值的告警维度的第二子表达式。
可选地,判断目标矩阵中的其他多个配置项中是否包含键值信息,包括:若目标矩阵中的其他多个配置项中的告警维度的非空值与键值信息相同时,确定其他多个配置项中包含键值信息;若目标矩阵中的其他多个配置项中的告警维度的非空值与键值信息不相同时,确定其他多个配置项中不包含键值信息。
可选地,依据第三子表达式和第四子表达式确定配置项中值为空值的告警维度的第二子表达式,包括:将其他每个配置项中值为非空值的告警维度的第三子表达式和第四子表达式做交运算,得到第五子表达式;将其他多个配置项对应的第五子表达式做并运算,得到第六子表达式;对第六子表达式做补运算,得到配置项中值为空值的告警维度的第二子表达式。
可选地,在得到配置项中值为空值的告警维度的第二子表达式之后,还包括:采用反演律法则对第二子表达式进行转换。
可选地,依据第二子表达式和第三子表达式,确定配置项的第二集合表达式,包括:将第二子表达式和第三子表达式做交运算,得到配置项的第二集合表达式。
可选地,基于集合表达式,确定目标矩阵中各个配置项的告警表达式,并基于每条配置信息,确定目标矩阵中各个配置项的告警阈值,包括:分别对第一集合表达式和第二集合表达式中所有运算符号进行替换,得到各个配置项的告警表达式;基于每条配置信息,确定目标矩阵中各个配置项的告警阈值。
根据本申请实施例的另一方面,还提供了一种告警规则配置装置,包括:第一确定模块,用于获取目标告警项的多条配置信息,并确定与多条配置信息对应的多个配置项,其中,每个配置项包括预设的多个告警维度,每个告警维度的值为空值或者非空值;构建模块,用于确定各个配置项中的值为非空的告警维度的第一数量,并依据各个配置项对应的第一数量从大到小的目标顺序,构建目标告警项的目标矩阵;第二确定模块,用于依据目标顺序依次确定目标矩阵中各个配置项的集合表达式;配置模块,用于基于集合表达式,确定目标矩阵中各个配置项的告警表达式,并基于每条配置信息,确定目标矩阵中各个配置项的告警阈值。
根据本申请实施例的另一方面,还提供了一种电子设备,该电子设备包括:存储器和处理器,其中,存储器中存储有计算机程序,处理器被配置为通过计算机程序执行上述的告警规则配置方法。
在本申请实施例中,通过获取目标配置项的多条配置信息,并生成与配置信息对应的多个配置项,实现依据不同告警维度组合不同的配置项,使得告警更加准确和灵活;依据各个配置项中的值为非空的告警维度的第一数量从大到小的目标顺序,构建目标告警项的目标矩阵,并目标顺序依次确定目标矩阵中各个配置项的告警表达式和告警阈值,保证告警对象在触发告警后,只会在一个配置项里触发告警,而不会在其他配置项里触发,实现了配置项之间的互斥性,同时,可以支持任意配置信息,从而有效避免出现漏报警的情况发生,进而解决了相关告警技术支持告警维度较少,导致配置项的灵活性较差,且设置与各配置项对应的告警阈值的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是是根据本申请实施例的一种可选的实现告警规则配置方法的计算机终端的硬件结构图;
图2是根据本申请实施例的一种可选的告警规则配置方法的流程示意图;
图3是根据本申请实施例的一种可选的目标矩阵的示意图;
图4是根据本申请实施例的另一种可选的目标矩阵的示意图;
图5是根据本申请实施例的一种可选的告警规则配置装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了更好地理解本申请实施例,以下将本申请实施例中涉及的技术术语解释如下:
告警项:针对某个事件的一系列配置策略,包括告警对象、告警表达式、告警阈值。
告警对象:指告警任务所监控的主体,用来描述告警项的告警目标,告警对象由若干个维度组成,也即告警对象的格式取决于告警项的维度。一般告警对象可以是一个OB集群、一台机器或者一个服务器。
配置项:根据告警对象维度的不同组合,可以生成不同的配置项。
告警表达式:通常依据告警表达式的值是否达到告警阈值来判定是否触发告警。
告警阈值:通常由不等式和数字组成,告警阈值与告警表达式共同判断告警项是否触发告警。
Prometheus系统:由监控服务、告警服务、时序数据库,以及周边生态的各种指标收集器组成,是当下主流的云原生监控告警系统。该系统是专为监控指标数据设计的高性能时序数据库,因而其具备以下特性:开箱即用的各种服务发现机制,可以自动发现监控端点;具有强大易用的查询语言PromSQL以及丰富的聚合函数;可以配置灵活的告警规则,支持告警收敛、多级路由等高级功能;同时,具有各种现成的开源指标收集器,可以实现自定义监控指标。
实施例1
随着业务场景朝着复杂化方向发展,往往存在多个数据库,并且不同人员需要管理不同的数据库。但相关告警系统所支持的告警项的维度信息较少,一般为1-2个,从而导致告警项的配置信息的灵活性较差,而且无法为不同维度的配置项设置相应的告警阈值,进而导致告警系统发出的告警信息准确性较差。
为了解决该问题,本申请实施例提供了一种告警规则配置方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现告警规则配置方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为 “数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的告警规则配置方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的告警规则配置方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10的用户界面进行交互。
在上述运行环境下,本申请实施例提供了一种告警规则配置方法,如图2所示,该方法至少包括步骤S202-S208,其中:
步骤S202,获取目标告警项的多条配置信息,并确定与多条配置信息对应的多个配置项,其中,每个配置项包括预设的多个告警维度,每个告警维度的值为空值或者非空值。
可选地,对于每个配置项,依据对应的配置信息确定配置项中所有告警维度的值。
具体地,当用户对目标告警项进行配置时,可以依据获取的m条配置信息生成对应 的m个配置项。为了方便区分,可以将m个配置项分别记为
Figure DEST_PATH_IMAGE001
,其中,下标 为配置项的ID。由于每条配置项中包含目标告警项的告警对象的n个告警维度,可以将n个 告警维度分别记为
Figure 315949DEST_PATH_IMAGE002
,其中,下标为告警维度的ID。但每个配置项中对告 警维度的限制情况不一致,因此,将配置项
Figure DEST_PATH_IMAGE003
的告警维度
Figure 94418DEST_PATH_IMAGE004
的值定义为
Figure DEST_PATH_IMAGE005
,当配置项
Figure 569130DEST_PATH_IMAGE006
中对 告警维度
Figure 627216DEST_PATH_IMAGE004
有限制时,
Figure 938112DEST_PATH_IMAGE005
为非空值;反之,则为空值。
步骤S204,确定各个配置项中的值为非空值的告警维度的第一数量,并依据各个配置项对应的第一数量从大到小的目标顺序,构建目标告警项的目标矩阵。
具体地,确定目标告警项中每个配置项
Figure 989113DEST_PATH_IMAGE003
的所有告警维度的值
Figure 69065DEST_PATH_IMAGE005
为非空值的第一 数量,并按照各个配置项对应的第一数量从大到小的顺序,依据配置项和告警维度生成目 标矩阵。
图3示出了一种可选的目标矩阵的示意图,其中,配置项
Figure DEST_PATH_IMAGE007
中值为非空值的告警维 度的第一数量最大,
Figure 547319DEST_PATH_IMAGE008
其次,以此类推。
步骤S206,依据目标顺序依次确定目标矩阵中各个配置项的集合表达式。
根据本申请的一个可选的实施例,为了保证存在多个不同配置项时,告警系统对告警项可以实现精准告警,需要确保配置项之间的互斥性和全集性。在本申请实施例中采用循环处理机制执行步骤S1~S4,以确保对目标矩阵中的每一个配置项的所有告警维度进行处理,并得到对应的集合表达式,包括:
步骤S1,按照目标顺序依次读取目标矩阵中的各个配置项。
具体地,按照从上到下的顺序依次读取目标矩阵中的各个配置项。
步骤S2,对于每个配置项,判断配置项中是否包含值为空值的告警维度。
在配置项
Figure 220877DEST_PATH_IMAGE003
中所有告警维度的值全部为非空值时,可以通过步骤S3确定配置项
Figure 950936DEST_PATH_IMAGE003
的第一集合表达式。
而在配置项
Figure 275607DEST_PATH_IMAGE003
中本身有部分告警维度的值为空值时,由于需要使用配置项
Figure 534550DEST_PATH_IMAGE003
中的 所有告警维度计算配置项
Figure 695404DEST_PATH_IMAGE003
中值为空值的告警维度的表达式,故配置项
Figure 229153DEST_PATH_IMAGE003
中一旦存在值为 空值的告警维度,可能会因为信息不足导致无法计算表达式。在这种情况下,需要通过步骤 S4的方法对配置项
Figure 408331DEST_PATH_IMAGE003
中存在值为空值的告警维度采用递归处理,得到配置项
Figure 838175DEST_PATH_IMAGE003
存在值为空 值的告警维度的表达式。通常,经过有限的递归处理后,配置项
Figure 610959DEST_PATH_IMAGE003
中将不存在值为空值的告 警维度,此时就可以计算配置项
Figure 558187DEST_PATH_IMAGE003
中值为空值的告警维度的集合表达式。
步骤S3,在配置项中不包含值为空值的告警维度时,确定配置项中值为非空值的告警维度的第一子表达式,并依据第一子表达式确定配置项的第一集合表达式。
具体地,可以将多个第一子表达式做交运算,得到配置项的第一集合表达式。
例如,首先按照从上到下的顺序依次读取矩阵中各个配置项中所有告警维度的 值,针对所有值为非空值的告警维度,如配置项
Figure 467237DEST_PATH_IMAGE003
的告警维度
Figure 458195DEST_PATH_IMAGE004
的值
Figure 452696DEST_PATH_IMAGE005
为非空值,此时可以 确定该配置项
Figure 203614DEST_PATH_IMAGE003
中值为非空值的告警维度的第一子表达式为
Figure DEST_PATH_IMAGE009
。然后将配置项
Figure 622963DEST_PATH_IMAGE003
中 值为非空值的所有告警维度
Figure 925769DEST_PATH_IMAGE004
之间做交运算,最终可以配置项
Figure 141986DEST_PATH_IMAGE003
在非空维度上的集合表达 式
Figure 431016DEST_PATH_IMAGE010
以ID为j1的配置项
Figure DEST_PATH_IMAGE011
作为示例,其第一集合表达式
Figure 970451DEST_PATH_IMAGE012
可以写作:
Figure DEST_PATH_IMAGE013
其中,i1、i2、… 、ix为配置项
Figure 850682DEST_PATH_IMAGE014
中所有值为非空值的告警维度的ID。
步骤S4,在配置项中包含值为空值的告警维度时,确定配置项中值为空值的告警维度的第二子表达式,以及配置项中值为非空值的告警维度的第三子表达式,并依据第二子表达式和第三子表达式,确定配置项的第二集合表达式。
作为一种可选的实施方式,可以通过如下步骤S41-S43确定配置项的第二子表达式:
步骤S41,确定配置项中值为非空值的告警维度的键值信息,并判断目标矩阵中的其他多个配置项中是否包含键值信息。
具体地,可以确定配置项
Figure 554196DEST_PATH_IMAGE003
中所有值为非空值的告警维度以及对应的值,得到键 值信息
Figure DEST_PATH_IMAGE015
为:
Figure 427343DEST_PATH_IMAGE016
其中,i1、i2、…、ix为配置项
Figure 40858DEST_PATH_IMAGE003
中所有值为非空值的告警维度的ID。
并在目标矩阵中的其他m-1个配置项中的告警维度的非空值与键值信息
Figure DEST_PATH_IMAGE017
不相 同时,确定其他m-1个配置项中不包含键值信息,并通过步骤S42确定配置项
Figure 341258DEST_PATH_IMAGE003
中值为空值 的告警维度的第二子表达式;而在目标矩阵中的其他m-1个配置项中的告警维度的非空值 与键值信息
Figure 797648DEST_PATH_IMAGE018
相同时,确定其他m-1个配置项中包含键值信息,并通过步骤S43确定配置 项
Figure 553114DEST_PATH_IMAGE003
中值为空值的告警维度的第二子表达式。
步骤S42,在其他多个配置项中不包含键值信息时,将配置项中的所有告警维度的值做交运算,得到配置项中值为空值的告警维度的第二子表达式;
具体地,由于其他m-1个配置项中不包含键值信息
Figure 67141DEST_PATH_IMAGE015
,此时配置项
Figure 617071DEST_PATH_IMAGE003
中每个值为 空值的告警维度的第二子表达式
Figure DEST_PATH_IMAGE019
步骤S43,在其他多个配置项中包含键值信息时,确定其他每个配置项中值为非空值的告警维度的第三子表达式,以及其他每个配置项中值为空值的告警维度的第四子表达式,并依据第三子表达式和第四子表达式确定配置项中值为空值的告警维度的第二子表达式。
具体地,在其他m-1个配置项中包含键值信息
Figure 701701DEST_PATH_IMAGE015
,此时将配置项记为:
Figure 260859DEST_PATH_IMAGE020
其中,j1、j2、j3、… 、jx为包含键值信息
Figure 98234DEST_PATH_IMAGE015
的配置项的ID。
具体地,这些配置项中i1、i2、…、ix等多个告警维度有且只可能由两部分组成,一 个是该配置项
Figure DEST_PATH_IMAGE021
本身值为非空值的告警维度,也即配置项
Figure 491169DEST_PATH_IMAGE021
中值为非空值的告警维度的 第三子表达式
Figure 656571DEST_PATH_IMAGE022
的一部分,可以将其表示为
Figure DEST_PATH_IMAGE023
;另一个是该配置
Figure 144053DEST_PATH_IMAGE024
本身值为非空值的 告警维度,也即配置项
Figure 852246DEST_PATH_IMAGE021
中值为空值的告警维度的第四子表达式。
因此,配置项
Figure 9558DEST_PATH_IMAGE003
中值为空值的告警维度的第二子表达式可以由每个配置项
Figure 255731DEST_PATH_IMAGE021
中将 第三子表达式和第四子表达式做交运算,再在各个配置项
Figure 281325DEST_PATH_IMAGE021
之间做并运算,最后做补运算, 得到第二子表达式
Figure DEST_PATH_IMAGE025
为:
Figure 375183DEST_PATH_IMAGE026
另外,为了保证第二子表达式
Figure 437817DEST_PATH_IMAGE025
中所有的补运算落在每个告警维度ix的值上, 而不是落在多个告警维度ix的运算结果上,还需要采用反演律法则对第二子表达式
Figure 577811DEST_PATH_IMAGE025
进 行反复运算,最终,配置项
Figure 141517DEST_PATH_IMAGE003
中值为空值的告警维度的第二子表达式
Figure 683356DEST_PATH_IMAGE025
可以表示为:
Figure DEST_PATH_IMAGE027
通过上述步骤计算完第二子表达式
Figure 588996DEST_PATH_IMAGE025
后,可以将配置项
Figure 340920DEST_PATH_IMAGE003
中所有值为非空值的 告警维度做交运算,得到第三子表达式
Figure 583682DEST_PATH_IMAGE028
根据上面的步骤变换完成后,将配置项
Figure DEST_PATH_IMAGE029
中值为空值的告警维度的第二子表达式
Figure 386553DEST_PATH_IMAGE025
和值为非空值的告警维度的第三子表达式
Figure 181203DEST_PATH_IMAGE028
做交运算,得到配置项
Figure 30210DEST_PATH_IMAGE029
的第二集合表 达式为:
Figure 483188DEST_PATH_IMAGE030
步骤S208,基于集合表达式,确定目标矩阵中各个配置项的告警表达式,并基于每条配置信息,确定目标矩阵中各个配置项的告警阈值。
作为一种可选的实施方式,为了将目标矩阵中所有配置项的集合表达式转换为告警系统,如Prometheus系统可以配置的形式,需要分别对第一集合表达式和第二集合表达式中所有运算符号进行替换,以得到各个配置项的告警表达式。
具体地,将第一集合表达式
Figure 858675DEST_PATH_IMAGE028
中每个告警维度值
Figure DEST_PATH_IMAGE031
替换为
Figure 106116DEST_PATH_IMAGE032
的格式; 并将交运算符号
Figure DEST_PATH_IMAGE033
用and替换,并运算符号∪用or替换,得到第一告警表达式
Figure 363791DEST_PATH_IMAGE034
。以id为j1 的配置项作为示例:
Figure DEST_PATH_IMAGE035
将第二集合表达式
Figure 354881DEST_PATH_IMAGE036
中每个告警维度值
Figure 725820DEST_PATH_IMAGE031
替换为
Figure DEST_PATH_IMAGE037
的格式, 若该维度值有补运算,则中间的操作符为!=;否则为=;并将交运算符号
Figure 393430DEST_PATH_IMAGE033
用and替换,并运算 符号∪用or替换,最后得到第二告警表达式
Figure 217030DEST_PATH_IMAGE038
作为本申请一种可选的实施例,通过如下示例对本申请实施例的告警规则配置方法的流程进行解释说明。
具体地,当用户对“表数据量过大”的告警项进行配置时,其告警对象的告警维度有5个,分别为:实例、数据库、schema、所属用户、表名。依据用户配置的3条配置信息,生成对应的3个配置项,分别为:
配置项
Figure DEST_PATH_IMAGE039
:实例A1,告警阈值为>100MB,说明当实例中所有数据库的schema表大于 100MB时,触发该配置项的告警;
配置项
Figure 746231DEST_PATH_IMAGE040
:实例A1,数据库B1,告警阈值为>200MB,说明当实例A1的数据库B1的所 有schema表大于200MB时,触发该配置项的告警;
配置项
Figure DEST_PATH_IMAGE041
:实例A1,数据库B1,表名为E1,告警阈值为>300MB,说明当实例A1中的数 据库B1的表名为E1的所有schema表大于200MB时,触发该配置项的告警。
为了便于后续处理,将配置项中值为非空值的告警维度的数量进行统计,配置项
Figure 627468DEST_PATH_IMAGE042
中值为非空值的告警维度为三个,配置项
Figure 951133DEST_PATH_IMAGE040
中值为非空值的告警维度为两个,配置项
Figure 996450DEST_PATH_IMAGE041
中值为非空值的告警维度为一个,因此,按照配置项
Figure DEST_PATH_IMAGE043
、配置项
Figure 602047DEST_PATH_IMAGE040
、配置项
Figure 822944DEST_PATH_IMAGE041
的顺序构建 目标矩阵。图4示出了一种可选的目标矩阵得示意图,为了保证存在多个配置项的情况下, 配置项之间严格的互斥性和全集性,按照目标矩阵从上到下的顺序依次处理配置项。
对于配置项
Figure 176565DEST_PATH_IMAGE044
来说,由图4可知,配置项
Figure 99391DEST_PATH_IMAGE044
中值为非空值的告警维度为
Figure DEST_PATH_IMAGE045
Figure 95028DEST_PATH_IMAGE046
Figure DEST_PATH_IMAGE047
,因此,配置项
Figure 701590DEST_PATH_IMAGE044
中值为非空值的告警维度的第一表达式
Figure 85167DEST_PATH_IMAGE048
可以表示为:
Figure DEST_PATH_IMAGE049
另外,配置项
Figure 777180DEST_PATH_IMAGE044
中存在值为空值的告警维度
Figure 45350DEST_PATH_IMAGE050
Figure DEST_PATH_IMAGE051
,所以需要确定配置项
Figure 349161DEST_PATH_IMAGE044
中 值为非空值的告警维度以及对应的值,可以得到相应的键值信息
Figure 310164DEST_PATH_IMAGE052
,并表示为:
Figure DEST_PATH_IMAGE053
然后,判断其他配置项
Figure 489472DEST_PATH_IMAGE040
Figure 420388DEST_PATH_IMAGE041
是否包含
Figure 329438DEST_PATH_IMAGE052
。由于配置项
Figure 195763DEST_PATH_IMAGE040
中值为非空值的告警 维度没有
Figure 331209DEST_PATH_IMAGE054
,且配置项
Figure 941182DEST_PATH_IMAGE041
中值为非空值得告警维度没有
Figure 94952DEST_PATH_IMAGE046
Figure 132178DEST_PATH_IMAGE054
,所以这两个配置项都不 包含
Figure 489341DEST_PATH_IMAGE052
此时,可以直接计算配置项
Figure 903005DEST_PATH_IMAGE044
中值为空值的告警维度的第二表达式
Figure DEST_PATH_IMAGE055
为:
Figure 442440DEST_PATH_IMAGE056
最终,配置项
Figure 650567DEST_PATH_IMAGE044
的集合表达式可以表示为:
Figure DEST_PATH_IMAGE057
对于配置项
Figure 150819DEST_PATH_IMAGE040
来说,由图4可知,配置项
Figure 961649DEST_PATH_IMAGE040
中值为非空值的告警维度为
Figure 965377DEST_PATH_IMAGE045
Figure 485351DEST_PATH_IMAGE046
, 因此,配置项
Figure 941740DEST_PATH_IMAGE040
中值为非空值的告警维度的第一表达式
Figure 431627DEST_PATH_IMAGE058
可以表示为:
Figure DEST_PATH_IMAGE059
另外,配置项
Figure 680075DEST_PATH_IMAGE040
中存在值为空值的告警维度
Figure 370950DEST_PATH_IMAGE050
Figure 314636DEST_PATH_IMAGE060
Figure 998427DEST_PATH_IMAGE051
,所以需要先确定配置 项
Figure 445589DEST_PATH_IMAGE040
中值为非空值的告警维度以及对应的值,得到键值信息
Figure 41786DEST_PATH_IMAGE061
为:
Figure DEST_PATH_IMAGE062
接着,判断其他配置项
Figure 128560DEST_PATH_IMAGE044
Figure 225829DEST_PATH_IMAGE041
是否包含
Figure 793076DEST_PATH_IMAGE063
,由于配置项
Figure 481547DEST_PATH_IMAGE044
中值为非空值的告警 维度存在
Figure 337507DEST_PATH_IMAGE045
Figure 972888DEST_PATH_IMAGE046
,且非空值和
Figure 519276DEST_PATH_IMAGE061
相同,因此,配置项
Figure 847489DEST_PATH_IMAGE044
中包含
Figure 862849DEST_PATH_IMAGE063
,故
Figure DEST_PATH_IMAGE064
。然而 由于
Figure 895396DEST_PATH_IMAGE065
存在值为空值的告警维度,且配置项
Figure 702815DEST_PATH_IMAGE044
中值为空值的告警维度的第二表达式
Figure 592143DEST_PATH_IMAGE055
已经得出,因此,不需要再次处理
Figure 625958DEST_PATH_IMAGE065
由于配置项
Figure 603141DEST_PATH_IMAGE040
中存在值为空值的告警
Figure 124121DEST_PATH_IMAGE050
Figure 794137DEST_PATH_IMAGE060
Figure 784090DEST_PATH_IMAGE051
,且
Figure 751915DEST_PATH_IMAGE064
,因此,配置 项
Figure 878133DEST_PATH_IMAGE044
对应的
Figure 719051DEST_PATH_IMAGE050
Figure 445567DEST_PATH_IMAGE060
Figure 30132DEST_PATH_IMAGE051
可以分为两部分,一部分为配置项
Figure 276437DEST_PATH_IMAGE044
本身值为非空值的告警维 度
Figure 22676DEST_PATH_IMAGE051
,并从配置项
Figure 846275DEST_PATH_IMAGE044
中值为非空值的告警维度的第一表达式
Figure 93586DEST_PATH_IMAGE048
中取出对应
Figure 319031DEST_PATH_IMAGE051
部分的表 达式,所以第三表达式可以表示为:
Figure 377117DEST_PATH_IMAGE067
另一部分属于配置项
Figure 688012DEST_PATH_IMAGE044
本身值为非空值的告警维度
Figure DEST_PATH_IMAGE068
Figure 4593DEST_PATH_IMAGE060
,由于
Figure 84545DEST_PATH_IMAGE068
Figure 375849DEST_PATH_IMAGE060
已经 处理过,且第四表达式
Figure 298674DEST_PATH_IMAGE056
,因此,配置项
Figure 28733DEST_PATH_IMAGE040
中值为空值的告警维度的第二表达式
Figure 838557DEST_PATH_IMAGE069
可以表示为:
Figure DEST_PATH_IMAGE070
进一步地,还需要采用反演律等集合运算法则做变换使得补运算符号落在第二表 达式
Figure 284451DEST_PATH_IMAGE071
单独的维度值上,此时,第二表达式
Figure DEST_PATH_IMAGE072
可以表示为:
Figure 710884DEST_PATH_IMAGE073
最终,配置项
Figure 979054DEST_PATH_IMAGE040
的集合表达式可以表示为:
Figure DEST_PATH_IMAGE074
对于配置项
Figure 689390DEST_PATH_IMAGE041
来说,由图4可知,配置项
Figure 525759DEST_PATH_IMAGE041
中值为非空值的告警维度为
Figure 767385DEST_PATH_IMAGE045
,因此, 配置项
Figure 495038DEST_PATH_IMAGE041
中值为非空值的告警维度的第一表达式
Figure 669667DEST_PATH_IMAGE075
可以表示为:
Figure DEST_PATH_IMAGE076
另外,配置项
Figure 942517DEST_PATH_IMAGE041
中存在值为空值的告警维度
Figure 327231DEST_PATH_IMAGE046
Figure 671624DEST_PATH_IMAGE050
Figure 576127DEST_PATH_IMAGE060
Figure 613353DEST_PATH_IMAGE051
,所以需要先确定 配置项
Figure 95150DEST_PATH_IMAGE041
中值为非空值的告警维度以及对应的值,得到键值信息
Figure 633447DEST_PATH_IMAGE077
,并表示为:
Figure DEST_PATH_IMAGE078
接着,判断其他配置项
Figure 658035DEST_PATH_IMAGE044
Figure 131742DEST_PATH_IMAGE040
是否包含
Figure 225468DEST_PATH_IMAGE077
,由于配置项
Figure 177244DEST_PATH_IMAGE044
Figure 56338DEST_PATH_IMAGE040
中值为非空值 的告警维度存在
Figure 169788DEST_PATH_IMAGE045
,且非空值和
Figure 626177DEST_PATH_IMAGE077
相同,因此配置项
Figure 506277DEST_PATH_IMAGE044
Figure 98932DEST_PATH_IMAGE040
中包含
Figure 55387DEST_PATH_IMAGE077
,故
Figure 733493DEST_PATH_IMAGE079
。然而由于
Figure DEST_PATH_IMAGE080
存在值为空值的告警维度,且配置项
Figure 682863DEST_PATH_IMAGE044
Figure 130025DEST_PATH_IMAGE040
中值为空值的告 警维度的第二表达式
Figure 991802DEST_PATH_IMAGE055
Figure 422783DEST_PATH_IMAGE081
已经得出,因此,不需要再次处理
Figure 644686DEST_PATH_IMAGE082
由于配置项
Figure 946355DEST_PATH_IMAGE041
中存在值为空值的告警维度
Figure 979033DEST_PATH_IMAGE046
Figure 897310DEST_PATH_IMAGE050
Figure 680762DEST_PATH_IMAGE060
Figure 368095DEST_PATH_IMAGE051
,且
Figure DEST_PATH_IMAGE083
,因此,对于配置项
Figure 102833DEST_PATH_IMAGE084
来说,对应的
Figure 367461DEST_PATH_IMAGE046
Figure 337691DEST_PATH_IMAGE050
Figure 754897DEST_PATH_IMAGE060
Figure 988433DEST_PATH_IMAGE051
可以分为两部分,一部分为配置项
Figure 740357DEST_PATH_IMAGE044
本身值为非空值的告警维度
Figure 717540DEST_PATH_IMAGE046
Figure DEST_PATH_IMAGE085
,从配置项
Figure 520411DEST_PATH_IMAGE044
中值为非空值的告警维度的第一表达式
Figure 190427DEST_PATH_IMAGE048
中取出对应
Figure 429647DEST_PATH_IMAGE046
Figure 944942DEST_PATH_IMAGE051
部分的表达式,所以第三表达式可以表示为:
Figure 336740DEST_PATH_IMAGE086
;另一部分属于配置项
Figure 177657DEST_PATH_IMAGE044
本身值为非空值的告警维度
Figure 904174DEST_PATH_IMAGE050
Figure 488739DEST_PATH_IMAGE060
,由于
Figure 594098DEST_PATH_IMAGE050
Figure 481283DEST_PATH_IMAGE060
已经处理过,且第四表达式
Figure DEST_PATH_IMAGE087
对于配置项
Figure 695095DEST_PATH_IMAGE040
来说,对应的
Figure 83351DEST_PATH_IMAGE046
Figure 184162DEST_PATH_IMAGE050
Figure 366882DEST_PATH_IMAGE060
Figure 67991DEST_PATH_IMAGE051
可以分为两部分,一部分为配置项
Figure 728779DEST_PATH_IMAGE040
本身值为非空值的告警维度
Figure 949676DEST_PATH_IMAGE046
,从配置项
Figure 568876DEST_PATH_IMAGE088
中值为非空值的告警维度的第一表达式
Figure 101489DEST_PATH_IMAGE058
中取出对应
Figure 690602DEST_PATH_IMAGE046
部分的表达式,所以第三表达式可以表示为:
Figure DEST_PATH_IMAGE089
;另一部分属于 配置项
Figure 297164DEST_PATH_IMAGE040
本身值为非空值的告警维度
Figure 87265DEST_PATH_IMAGE050
Figure 231808DEST_PATH_IMAGE060
Figure 765557DEST_PATH_IMAGE051
,由于
Figure 695467DEST_PATH_IMAGE050
Figure 390890DEST_PATH_IMAGE060
Figure 288308DEST_PATH_IMAGE051
已经处理过,且第 四表达式为:
Figure 360169DEST_PATH_IMAGE090
因此,配置项
Figure 144586DEST_PATH_IMAGE041
中值为空值的告警维度的第三表达式
Figure DEST_PATH_IMAGE091
可以通过将配置项
Figure 666703DEST_PATH_IMAGE044
的两部分做交运算,并将配置项
Figure 661204DEST_PATH_IMAGE040
的两部分做交运算,然后再同时做并运算,最后进行补 运算求得,故配置项
Figure 271177DEST_PATH_IMAGE041
中值为空值的告警维度的第三表达式
Figure 175679DEST_PATH_IMAGE091
可以表示为:
Figure 212905DEST_PATH_IMAGE092
经过运算可得到:
Figure DEST_PATH_IMAGE093
进一步地,还需要采用反演律等集合运算法则做变换使得补运算符号落在第三表 达式
Figure 616073DEST_PATH_IMAGE091
单独的维度值上,此时,第三表达式
Figure 905103DEST_PATH_IMAGE091
可以表示为:
Figure 788746DEST_PATH_IMAGE094
Figure DEST_PATH_IMAGE095
Figure 387086DEST_PATH_IMAGE096
最终,配置项
Figure 231545DEST_PATH_IMAGE041
的集合表达式可以表示为:
Figure DEST_PATH_IMAGE097
最后,需要将各个配置项的表达式转换为告警系统Prometheus可以配置的形式, 因此,对于配置项
Figure 714479DEST_PATH_IMAGE044
来说,其第一告警表达式可以表示为:
Figure 577262DEST_PATH_IMAGE098
对于配置项
Figure 221870DEST_PATH_IMAGE040
来说,其第二告警表达式可以表示为:
Figure DEST_PATH_IMAGE099
对于配置项
Figure 819204DEST_PATH_IMAGE041
来说,其第三告警表达式可以表示为:
Figure 699305DEST_PATH_IMAGE100
另外,为了保证告警系统在获取数据库的数据之后,可以准确地产生报警信息,还 需要依据配置信息,得到与配置项对应的告警阈值。对于“表数据量过大”的告警项,设定监 控指标为table_size,故这三个配置项对应的prometheus表达式和告警阈值分别为: table_size{
Figure DEST_PATH_IMAGE101
= A1 and
Figure 964064DEST_PATH_IMAGE046
= B1 and
Figure 513994DEST_PATH_IMAGE051
= E1} > 300MB;
table_size{
Figure 582313DEST_PATH_IMAGE051
!= E1 and
Figure 875891DEST_PATH_IMAGE045
= A1 and
Figure 588632DEST_PATH_IMAGE102
= B1} > 200MB;
table_size{
Figure 450409DEST_PATH_IMAGE046
!= B1 and
Figure 615811DEST_PATH_IMAGE045
= A1} > 100MB;
根据最后的告警表达式来看,这三个配置项之间没有交集,故不会同时触发超过一个配置项的告警;同时这三个配置项保证了只要实例为A1,则肯定能触发告警,不会出现漏告警的情况。
在本申请实施例中,通过获取目标配置项的多条配置信息,并生成与配置信息对应的多个配置项,实现依据不同告警维度组合不同的配置项,使得告警更加准确和灵活;依据各个配置项中的值为非空的告警维度的第一数量从大到小的目标顺序,构建目标告警项的目标矩阵,并目标顺序依次确定目标矩阵中各个配置项的告警表达式和告警阈值,保证告警对象在触发告警后,只会在一个配置项里触发告警,而不会在其他配置项里触发,实现了配置项之间的互斥性,同时,该方案可以支持任意配置信息,从而有效避免出现漏报警的情况发生,进而解决了相关告警技术支持告警维度较少,导致配置项的灵活性较差,且设置与各配置项对应的告警阈值的技术问题。
实施例2
根据本申请实施例,还提供了一种用于实现上述告警规则配置方法的告警规则配置装置,如图5所示,该告警规则配置装置中至少包括第一确定模块51,构建模块52,第二确定模块53和配置模块54,其中:
第一确定模块51,用于获取目标告警项的多条配置信息,并确定与多条配置信息对应的多个配置项,其中,每个配置项包括预设的多个告警维度,每个告警维度的值为空值或者非空值。
可选地,对于每个配置项,第一确定模块51依据对应的配置信息确定配置项中所有告警维度的值。
具体地,当用户对目标告警项进行配置时,可以依据获取的m条配置信息生成对应 的m个配置项,为了方便区分,可以将m个配置项分别记为
Figure 837714DEST_PATH_IMAGE001
,其中,下标 为配置项的ID。由于每条配置项中包含目标告警项的告警对象的n个告警维度,可以将n个 告警维度分别记为
Figure DEST_PATH_IMAGE103
,其中,下标为告警维度的ID。但由于每个配置项中 对告警维度的限制情况不一致,因此,将配置项
Figure 670541DEST_PATH_IMAGE003
的告警维度
Figure 703219DEST_PATH_IMAGE004
的值定义为
Figure 355917DEST_PATH_IMAGE005
,当配置项
Figure 381510DEST_PATH_IMAGE003
中对告警维度
Figure 803265DEST_PATH_IMAGE004
有限制时,
Figure 6844DEST_PATH_IMAGE005
为非空值;反之,则为空值。
构建模块52,用于确定各个配置项中的值为非空的告警维度的第一数量,并依据各个配置项对应的第一数量从大到小的目标顺序,构建目标告警项的目标矩阵。
具体地,构建模块52首先确定目标告警项中每个配置项
Figure 146838DEST_PATH_IMAGE003
的所有告警维度的值
Figure 710544DEST_PATH_IMAGE005
为非空值的第一数量,并按照各个配置项对应的第一数量从大到小的顺序,依据配置项和 告警维度生成目标矩阵。第二确定模块53,用于依据目标顺序依次确定目标矩阵中各个配 置项的集合表达式。
根据本申请的一个可选的实施例,为了保证存在多个不同配置项时,告警系统对告警项可以实现精准告警,需要确保配置项之间的互斥性和全集性。在本申请实施例中,第二确定模块53采用循环处理机制执行以下方式,以确保对目标矩阵中的每一个配置项的所有告警维度进行处理,并得到对应的集合表达式,包括:
按照目标顺序依次读取目标矩阵中的各个配置项;对于每个配置项,判断配置项中是否包含值为空值的告警维度;在配置项中不包含值为空值的告警维度时,确定配置项中值为非空值的告警维度的第一子表达式,并将多个第一子表达式做交运算,得到配置项的第一集合表达式;在配置项中包含值为空值的告警维度时,确定配置项中值为空值的告警维度的第二子表达式,以及配置项中值为非空值的告警维度的第三子表达式,并依据第二子表达式和第三子表达式,确定配置项的第二集合表达式。
作为一种可选的实施方式,第二确定模块53还可以通过如下方式确定配置项的第二子表达式:确定配置项中值为非空值的告警维度的键值信息,并判断目标矩阵中的其他多个配置项中是否包含键值信息;在其他多个配置项中不包含键值信息时,将配置项中的所有告警维度的值做交运算,得到配置项中值为空值的告警维度的第二子表达式;在其他多个配置项中包含键值信息时,确定其他每个配置项中值为非空值的告警维度的第三子表达式,以及其他每个配置项中值为空值的告警维度的第四子表达式,并依据第三子表达式和第四子表达式确定配置项中值为空值的告警维度的第二子表达式。
另外,为了保证第二子表达式中所有的补运算落在每个告警维度的值上,而不是落在多个告警维度的运算结果上,还需要采用反演律法则对第二子表达式进行反复运算。
通过上述步骤计算完第二子表达式后,可以将配置项中所有值为非空值的告警维度做交运算,得到第三子表达式。
进一步地,将配置项中值为空值的告警维度的第二子表达式和值为非空值的告警维度的第三子表达式做交运算,得到配置项的第二集合表达式。
配置模块54,用于基于集合表达式,确定目标矩阵中各个配置项的告警表达式,并基于每条配置信息,确定目标矩阵中各个配置项的告警阈值。
作为一种可选的实施方式,为了将目标矩阵中所有配置项的集合表达式转换为告警系统,如Prometheus系统可以配置的形式,需要通过配置模块54分别对第一集合表达式和第二集合表达式中所有运算符号进行替换,以得到各个配置项的告警表达式。
需要说明的是,本申请实施例中的告警规则配置装置中的各模块与实施例1中的告警规则配置方法的各实施步骤一一对应,由于实施例1中已经进行了详尽的描述,本实施例中部分未体现的细节可以参考实施例1,在此不再过多赘述。
另外,上述告警规则配置装置中的各个模块可以是程序模块(例如是实现某种特定功能的程序指令集合),也可以是硬件模块,对于后者,其可以表现为以下形式,但不限于此:上述各个模块的表现形式均为一个处理器,或者,上述各个模块的功能通过一个处理器实现。
实施例3
根据本申请实施例,还提供了一种电子设备,该电子设备包括:存储器和处理器,其中,存储器中存储有计算机程序,处理器被配置为通过计算机程序执行实施例1中的告警规则配置方法。
具体地,处理器被配置为通过计算机程序执行实现以下步骤:获取目标告警项的多条配置信息,并确定与多条配置信息对应的多个配置项,其中,每个配置项包括预设的多个告警维度,每个告警维度的值为空值或者非空值;确定各个配置项中的值为非空值的告警维度的第一数量,并依据各个配置项对应的第一数量从大到小的目标顺序,构建目标告警项的目标矩阵;依据目标顺序依次确定目标矩阵中各个配置项的集合表达式;基于集合表达式,确定目标矩阵中各个配置项的告警表达式,并基于每条配置信息,确定目标矩阵中各个配置项的告警阈值。
可选地,循环执行以下流程:按照目标顺序依次读取目标矩阵中的各个配置项;对于每个配置项,判断配置项中是否包含值为空值的告警维度;在配置项中不包含值为空值的告警维度时,确定配置项中值为非空值的告警维度的第一子表达式,并依据第一子表达式确定配置项的第一集合表达式;在配置项中包含值为空值的告警维度时,确定配置项中值为空值的告警维度的第二子表达式,以及配置项中值为非空值的告警维度的第三子表达式,并依据第二子表达式和第三子表达式,确定配置项的第二集合表达式。
可选地,确定配置项中值为空值的告警维度的第二子表达式,包括:确定配置项中值为非空值的告警维度的键值信息,并判断目标矩阵中的其他多个配置项中是否包含键值信息;在其他多个配置项中不包含键值信息时,将配置项中的所有告警维度的值做交运算,得到配置项中值为空值的告警维度的第二子表达式;在其他多个配置项中包含键值信息时,确定其他每个配置项中值为非空值的告警维度的第三子表达式,以及其他每个配置项中值为空值的告警维度的第四子表达式,并依据第三子表达式和第四子表达式确定配置项中值为空值的告警维度的第二子表达式。
可选地,判断目标矩阵中的其他多个配置项中是否包含键值信息,包括:若目标矩阵中的其他多个配置项中的告警维度的非空值与键值信息相同时,确定其他多个配置项中包含键值信息;若目标矩阵中的其他多个配置项中的告警维度的非空值与键值信息不相同时,确定其他多个配置项中不包含键值信息。
可选地,依据第三子表达式和第四子表达式确定配置项中值为空值的告警维度的第二子表达式,包括:将其他每个配置项中值为非空值的告警维度的第三子表达式和第四子表达式做交运算,得到第五子表达式;将其他多个配置项对应的第五子表达式做并运算,得到第六子表达式;对第六子表达式做补运算,得到配置项中值为空值的告警维度的第二子表达式。
可选地,在得到配置项中值为空值的告警维度的第二子表达式之后,还包括:采用反演律法则对第二子表达式进行转换。
可选地,基于集合表达式,确定目标矩阵中各个配置项的告警表达式,并基于每条配置信息,确定目标矩阵中各个配置项的告警阈值,包括:分别对第一集合表达式和第二集合表达式中所有运算符号进行替换,得到各个配置项的告警表达式;基于每条配置信息,确定目标矩阵中各个配置项的告警阈值。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种告警规则配置方法,其特征在于,包括:
获取目标告警项的多条配置信息,并确定与所述多条配置信息对应的多个配置项,其中,每个配置项包括预设的多个告警维度,每个所述告警维度的值为空值或者非空值;
确定各个配置项中的值为非空值的告警维度的第一数量,并依据所述各个配置项对应的第一数量从大到小的目标顺序,构建所述目标告警项的目标矩阵;
依据所述目标顺序依次确定所述目标矩阵中各个配置项的集合表达式;
基于所述集合表达式,确定所述目标矩阵中各个配置项的告警表达式,并基于每条所述配置信息,确定所述目标矩阵中各个配置项的告警阈值;
其中,依据所述目标顺序依次确定所述目标矩阵中各个配置项的集合表达式包括:循环执行以下流程:按照所述目标顺序依次读取所述目标矩阵中的各个配置项;对于每个配置项,判断所述配置项中是否包含值为空值的告警维度;在所述配置项中不包含值为空值的告警维度时,确定所述配置项中值为非空值的告警维度的第一子表达式,并依据所述第一子表达式确定所述配置项的第一集合表达式;在所述配置项中包含值为空值的告警维度时,确定所述配置项中值为空值的告警维度的第二子表达式,以及所述配置项中值为非空值的告警维度的第三子表达式,并依据所述第二子表达式和所述第三子表达式,确定所述配置项的第二集合表达式;
确定所述配置项中值为空值的告警维度的第二子表达式包括:确定所述配置项中值为非空值的告警维度的键值信息,并判断所述目标矩阵中的其他多个配置项中是否包含所述键值信息;在所述其他多个配置项中不包含所述键值信息时,将所述配置项中的所有告警维度的值做交运算,得到所述配置项中值为空值的告警维度的所述第二子表达式;在所述其他多个配置项中包含所述键值信息时,确定其他每个配置项中值为非空值的告警维度的第三子表达式,以及其他每个配置项中值为空值的告警维度的第四子表达式,并依据所述第三子表达式和所述第四子表达式确定所述配置项中值为空值的告警维度的所述第二子表达式。
2.根据权利要求1所述的方法,其特征在于,确定与所述多条配置信息对应的多个配置项,包括:
对于每个所述配置项,依据对应的所述配置信息确定所述配置项中所有告警维度的值,其中,所述告警维度的值为空值或者非空值。
3.根据权利要求1所述的方法,其特征在于,依据所述第一子表达式确定所述配置项的第一集合表达式,包括:
将多个所述第一子表达式做交运算,得到所述配置项的第一集合表达式。
4.根据权利要求1所述的方法,其特征在于,判断所述目标矩阵中的其他多个配置项中是否包含所述键值信息,包括:
若所述目标矩阵中的其他多个配置项中的告警维度的非空值与所述键值信息相同时,确定所述其他多个配置项中包含所述键值信息;
若所述目标矩阵中的其他多个配置项中的告警维度的非空值与所述键值信息不相同时,确定所述其他多个配置项中不包含所述键值信息。
5.根据权利要求1所述的方法,其特征在于,依据所述第三子表达式和所述第四子表达式确定所述配置项中值为空值的告警维度的所述第二子表达式,包括:
将所述其他每个配置项中值为非空值的告警维度的所述第三子表达式和所述第四子表达式做交运算,得到第五子表达式;
将所述其他多个配置项对应的所述第五子表达式做并运算,得到第六子表达式;
对所述第六子表达式做补运算,得到所述配置项中值为空值的告警维度的所述第二子表达式。
6.根据权利要求5所述的方法,其特征在于,在得到所述配置项中值为空值的告警维度的所述第二子表达式之后,所述方法还包括:
采用反演律法则对所述第二子表达式进行转换。
7.根据权利要求1所述的方法,其特征在于,依据所述第二子表达式和所述第三子表达式,确定所述配置项的第二集合表达式,包括:
将所述第二子表达式和所述第三子表达式做交运算,得到所述配置项的第二集合表达式。
8.根据权利要求1所述的方法,其特征在于,基于所述集合表达式,确定所述目标矩阵中各个配置项的告警表达式,并基于每条所述配置信息,确定所述目标矩阵中各个配置项的告警阈值,包括:
分别对所述第一集合表达式和所述第二集合表达式中所有运算符号进行替换,得到所述各个配置项的告警表达式;
基于每条所述配置信息,确定所述目标矩阵中各个配置项的所述告警阈值。
9.一种告警规则配置装置,其特征在于,包括:
第一确定模块,用于获取目标告警项的多条配置信息,并确定与所述多条配置信息对应的多个配置项,其中,每个配置项包括预设的多个告警维度,每个所述告警维度的值为空值或者非空值;
构建模块,用于确定各个配置项中的值为非空的所述告警维度的第一数量,并依据所述各个配置项对应的第一数量从大到小的目标顺序,构建所述目标告警项的目标矩阵;
第二确定模块,用于依据所述目标顺序依次确定所述目标矩阵中各个配置项的集合表达式,其中,所述第二确定模块循环执行以下流程:按照所述目标顺序依次读取所述目标矩阵中的各个配置项;对于每个配置项,判断所述配置项中是否包含值为空值的告警维度;在所述配置项中不包含值为空值的告警维度时,确定所述配置项中值为非空值的告警维度的第一子表达式,并依据所述第一子表达式确定所述配置项的第一集合表达式;在所述配置项中包含值为空值的告警维度时,确定所述配置项中值为空值的告警维度的第二子表达式,以及所述配置项中值为非空值的告警维度的第三子表达式,并依据所述第二子表达式和所述第三子表达式,确定所述配置项的第二集合表达式;其中,确定所述配置项中值为空值的告警维度的第二子表达式包括:确定所述配置项中值为非空值的告警维度的键值信息,并判断所述目标矩阵中的其他多个配置项中是否包含所述键值信息;在所述其他多个配置项中不包含所述键值信息时,将所述配置项中的所有告警维度的值做交运算,得到所述配置项中值为空值的告警维度的所述第二子表达式;在所述其他多个配置项中包含所述键值信息时,确定其他每个配置项中值为非空值的告警维度的第三子表达式,以及其他每个配置项中值为空值的告警维度的第四子表达式,并依据所述第三子表达式和所述第四子表达式确定所述配置项中值为空值的告警维度的所述第二子表达式;
配置模块,用于基于所述集合表达式,确定所述目标矩阵中各个配置项的告警表达式,并基于每条所述配置信息,确定所述目标矩阵中各个配置项的告警阈值。
10.一种电子设备,其特征在于,包括:存储器和处理器,其中,所述存储器中存储有计算机程序,所述处理器被配置为通过所述计算机程序执行权利要求1至8中任意一项所述的告警规则配置方法。
CN202211609716.2A 2022-12-15 2022-12-15 告警规则配置方法及装置 Active CN115617625B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211609716.2A CN115617625B (zh) 2022-12-15 2022-12-15 告警规则配置方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211609716.2A CN115617625B (zh) 2022-12-15 2022-12-15 告警规则配置方法及装置

Publications (2)

Publication Number Publication Date
CN115617625A CN115617625A (zh) 2023-01-17
CN115617625B true CN115617625B (zh) 2023-03-28

Family

ID=84880552

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211609716.2A Active CN115617625B (zh) 2022-12-15 2022-12-15 告警规则配置方法及装置

Country Status (1)

Country Link
CN (1) CN115617625B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981941B (zh) * 2012-11-08 2016-03-02 大唐软件技术股份有限公司 一种告警处理方法及告警处理装置
CN108491310B (zh) * 2018-03-26 2019-03-29 北京九章云极科技有限公司 一种日志监测方法及系统
CN113825148B (zh) * 2020-06-18 2023-08-18 中国移动通信集团浙江有限公司 网络节点告警等级的确定方法、装置及计算设备
CN112416721B (zh) * 2020-12-11 2022-09-20 苏州浪潮智能科技有限公司 一种告警处理方法、系统及介质
CN114500251A (zh) * 2022-01-13 2022-05-13 深圳力维智联技术有限公司 系统告警的监测方法、装置、设备以及可读存储介质
CN114598601A (zh) * 2022-03-07 2022-06-07 浪潮云信息技术股份公司 一种容器化环境下基于多个监控指标联合告警的方法及系统

Also Published As

Publication number Publication date
CN115617625A (zh) 2023-01-17

Similar Documents

Publication Publication Date Title
CN110019876B (zh) 数据查询方法、电子设备及存储介质
CN111209309B (zh) 数据流图处理结果确定方法、装置、设备及存储介质
JP2022118108A (ja) ログ監査方法、装置、電子機器、媒体およびコンピュータプログラム
CN109299334B (zh) 一种知识图谱的数据处理方法及装置
CN104636130B (zh) 用于生成事件树的方法和系统
CN112988780A (zh) 数据校核方法和装置、存储介质及电子设备
CN110019713A (zh) 基于意图理解的数据检索方法和装置、设备及存储介质
CN109753424B (zh) Ab测试的方法和装置
CN115617625B (zh) 告警规则配置方法及装置
CN110019400B (zh) 数据存储方法、电子设备及存储介质
CN107453977A (zh) 一种会话管理的方法及服务器
CN114172793A (zh) 一种网络配置知识图谱构建方法及装置
CN110309328B (zh) 数据存储方法、装置、电子设备及存储介质
US20160217188A1 (en) Method and device for displaying browser resources and computer readable storage medium
CN113986931B (zh) 报表分页的方法、装置、存储介质及计算设备
CN115442799A (zh) 号码的查询方法及装置、非易失性存储介质、处理器
CN115718879A (zh) 数据治理方法、装置以及存储介质
CN111263387B (zh) 一种无线传感器网络异常处置方法及系统
CN110728138A (zh) 新闻文本识别的方法、装置以及存储介质
CN109547526B (zh) 一种消息推送方法、计算机可读存储介质及服务器
CN110913353B (zh) 短信的分类方法及装置
CN115328892B (zh) 一种业务表单数据结构处理方法、系统、电子设备及介质
CN109783569A (zh) 一种基于区块链的账本记录方法、装置及终端设备
CN109005074A (zh) 网络连接二维码生成方法、网络故障查找方法和装置
CN110417841B (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
GR01 Patent grant
GR01 Patent grant