监控告警方法、装置、设备及计算机可读存储介质与流程

文档序号:21178052发布日期:2020-06-20 17:36阅读:147来源:国知局
监控告警方法、装置、设备及计算机可读存储介质与流程

本发明涉及科技金融(fintech)技术领域,尤其涉及一种监控告警方法、装置、设备及计算机可读存储介质。



背景技术:

随着金融科技(fintech),尤其是互联网科技金融的不断发展,越来越多的技术应用在金融领域。例如,与科技金融密切挂钩的监控告警技术,目前,在服务器监控行业中,主要以单个监控指标维度进行告警提醒。而单指标告警往往并不能帮助运维人员判断服务器的实际状态,当收到一个告警,运维人员还需要手工查看其他指标情况,来综合判断服务器健康情况,继而才能进行后续的处理;并且由于近年大数据、机器学习等领域的快速发展,导致单指标值标高触发告警情况也更频繁的出现,而实际上大部分情况并不需要运维人员做特殊处理,这类属于无用的告警;另外,随着业务的不断扩展,服务器数量越来越多,运维人员稀少,越益疲于应付巨量的告警。

因此,如何减少无用告警的现象发生,提高运维效率成为了目前亟待解决的技术问题。



技术实现要素:

本发明的主要目的在于提供一种监控告警方法、装置、设备和计算机可读存储介质,旨在解决如何减少无用告警的现象发生,提高运维效率的技术问题。

为实现上述目的,本发明提供一种监控告警方法、装置、设备以及计算机可读存储介质,所述监控告警方法包括:

接收告警数据,并检测所述告警数据是否为单指标告警;

若所述告警数据是单指标告警,则检测所述告警数据对应的缓存数据中是否存在和所述单指标告警匹配的匹配数据;

若存在所述匹配数据,则基于所述单指标告警对所述匹配数据进行调整,并将调整后的所述匹配数据作为新缓存数据,检测所述新缓存数据是否满足触发告警条件;

若满足触发告警条件,则输出新告警。

可选地,所述检测所述告警数据对应的缓存数据中是否存在和所述单指标告警匹配的匹配数据的步骤之后,包括:

若不存在,则确定所述单指标告警的告警类型,并根据预设的策略设置规则和所述告警类型生成目标策略,对所述目标策略进行缓存。

可选地,所述调整包括更新,所述基于所述单指标告警对所述匹配数据进行调整的步骤,包括:

计算所述匹配数据的历史告警时间和所述单指标告警的本次告警时间之间的差值,并检测所述差值是否大于预设时限值;

若大于,则根据所述单指标告警对所述匹配数据中的历史告警时间和历史告警类型进行更新。

可选地,所述调整包括添加,所述检测所述差值是否大于预设时限值的步骤之后,包括:

若小于或等于,则保持所述匹配数据中的历史告警时间和历史告警类型不变,并将所述单指标告警的告警类型添加至所述匹配数据。

可选地,所述检测所述新缓存数据是否满足触发告警条件的步骤,包括:

获取所述单指标告警对应的策略包含的所有告警类型,并检测所述新缓存数据是否包含所有告警类型;

若所述新缓存数据包含所有告警类型,则确定所述新缓存数据满足触发告警条件。

可选地,所述检测所述新缓存数据是否包含所有告警类型的步骤之后,包括:

若所述新缓存数据未包含所有告警类型,则确定所述新缓存数据不满足触发告警条件,并继续执行所述接收告警数据,并检测所述告警数据是否为单指标告警的步骤。

可选地,所述接收告警数据,并检测所述告警数据是否为单指标告警的步骤之后,包括:

若所述告警数据是复合指标,则确定所述复合指标所携带的异常指标数值是否大于预设阀值;

若所述复合指标所携带的异常指标数值大于预设阀值,则输出告警信息。

此外,为实现上述目的,本发明还提供一种监控告警装置,所述监控告警装置包括:

接收模块,用于接收告警数据,并检测所述告警数据是否为单指标告警;

检测模块,用于若所述告警数据是单指标告警,则检测所述告警数据对应的缓存数据中是否存在和所述单指标告警匹配的匹配数据;

存储模块,用于若存在所述匹配数据,则基于所述单指标告警对所述匹配数据进行调整,并将调整后的所述匹配数据作为新缓存数据,检测所述新缓存数据是否满足触发告警条件;

输出模块,用于若满足触发告警条件,则输出新告警。

此外,为实现上述目的,本发明还提供一种监控告警设备;

所述监控告警设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中:

所述计算机程序被所述处理器执行时实现如上所述的监控告警方法的步骤。

此外,为实现上述目的,本发明还提供计算机存储介质;

所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的监控告警方法的步骤。

本发明实施例提出的一种监控告警方法、装置、设备及可读存储介质,通过接收告警数据,并检测所述告警数据是否为单指标告警;若所述告警数据是单指标告警,则检测所述告警数据对应的缓存数据中是否存在和所述单指标告警匹配的匹配数据;若存在所述匹配数据,则基于所述单指标告警对所述匹配数据进行调整,并将调整后的所述匹配数据作为新缓存数据,检测所述新缓存数据是否满足触发告警条件;若满足触发告警条件,则输出新告警。通过在确定告警数据为单指标告警,并且缓存数据中存在有和单指标告警匹配的匹配数据时,获取新缓存数据,并在新缓存数据满足触发告警条件时,输出新告警,并删除新缓存数据,从而提高了监控告警的准确性和可利用性,避免了现有技术中只要接收到告警数据就进行告警的现象发生,也节省了人力运维成本,只有在告警数据满足一定条件时,才进行告警,提高了运行效率。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的监控告警设备结构示意图;

图2为本发明监控告警方法第一实施例的流程示意图;

图3为本发明监控告警设备一实施例的系统结构示意图。

本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的监控告警设备结构示意图。

如图1所示,该监控告警设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,监控告警设备还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在终端设备移动到耳边时,关闭显示屏和/或背光。当然,监控告警设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及监控告警程序。

在图1所示的监控告警设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的监控告警程序,并执行以下操作:

接收告警数据,并检测所述告警数据是否为单指标告警;

若所述告警数据是单指标告警,则检测所述告警数据对应的缓存数据中是否存在和所述单指标告警匹配的匹配数据;

若存在所述匹配数据,则基于所述单指标告警对所述匹配数据进行调整,并将调整后的所述匹配数据作为新缓存数据,检测所述新缓存数据是否满足触发告警条件;

若满足触发告警条件,则输出新告警。

本发明提供一种监控告警方法,在监控告警方法第一实施例中,参照图2,监控告警方法包括以下步骤:

步骤s10,接收告警数据,并检测所述告警数据是否为单指标告警;

本实施例中,设置有一通道系统,可命名为channel,该通道系统用于实现不同程序间的通信,此外,所述通道系统可以用于缓存数据对象。本实施例中,先接收告警信息,在接收之后,将接收到的告警数据放入channel中,同时,启动预设的处理程序以从channel中提取告警数据,本实施例中,处理程序的数量不做限定,当有处理程序在channel中提取告警数据后,channel自动删除该告警数据,从而保障不会被不同的处理程序同时处理同一个告警数据的现象发生。

本实施例中,单指标告警,主要包括但不限于以下三要素:endpoint-服务器的唯一标识、timestamp-告警时间、alarmtype-告警类型,通过上述三要素,可确定一条告警在哪台服务器在什么时间产生了什么异常。此外,需要说明的是,传统意义的缓存(cache),是指访问速度比一般随机存取存储器(ram)快的一种高速存储器,在本实施例中,该通道系统的缓存,不仅会将缓存数据中和单指标告警匹配的匹配数据和新缓存数据存储起来,还会在处理程序提取出告警数据之后,立刻自动删除告警数据,防止该告警数据被不同的处理程序重复提取。

目前,一般监控系统都有设置各个单指标策略组件,并当任何一个指标的监控值达到设置的阀值时,系统会发出该指标异常的告警给运维人员。而在本实施例中,告警策略则不局限于一个指标而是包括多个指标,当多个指标均存在异常时再输出告警信息,从而提高告警的有效性,告警策略和告警指标的映射关系根据实际情况设置,本实施例中,可采用下列设置情况:

表1

其中,编号1:当一台服务器预设时间内(30秒,可设置)出现cpu.iowait、disk.io.util、disk.io.write_request这3个指标异常告警时,会发出阵列卡损坏告警。

编号2:当一台服务器预设时间内(30秒,可设置)出现agent.alive、ping.available这2个指标异常告警时,会发出宕机告警。

编号3:当一台服务器预设时间内(30秒,可设置)出现cpu.iowait、mem.memfree.percent这2个指标异常告警时,会发出内存条故障告警。

因此,在本实施例中,服务器系统会提供一个接口用于接收各个客户端发送的告警数据,如单指标告警。并在接收到告警数据后,还需要确定该告警数据是否为单指标告警(也就是检测当前接收到的告警数据是否携带有预设的指标标签,若携带有指标标签,且只存在一个时,则确定该告警数据为单指标告警,但是若告警数据未携带有预设的指标标签,而是携带有预设的停止信号,则会主动停止监控告警检测),若是,则将该告警数据放入channel中,并启动一个处理程序-worker(工作者),不断获取channel中的告警数据来执行策略。但是若告警数据为预设的停止信号,则会主动停止worker。

步骤s20,若所述告警数据是单指标告警,则检测所述告警数据对应的缓存数据中是否存在和所述单指标告警匹配的匹配数据;

当经过判断发现告警数据是单指标告警,则可以获取此单指标告警自身携带的endpoint、timestamp、alarmtype等信息,并根据这些信息,读取系统中的缓存数据,以此查看之前是否已经缓存匹配数据,即检测告警数据对应的缓存数据中是否存在和单指标告警匹配的匹配数据,并根据不同的检测结果执行不同的操作。

例如,告警类型包括阵列卡损坏、宕机和内存条故障,其中阵列卡损坏的策略包括a、b、c;宕机的策略包括e、d;内存条故障的策略包括a、e,当接收到的单指标告警所对应的指标是a时,此时就可以确定匹配数据包括阵列卡损坏对应的a和内存条故障对应的a。其中,匹配数据是缓存数据中和单指标告警相同的数据。

步骤s30,若存在所述匹配数据,则基于所述单指标告警对所述匹配数据进调整,并将调整后的所述匹配数据作为新缓存数据,检测所述新缓存数据是否满足触发告警条件;

当经过判断发现存在和单指标告警匹配的匹配数据时,则可以进行缓存加锁,并判断缓存匹配数据的告警时间与本次告警(即单指标告警)的告警时间之间的差值是否超过预设时限值,以便根据单指标告警对匹配数据进行调整,从而得到调整后的新缓存数据。也就是当匹配数据的告警时间和本次告警的告警时间之间的差值超出预设时限值时,可以更新缓存中的告警时间和告警类型,即将匹配数据的告警时间和告警类型替换为单指标告警的告警时间和告警类型。但是若匹配数据的告警时间和本次告警的告警时间之间的差值没有超出预设时限值,则可以将本次单指标告警的告警类型加入缓存并解锁,此时并不会对匹配数据的告警时间和告警类型作改变,会继续保留。需要说明的是,若不存在和单指标告警匹配的匹配数据时,则可以直接读取与此次单指标告警相关的所有规则,并缓存所有和该单指标告警的告警类型相关的所有策略,以及该单指标告警。

其中,根据实际需要可能存在多个处理程序worker同时运行,为了避免多个worker同时对一个单指标告警进行处理,造成资源的浪费,因此可以在确定有worker对单指标告警进行处理时,就进行缓存加锁,以避免其他worker再次对此单指标告警进行处理。

在本实施例中当获取到新缓存数据后,可以检测该新缓存数据是否满足触发告警条件,并根据不同的判断检测结果执行不同的操作。其中,新缓存数据可以是根据单指标告警进行调整后的缓存数据。告警条件可以是用户基于自身的喜好需求自行进行设置的。

步骤s40,若满足触发告警条件,则输出新告警。

当经过判断发现若新缓存数据满足触发告警条件,则可以直接输出新告警,并在输出完成后,可以删除该新缓存数据。但是若新缓存数据不满足触发告警条件,则可以继续获取下一个单指标告警,并进行相同的处理。也就是在本实施例中判断缓存数据中是否包含单指标告警对应的策略涉及的所有告警类型;若未包含所有告警类型,则处理下一个单指标告警;若已包含所有告警类型,则发出新告警。另外,在本实施例中,worker可以同时启动多个(使用channel、缓存加锁、解锁都是为了多个worker同时工作,以提高处理速度)。

另外为辅助理解本实施例中的监控告警处理,下面进行举例说明。例如,先现已配置如表1的阵列卡损坏、宕机、内存条故障3条策略,而此时收到一条单指标告警(endpoint1,timestamp1,alarmtype1-cpu.iowait),则与此告警有关的策略有编号1和3的两条策略,因此缓存以下内容:

key(关键)-(endpoint1、阵列卡损坏),value-(timestamp1,alarmtype1-cpu.iowait);

key-(endpoint1、内存条故障),value-(timestamp1,alarmtype1-cpu.iowait)。

因为阵列卡损坏策略需要3个单指标告警,内存条故障策略需要2个单指标告警,目前未达到发出新告警条件,因此worker进入等待阶段,等待下一个单指标告警。

1秒后,收到新单指标告警(endpoint2,timestamp2,alarmtype1-cpu.iowait)。

因缓存中key-(endpoint2、xxx)不存在,因此缓存新key,缓存后如下:

key-(endpoint1、阵列卡损坏),value-(timestamp1,alarmtype1-cpu.iowait);

key-(endpoint1、内存条故障),value-(timestamp1,alarmtype1-cpu.iowait);

key-(endpoint2、阵列卡损坏),value-(timestamp2,alarmtype1-cpu.iowait);

key-(endpoint2、内存条故障),value-(timestamp2,alarmtype1-cpu.iowait)。

又1秒后,收到新单指标告警(endpoint1,timestamp3,alarmtype2-disk.io.util),因为timestamp1、timestamp3没超出预设时限,更新缓存,更新后缓存状态如下:

key-(endpoint1、阵列卡损坏),value-(timestamp1,alarmtype1-cpu.iowait,alarmtype2-disk.io.util);

key-(endpoint1、内存条故障),value-(timestamp1,alarmtype1-cpu.iowait);

key-(endpoint2、阵列卡损坏),value-(timestamp2,alarmtype1-cpu.iowait);

key-(endpoint2、内存条故障),value-(timestamp2,alarmtype1-cpu.iowait)。

又1秒后,收到新单指标告警(endpoint1,timestamp4,alarmtype3-mem.memfree.percent),因为timestamp1、timestamp3没超出预设时限,更新缓存,更新后缓存状态如下:

key-(endpoint1、阵列卡损坏),value-(timestamp1,alarmtype1-cpu.iowait,alarmtype2-disk.io.util);

key-(endpoint1、内存条故障),value-(timestamp1,alarmtype1-cpu.iowait,alarmtype3-mem.memfree.percent);

key-(endpoint2、阵列卡损坏),value-(timestamp2,alarmtype1-cpu.iowait);

key-(endpoint2、内存条故障),value-(timestamp2,alarmtype1-cpu.iowait)。

此时key-(endpoint1、内存条故障)已达到策略条件,发出新告警(endpoint1,timestamp1,alarmtype-内存条故障),并清除该条缓存,清除后缓存状态如下:

key-(endpoint1、阵列卡损坏),value-(timestamp1,alarmtype1-cpu.iowait,alarmtype2-disk.io.util);

key-(endpoint1、内存条故障),value-(timestamp1,alarmtype1-cpu.iowait,alarmtype3-mem.memfree.percent);

key-(endpoint2、阵列卡损坏),value-(timestamp2,alarmtype1-cpu.iowait);

key-(endpoint2、内存条故障),value-(timestamp2,alarmtype1-cpu.iowait)。

经过worker上述处理,可大量减少单指标告警数量,从而提高告警的准确性和可利用率,节省人力运维成本。

在本实施例中,通过接收告警数据,并检测所述告警数据是否为单指标告警;若所述告警数据是单指标告警,则检测所述告警数据对应的缓存数据中是否存在和所述单指标告警匹配的匹配数据;若存在所述匹配数据,则基于所述单指标告警对所述匹配数据进行调整,并将调整后的所述匹配数据作为新缓存数据,检测所述新缓存数据是否满足触发告警条件;若满足触发告警条件,则输出新告警。通过在确定告警数据为单指标告警,并且缓存数据中存在有和单指标告警匹配的匹配数据时,获取新缓存数据,并在新缓存数据满足触发告警条件时,输出新告警,并删除新缓存数据,从而提高了监控告警的准确性和可利用性,避免了现有技术中只要接收到告警数据就进行告警的现象发生,也节省了人力运维成本,只有在告警数据满足一定条件时,才进行告警,提高了运行效率。

进一步地,在本发明第一实施例的基础上,提出了本发明监控告警方法的第二实施例,本实施例是本发明第一实施例的步骤s20,检测所述告警数据对应的缓存数据中是否存在和所述单指标告警匹配的匹配数据的步骤之后,包括:

步骤a,若不存在,则根据预设的策略设置规则和所述告警类型生成目标策略,对所述目标策略进行缓存。

在本实施例中,当经过判断发现告警数据对应的缓存数据中不存在和单指标告警匹配的匹配数据时,可以先确定该单指标告警的告警类型,并根据该告警类型和预设的策略设置规则来设置生成目标策略。例如,当单指标告警的告警类型是内存条故障时,可以先确定诱发内存条故障会包括哪些指标,并对这些指标进行组合,以便根据组合确定内存条故障,如cpu的io等待的百分比和内存剩余的百分比这两个指标只要都有进行告警,则可以确定内存条故障,此时就可以将这个组合作为目标策略,并对此目标策略和该单指标告警进行缓存。而且有些告警类型可能存在多个策略,因此在本实施例当生成多个目标策略时,可以将多个目标策略都进行缓存。其中,预设的策略设置规则可以是用户提前设置的策略设置规则,而策略设置规则是需要先确定故障类型,再确定故障类型对应的所有诱发因素(即指标),再根据故障类型和指标构建策略。策略可以包括多个指标,具体可以根据用户的需求进行设置。

在本实施例中,通过在确定缓存数据中不存在匹配数据时,可以直接生成单指标告警的告警类型对应的目标并进行缓存,从而保障了缓存单指标告警的数据的准确性。

进一步地,基于所述单指标告警对所述匹配数据进行调整的步骤,包括:

步骤b,计算所述匹配数据的历史告警时间和所述单指标告警的本次告警时间之间的差值,并检测所述差值是否大于预设时限值;

在本实施例中,调整包括更新,即对缓存数据的调整操作包括对缓存数据的更新操作。当确定缓存数据中存在匹配数据时,可以先在缓存数据中提取匹配数据的告警时间(即历史告警时间),并提取本次接收到的单指标告警的告警时间(即本次告警时间),再计算历史告警时间和本次告警时间之间的差值,然后检测该差值是否大于预设时限值,并根据不同的检测结果执行不同的操作。其中,预设时限值可以是用户提前设置的任意时限值。

步骤c,若大于,则根据所述单指标告警对所述匹配数据中的历史告警时间和历史告警类型进行更新。

当经过判断发现差值大于预设时限值时,可以直接根据单指标告警来更新匹配数据,即获取单指标告警所携带的本次告警时间和本次告警类型,并获取匹配数据中的历史告警时间和历史告警类型,再通过本次告警时间来更新历史告警时间,直至历史告警时间和本次告警时间保持一致,并通过本次告警类型来更新历史告警类型,直至历史告警类型和本次告警类型保持一致。其中,历史告警类型即匹配数据的告警类型。

在本实施例中,通过在确定历史告警时间和本次告警时间之间的差值大于预设时限值时,对匹配数据中的历史告警时间和历史告警类型进行更新,从而保障了获取到的新缓存数据的准确性。

进一步地,检测所述差值是否大于预设时限值的步骤之后,包括:

步骤d,若小于或等于,则保持所述匹配数据中的历史告警时间和历史告警类型不变,并将所述单指标告警的告警类型添加至所述匹配数据。

当经过判断发现,差值小于或等于预设时限值时,则可以直接对单指标告警的数据进行存储,此时匹配数据中的历史告警时间和历史告警类型会保持不变,而是直接将单指标告警的告警类型添加至匹配数据,以完成对单指标告警的存储。其中,调整包括添加,即对缓存数据的调整操作包括对缓存数据的添加操作。

在本实施例中,通过在确定相关告警时间和本次告警时间之间的差值小于或等于预设时限值时,将单指标告警的告警类型存储至匹配数据,而不会对匹配数据中已有的数据做修改,从而保障了获取到的新缓存数据的准确性。

进一步地,检测所述新缓存数据是否满足触发告警条件的步骤,包括:

步骤e,获取所述单指标告警对应的策略包含的所有告警类型,并检测所述新缓存数据是否包含所有告警类型;

在本实施例中,当获取到新缓存数据后,还需要获取单指标告警对应的策略所包含的所有告警类型,并检测新缓存数据是否包含所有告警类型,再基于不同的检测结果执行不同的操作。

步骤f,若所述新缓存数据包含所有告警类型,则确定所述新缓存数据满足触发告警条件。

当经过判断发现新缓存数据中包含所有告警类型时,则可以确定该新缓存数据满足触发告警条件,此时就可以直接输出告警。

在本实施例中,通过确定新缓存数据包含所有告警类型时,确定新缓存数据满足触发告警条件,从而提高了告警的有效性。

进一步地,检测所述新缓存数据是否包含所有告警类型的步骤之后,包括:

步骤h,若所述新缓存数据未包含所有告警类型,则确定所述新缓存数据不满足触发告警条件,并继续执行所述接收告警数据,并检测所述告警数据是否为单指标告警的步骤。

当经过判断发现新缓存数据中未包含所有告警类型,只存在部分告警类型,则可以确定新缓存数据不满足触发告警条件,此时就可以继续处理下一个单指标告警,也就是继续执行接收告警数据,并检测告警数据是否为单指标告警的步骤。

在本实施例中,通过确定新缓存数据未包含所有告警类型时,继续处理下一个单指标告警,从而提高了告警的效率,避免了无用告警现象的发生。

进一步地,在本发明第一实施例的基础上,提出了本发明监控告警方法的第三实施例,本实施例是本发明第一实施例的步骤s10,接收告警数据,并检测所述告警数据是否为单指标告警的步骤之后,包括:

步骤m,若所述告警数据是复合指标,则确定所述复合指标所携带的异常指标数值是否大于预设阀值;

在本实施例中,当发现告警数据是复合指标时,需要确定复合指标所携带的数值是否大于预设阀值,并根据不同的确定结果执行不同的操作。具体的,复合指标监控是通过修改单指标告警,配置使其支持多监控指标,即当一台服务器预设时间内(如30秒,可设置)出现多个指标异常时,可以直接发出复合指标告警。具体的,监控系统会在每个服务器上安装agent(计算机系统),用以采集各种监控指标。当同时采集到多个指标有问题(即异常指标)时,直接上报一个抽象、组合后的新指标(即复合指标)到服务器,此时复合指标就包含有这些异常指标,然后由原来的监控系统根据阀值发出告警,即确定不同类型的异常指标的数量是否大于预设阀值,若是,则发出告警,若不是,则不告警。例如,修改现在agent的指标采集逻辑,新增一个disk.failure的新指标(磁盘物理故障),若在某个时刻agent采集到三个指标cpu.iowait>0,disk.io.util>100,disk.io.write_request=0时,向监控系统上报disk.failure=1的监控指标;若某个时刻采集到的指标达不到条件:cpu.iowait>0,disk.io.util>100,disk.io.write_request=0,则上报disk.failure=0。

这样就可以把原来的三个指标,抽象成一个精准度更高的新指标,这个新指标就是复合了三个指标,当监控系统收到某个服务器disk.failure=1告警时,就更有可能是这台服务器发生了磁盘故障。其中,复合指标是多个单指标进行合并后形成的指标。

步骤n,若所述复合指标所携带的异常指标数值大于预设阀值,则输出告警信息。

当经过判断发现复合指标所携带的异常指标数值大于预设阀值时,可以直接输出告警信息,但是若小于或等于,则不输出告警,并继续接收下一个告警数据。

在本实施例中,通过在确定告警数据是复合指标时,并在复合指标所携带的异常指标数值大于预设阀值时,输出告警信息,从而提高了告警的效率。

此外,参照图3,本发明实施例还提出一种监控告警装置,所述监控告警装置包括:

接收模块a10,用于接收告警数据,并检测所述告警数据是否为单指标告警;

检测模块a20,用于若所述告警数据是单指标告警,则检测所述告警数据对应的缓存数据中是否存在和所述单指标告警匹配的匹配数据;

存储模块a30,用于若存在所述匹配数据,则基于所述单指标告警对所述匹配数据进行调整,并将调整后的所述匹配数据作为新缓存数据,检测所述新缓存数据是否满足触发告警条件;

输出模块a40,用于若满足触发告警条件,则输出新告警。

可选地,所述检测模块a20,还用于:

若不存在,则确定所述单指标告警的告警类型,并根据预设的策略设置规则和所述告警类型生成目标策略,对所述目标策略进行缓存。

可选地,所述调整包括更新,所述存储模块a30,还用于:

计算所述匹配数据的历史告警时间和所述单指标告警的本次告警时间之间的差值,并检测所述差值是否大于预设时限值;

若大于,则根据所述单指标告警对所述匹配数据中的历史告警时间和历史告警类型进行更新。

可选地,所述调整包括添加,所述存储模块a30,还用于:

若小于或等于,则保持所述匹配数据中的历史告警时间和历史告警类型不变,并将所述单指标告警的告警类型添加至所述匹配数据。

可选地,所述存储模块a30,还用于:

获取所述单指标告警对应的策略包含的所有告警类型,并检测所述新缓存数据是否包含所有告警类型;

若所述新缓存数据包含所有告警类型,则确定所述新缓存数据满足触发告警条件。

可选地,所述存储模块a30,还用于:

若所述新缓存数据未包含所有告警类型,则确定所述新缓存数据不满足触发告警条件,并继续执行所述接收告警数据,并检测所述告警数据是否为单指标告警的步骤。

可选地,所述接收模块a10,还用于:

若所述告警数据是复合指标,则确定所述复合指标所携带的异常指标数值是否大于预设阀值;

若所述复合指标所携带的异常指标数值大于预设阀值,则输出告警信息。

其中,监控告警装置的各个功能模块实现的步骤可参照本发明监控告警方法的各个实施例,此处不再赘述。

本发明还提供一种监控告警设备,所述终端包括:存储器、处理器、通信总线以及存储在所述存储器上的监控告警程序:

所述通信总线用于实现处理器和存储器之间的连接通信;

所述处理器用于执行所述监控告警程序,以实现上述监控告警方法各实施例的步骤。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述监控告警方法各实施例的步骤。

本发明计算机可读存储介质具体实施方式与上述监控告警方法各实施例基本相同,在此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1