异常信息的分析方法及装置

申请号 CN201610632592.8 申请日 2016-08-03 公开(公告)号 CN106250290A 公开(公告)日 2016-12-21
申请人 广州唯品会信息科技有限公司; 发明人 姚捷; 吴劼平;
摘要 本 发明 公开了一种异常信息的分析方法, 服务器 在通过 数据总线 接收终端发送的异常信息时,抓取所述数据总线中的异常信息,其中,异常信息包括异常日志和异常事件;从规则库中提取告警规则,并缓存到内存中;根据所述告警规则对抓取的所述异常信息进行分析;在分析结果为告警事件时,将告警事件上报至告警接收源。本发明还公开了一种异常信息的分析装置。本发明提高了异常信息分析的实时性、效率和准确性。
权利要求

1.一种异常信息的分析方法,其特征在于,所述异常信息的分析方法包括:
服务器在通过数据总线接收终端发送的异常信息时,抓取所述数据总线中的异常信息,其中,异常信息包括异常日志和异常事件;
从规则库中提取告警规则,并缓存到内存中;
根据所述告警规则对抓取的所述异常信息进行分析;
在分析结果为告警事件时,将告警事件上报至告警接收源。
2.如权利要求1所述的异常信息的分析方法,其特征在于,所述根据所述告警规则对抓取的所述异常信息进行分析的步骤包括:
所述服务器将抓取的所述异常信息推送到分析队列中;
将所述分析队列中的异常信息与所述告警规则进行比对;
在有异常信息的关键信息与告警规则匹配时,确定所述异常信息为告警事件。
3.如权利要求2所述的异常信息的分析方法,其特征在于,所述将所述分析队列中的异常信息与所述告警规则进行比对的步骤之前,所述异常信息的分析方法还包括:
所述服务器启动多个分析器,以便于根据启动的各个分析器并行分析所述分析队列中的异常信息。
4.如权利要求1-3任一项所述的异常信息的分析方法,其特征在于,所述在分析结果为告警事件时,将告警事件上报至告警接收源的步骤包括:
在分析结果为告警事件,且包括多个告警事件时,所述服务器根据各个告警事件的关键信息,生成各个告警事件对应的签名信息;
将各个告警事件对应的签名信息依次缓存到签名信息映射表;
若有告警事件对应的签名信息与缓存签名信息一致,则累计所述告警信息的个数,并上报一个告警事件至告警接收源;
若各个告警事件对应的签名信息与缓存签名信息都不一致,则缓存各个告警事件对应的签名信息,并将各个告警事件上报至告警接收源。
5.如权利要求4所述的异常信息的分析方法,其特征在于,在缓存签名信息的缓存时长达到预设时长时,删除所述缓存签名信息。
6.一种异常信息的分析装置,其特征在于,所述异常信息的分析装置包括:
抓取模,用于在通过数据总线接收终端发送的异常信息时,抓取所述数据总线中的异常信息,其中,异常信息包括异常日志和异常事件;
提取缓存模块,用于从规则库中提取告警规则,并缓存到内存中;
分析模块,用于根据所述告警规则对抓取的所述异常信息进行分析;
上报模块,用于在分析结果为告警事件时,将告警事件上报至告警接收源。
7.如权利要求6所述的异常信息的分析装置,其特征在于,所述分析模块包括:
推送单元,用于将抓取的所述异常信息推送到分析队列中;
比对单元,用于将所述分析队列中的异常信息与所述告警规则进行比对;
确定单元,用于在有异常信息的关键信息与告警规则匹配时,确定所述异常信息为告警事件。
8.如权利要求7所述的异常信息的分析装置,其特征在于,所述分析模块还包括:
启动单元,用于启动多个分析器,以便于根据启动的各个分析器并行分析所述分析队列中的异常信息。
9.如权利要求6-8任一项所述的异常信息的分析装置,其特征在于,所述上报模块包括:
生成单元,用于在分析结果为告警事件,且包括多个告警事件时,根据各个告警事件的关键信息,生成各个告警事件对应的签名信息;
缓存单元,用于将各个告警事件对应的签名信息依次缓存到签名信息映射表;
累计上报单元,用于若有告警事件对应的签名信息与缓存签名信息一致,则累计所述告警信息的个数,并上报一个告警事件至告警接收源;
缓存上报单元,用于若各个告警事件对应的签名信息与缓存签名信息都不一致,则缓存各个告警事件对应的签名信息,并将各个告警事件上报至告警接收源。
10.如权利要求9所述的异常信息的分析装置,其特征在于,所述异常信息的分析装置还包括:
删除模块,用于在缓存签名信息的缓存时长达到预设时长时,删除所述缓存签名信息。

说明书全文

异常信息的分析方法及装置

技术领域

[0001] 本发明涉及互联网领域,尤其涉及一种异常信息的分析方法及装置。

背景技术

[0002] 服务器的大型分布式软件系统在使用过程中,往往会发生不可预料的系统异常和事件,运维和监控人员需要得知系统异常,才能做出相应修复动作。目前,服务器监测异常信息,一般是先接收到异常信息,然后等到异常信息累计到一定量,再进行分析,导致异常信息分析的实时性较差,并且,在分析异常信息时,一般的人工进行分析,导致异常信息分析的效率和准确性较低。

发明内容

[0003] 本发明的主要目的在于提出一种异常信息的分析方法及装置,旨在解决传统的异常信息的分析方式,实时性较差的技术问题。
[0004] 为实现上述目的,本发明提供的一种异常信息的分析方法,所述异常信息的分析方法包括:
[0005] 服务器在通过数据总线接收终端发送的异常信息时,抓取所述数据总线中的异常信息,其中,异常信息包括异常日志和异常事件;
[0006] 从规则库中提取告警规则,并缓存到内存中;
[0007] 根据所述告警规则对抓取的所述异常信息进行分析;
[0008] 在分析结果为告警事件时,将告警事件上报至告警接收源。
[0009] 优选地,所述根据所述告警规则对抓取的所述异常信息进行分析的步骤包括:
[0010] 所述服务器将抓取的所述异常信息推送到分析队列中;
[0011] 将所述分析队列中的异常信息与所述告警规则进行比对;
[0012] 在有异常信息的关键信息与告警规则匹配时,确定所述异常信息为告警事件。
[0013] 优选地,所述将所述分析队列中的异常信息与所述告警规则进行比对的步骤之前,所述异常信息的分析方法还包括:
[0014] 所述服务器启动多个分析器,以便于根据启动的各个分析器并行分析所述分析队列中的异常信息。
[0015] 优选地,所述在分析结果为告警事件时,将告警事件上报至告警接收源的步骤包括:
[0016] 在分析结果为告警事件,且包括多个告警事件时,所述服务器根据各个告警事件的关键信息,生成各个告警事件对应的签名信息;
[0017] 将各个告警事件对应的签名信息依次缓存到签名信息映射表;
[0018] 若有告警事件对应的签名信息与缓存签名信息一致,则累计所述告警信息的个数,并上报一个告警事件至告警接收源;
[0019] 若各个告警事件对应的签名信息与缓存签名信息都不一致,则缓存各个告警事件对应的签名信息,并将各个告警事件上报至告警接收源。
[0020] 优选地,在缓存签名信息的缓存时长达到预设时长时,删除所述缓存签名信息。
[0021] 此外,为实现上述目的,本发明还提出一种异常信息的分析装置,所述异常信息的分析装置包括:
[0022] 抓取模,用于在通过数据总线接收终端发送的异常信息时,抓取所述数据总线中的异常信息,其中,异常信息包括异常日志和异常事件;
[0023] 提取缓存模块,用于从规则库中提取告警规则,并缓存到内存中;
[0024] 分析模块,用于根据所述告警规则对抓取的所述异常信息进行分析;
[0025] 上报模块,用于在分析结果为告警事件时,将告警事件上报至告警接收源。
[0026] 优选地,所述分析模块包括:
[0027] 推送单元,用于将抓取的所述异常信息推送到分析队列中;
[0028] 比对单元,用于将所述分析队列中的异常信息与所述告警规则进行比对;
[0029] 确定单元,用于在有异常信息的关键信息与告警规则匹配时,确定所述异常信息为告警事件。
[0030] 优选地,所述分析模块还包括:
[0031] 启动单元,用于启动多个分析器,以便于根据启动的各个分析器并行分析所述分析队列中的异常信息。
[0032] 优选地,所述上报模块包括:
[0033] 生成单元,用于在分析结果为告警事件,且包括多个告警事件时,根据各个告警事件的关键信息,生成各个告警事件对应的签名信息;
[0034] 缓存单元,用于将各个告警事件对应的签名信息依次缓存到签名信息映射表;
[0035] 累计上报单元,用于若有告警事件对应的签名信息与缓存签名信息一致,则累计所述告警信息的个数,并上报一个告警事件至告警接收源;
[0036] 缓存上报单元,用于若各个告警事件对应的签名信息与缓存签名信息都不一致,则缓存各个告警事件对应的签名信息,并将各个告警事件上报至告警接收源。
[0037] 优选地,所述异常信息的分析装置还包括:
[0038] 删除模块,用于在缓存签名信息的缓存时长达到预设时长时,删除所述缓存签名信息。
[0039] 本发明提出的异常信息的分析方法及装置,服务器在通过数据总线接收终端发送的异常信息时,即可抓取所述数据总线中的异常信息,然后从规则库中提取告警规则,并缓存到内存中,再根据所述告警规则对抓取的所述异常信息进行分析,在分析结果为告警事件时,将告警事件上报至告警接收源,而不用是在异常信息累计到一定量之后,再统一进行分析,本发明实时抓取异常信息,并由告警规则对抓取的异常信息进行分析,不仅提高了异常信息分析的实时性,还提高了异常信息分析的效率和准确性。附图说明
[0040] 图1为本发明异常信息的分析方法第一实施例的流程示意图;
[0041] 图2为本发明对抓取的所述异常信息进行分析第一实施例的流程示意图;
[0042] 图3为本发明对抓取的所述异常信息进行分析第二实施例的流程示意图;
[0043] 图4为本发明一实施场景示意图;
[0044] 图5为本发明另一实施场景示意图;
[0045] 图6为本发明在分析结果为告警事件时,将告警事件上报至告警接收源较佳实施例的流程示意图;
[0046] 图7为本发明异常信息的分析装置第一实施例的功能模块示意图;
[0047] 图8为图7中分析模块的第一细化功能模块示意图;
[0048] 图9为图7中分析模块的第二细化功能模块示意图;
[0049] 图10为图7中上报模块的细化功能模块示意图。
[0050] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0051] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0052] 参照图1,图1为本发明异常信息的分析方法第一实施例的流程示意图。
[0053] 在本实施例中,所述异常信息的分析方法包括:
[0054] 步骤S10,服务器在通过数据总线接收终端发送的异常信息时,抓取所述数据总线中的异常信息,其中,异常信息包括异常日志和异常事件;
[0055] 在本实施例中,所述步骤S10之前,包括终端发送异常数据的步骤,所述终端发送异常数据的方式包括:所述终端先产生两种类型的异常信息,包括错误日志(Error Log)和事件日志(Event Log),然后通过一个收集器(Error Log Collector)将异常信息收集起来后发送给服务器。
[0056] 在本实施例中,服务器先通过中心化的数据总线接收终端发送的异常信息,然后在接收到异常信息时,由实时分析引擎抓取所述数据总线中的异常信息。值得注意的是,所述实时分析引擎是一个可平扩展的分布式集群,具有实时抓取异常信息的功能。所述抓取所述数据总线中的异常信息的方式包括:全部抓取;按照预设个数抓取,即每次抓取预设个数的异常信息;按照接收时间抓取,即按照先接收到的异常事件先抓取。
[0057] 步骤S20,从规则库中提取告警规则,并缓存到内存中;
[0058] 步骤S30,根据所述告警规则对抓取的所述异常信息进行分析;
[0059] 在所述数据总线中抓取到异常信息时,再从规则库中提取告警规则,并缓存到内存中,然后根据所述告警规则对抓取所述数据总线中的异常信息进行分析。应当理解的是,从规则库中提取告警规则,并缓存到内存中,便于后续确定告警事件的类型。
[0060] 在本实施例中,为了提高信息分析的准确性,参照图2,所述步骤S30包括:
[0061] 步骤S31,所述服务器将抓取的所述异常信息推送到分析队列中;
[0062] 在本实施例中,在所述数据总线中抓取到异常信息时,先将抓取的所述异常信息推送到分析队列中,可以理解的是,将异常信息推动到发送队列中,使得各个异常信息按照顺序依次进行分析,避免了随机抽取,同时,还避免异常信息抽取的重复抽取。
[0063] 步骤S32,将所述分析队列中的异常信息与所述告警规则进行比对;
[0064] 步骤S33,在有异常信息的关键信息与告警规则匹配时,确定所述异常信息为告警事件。
[0065] 接着,将所述分析队列中的异常信息与所述告警规则进行比对,具体地:提取异常信息中的关键信息,所述关键信息包括异常信息的类型、规则字段以及异常信息的来源,根据这些关键信息,将所述异常信息与告警规则进行比对,在有异常信息的关键信息与告警规则匹配时,确定所述异常信息为告警事件,并进一步地确定告警事件的类型,具体根据告警规则确定,例如,告警事件中的关键信息与告警规则匹配,那么该告警事件就是该告警规则对应的类型。
[0066] 进一步地,为了提高异常信息分析的效率,参照图3,所述步骤S32之前,所述步骤S30还包括:
[0067] 步骤S34,所述服务器启动多个分析器,以便于根据启动的各个分析器并行分析所述分析队列中的异常信息。
[0068] 在本实施例中,将所述分析队列中的异常信息与所述告警规则进行比对之前,所述服务器启先动多个分析器,然后根据启动的各个分析器并行分析所述异常信息。
[0069] 步骤S30,在分析结果为告警事件时,将告警事件上报至告警接收源。
[0070] 在本实施例中,在分析结果为告警事件时,根据上述已经确定的告警事件的类型,将所述告警事件上报至告警接收源中。
[0071] 具体地,所述步骤S30包括:
[0072] 将生成的告警事件推送到发送队列中;
[0073] 从发送队列中提取告警事件并上报至告警接收源。
[0074] 为更好理解本实施例,举例如下,参照图4:在客户端(即终端)会产生Error Log(错误日志)和Event Log(事件日志)二种类型的异常信息,然后通过一个Error Log Collector(收集器)将异常信息收集起来后发送给服务器。服务器通过一个Log Data Bus(中心化的日志数据总线)来接收所有的异常日志/异常事件,Erroy Log Analyzer(实时分析引擎)实时抓取数据总线的异常日志/异常事件,并进行快速分析,如分析出来是一个告警事件,会将告警事件推送到Alert Repository(告警数据库)里,应当理解的是,所有产生的告警信息,以标准数据格式存储在告警数据库中。
[0075] 实时分析引擎分析异常日志/异常事件的具体方式参照图5,如图5所示,Error Log Analyzer(实时分析引擎)的Acceptor组件会从持续从Log Data Bus中拉取日志数据,为提升整体分析的性能,拉取的日志会首先推送到一个日志队列Log Channel中(即分析队列),然后Analysis Manager(分析任务管理器)会负责消费Log Channel(日志通道)里的异常信息,执行高性能的异常日志分析工作,也就是说确定异常信息的数据量,根据异常信息的数据量确定待启动的Analysis Worker(分析器),Analysis Manager再从Rule Repository(规则库)中读取规则,并且Analysis Manager启动多个Analysis Worker,让Analysis Worker抓取不同的异常信息做并行分析。如分析后产生告警,则在构建标准的告警事件,送入告警事件队列Alert Event Channel(即发送队列中)中,最终通过一个Alert Reporting Worker,将产生的告警事件上报到监控中心或其他告警接收源。
[0076] 本实施例提出的异常信息的分析方法,服务器在通过数据总线接收终端发送的异常信息时,即可抓取所述数据总线中的异常信息,然后从规则库中提取告警规则,并缓存到内存中,再根据所述告警规则对抓取的所述异常信息进行分析,在分析结果为告警事件时,将告警事件上报至告警接收源,而不用是在异常信息累计到一定量之后,再统一进行分析,本发明实时抓取异常信息,并由告警规则对抓取的异常信息进行分析,不仅提高了异常信息分析的实时性,还提高了异常信息分析的效率和准确性。
[0077] 可以理解的是,本实施例提供一种在生产环境对异常日志和异常事件实时分析和告警的能,监听数据总线,分析监听的数据,配置告警策略和规则,及时告警,实现了分析异常日志和异常事件的实时分析,并第一时间产生告警,帮助监控人员快速侦测到系统异常。
[0078] 进一步地,为了提高异常信息分析的智能性,基于第一实施例提出本发明异常信息的分析方法的第二实施例,在本实施例,参照图6,所述步骤S40包括:
[0079] 步骤S41,在分析结果为告警事件,且包括多个告警事件时,所述服务器根据各个告警事件的关键信息,生成各个告警事件对应的签名信息;
[0080] 步骤S42,将各个告警事件对应的签名信息依次缓存到签名信息映射表;
[0081] 步骤S43,若有告警事件对应的签名信息与缓存签名信息一致,则累计所述告警信息的个数,并上报一个告警事件至告警接收源;
[0082] 步骤S44,若各个告警事件对应的签名信息与缓存签名信息都不一致,则缓存各个告警事件对应的签名信息,并将各个告警事件上报至告警接收源。
[0083] 在本实施例中,在分析结果为告警事件,且包括多个告警事件时,所述服务器先根据各个告警事件的关键信息,生成各个告警事件对应的签名信息。本实施例中,所述签名信息优选为Hash(哈希)签名信息,然后将各个告警事件对应的签名信息依次缓存到签名信息映射表。此时,所述服务器判定告警事件是否已经维护在所述签名信息映射表中,即判定告警事件对应的签名信息与之前缓存的签名信息一致,若一致,累计所述告警信息的个数,即此时确定所述告警事件与之前的告警信息一致,不用上报多次,只要上报其中一个告警事件至告警接收源即可。
[0084] 若各个告警事件对应的签名信息与缓存签名信息都不一致,说明各个告警事件都是唯一类型的,那么将各个告警事件对应的签名信息缓存到签名信息映射表中,将各个告警事件都上报至告警接收源。
[0085] 在本实施例中,相当于是对告警事件执行收敛操作,收敛是为了防止服务器中,瞬间接收到大量相同告警,如果没有收敛机制,告警引擎将面临瞬间产生大量告警事件的险,因此,本实施中,可以对同一时刻在多台主机上同时发生的异常进行收敛,避免产生大量的重复告警,从而提高了告警信息上报的智能性。
[0086] 进一步地,为了提高告警事件上报的实时性,在缓存签名信息的缓存时长达到预设时长时,删除所述缓存签名信息。
[0087] 也就是说,每个告警事件的签名信息在缓存时,仅仅会缓存一预设时间段,如10秒,在这10秒内,若有其它告警事件的签名信息与缓存签名信息一致,可认为已经上报了告警事件了,无须再上报,若缓存签名信息的缓存时长超过10秒,则删除所述缓存签名信息,后续再接收到告警信息,即使新接收到的告警信息对应的签名信息与已经删除的缓存签名信息一致,也认为当前的告警信息需要上报,重新将新接收到的告警信息对应的签名信息进行缓存。
[0088] 本发明进一步提供一种异常信息的分析装置。
[0089] 参照图7,图7为本发明异常信息的分析装置第一实施例的功能模块示意图。
[0090] 需要强调的是,对本领域的技术人员来说,图7所示功能模块图仅仅是一个较佳实施例的示例图,本领域的技术人员围绕图7所示的异常信息的分析装置的功能模块,可轻易进行新的功能模块的补充;各功能模块的名称是自定义名称,仅用于辅助理解该异常信息的分析装置的各个程序功能块,不用于限定本发明的技术方案,本发明技术方案的核心是,各自定义名称的功能模块所要达成的功能。
[0091] 在本实施例中,所述异常信息的分析装置包括:
[0092] 抓取模块10,用于在通过数据总线接收终端发送的异常信息时,抓取所述数据总线中的异常信息,其中,异常信息包括异常日志和异常事件;
[0093] 在本实施例中,抓取模块10在通过数据总线接收终端发送的异常信息之前,终端先发送异常数据,所述终端发送异常数据的方式包括:所述终端先产生两种类型的异常信息,包括错误日志(Error Log)和事件日志(Event Log),然后通过一个收集器(Error Log Collector)将异常信息收集起来后发送给服务器。
[0094] 在本实施例中,抓取模块10先通过中心化的数据总线接收终端发送的异常信息,然后在接收到异常信息时,抓取所述数据总线中的异常信息。所述抓取模块10抓取所述数据总线中的异常信息的方式包括:全部抓取;按照预设个数抓取,即每次抓取预设个数的异常信息;按照接收时间抓取,即按照先接收到的异常事件先抓取。
[0095] 提取缓存模块20,用于从规则库中提取告警规则,并缓存到内存中;
[0096] 分析模块30,用于根据所述告警规则对抓取的所述异常信息进行分析;
[0097] 抓取模块10在所述数据总线中抓取到异常信息时,提取缓存模块20再从规则库中提取告警规则,并缓存到内存中,然后分析模块30根据所述告警规则对抓取所述数据总线中的异常信息进行分析。应当理解的是,从规则库中提取告警规则,并缓存到内存中,便于后续确定告警事件的类型。
[0098] 在本实施例中,为了提高信息分析的准确性,参照图8,所述分析模块30包括:
[0099] 推送单元31,用于将抓取的所述异常信息推送到分析队列中;
[0100] 在本实施例中,在所述数据总线中抓取到异常信息时,推送单元31先将抓取的所述异常信息推送到分析队列中,可以理解的是,推送单元31将异常信息推动到发送队列中,使得各个异常信息按照顺序依次进行分析,避免了随机抽取,同时,还避免异常信息抽取的重复抽取。
[0101] 比对单元32,用于将所述分析队列中的异常信息与所述告警规则进行比对;
[0102] 确定单元33,用于在有异常信息的关键信息与告警规则匹配时,确定所述异常信息为告警事件。
[0103] 接着,比对单元32将所述分析队列中的异常信息与所述告警规则进行比对,具体地:提取异常信息中的关键信息,所述关键信息包括异常信息的类型、规则字段以及异常信息的来源,根据这些关键信息,比对单元32将所述异常信息与告警规则进行比对,在有异常信息的关键信息与告警规则匹配时,确定单元33确定所述异常信息为告警事件,并进一步地确定告警事件的类型,具体根据告警规则确定,例如,告警事件中的关键信息与告警规则匹配,那么该告警事件就是该告警规则对应的类型。
[0104] 进一步地,为了提高异常信息分析的效率,参照图9,所述分析模块30还包括:
[0105] 启动单元34,用于启动多个分析器,以便于根据启动的各个分析器并行分析所述分析队列中的异常信息。
[0106] 在本实施例中,比对单元32将所述分析队列中的异常信息与所述告警规则进行比对之前,启动单元34启先动多个分析器,然后根据启动的各个分析器并行分析所述异常信息。
[0107] 上报模块40,用于在分析结果为告警事件时,将告警事件上报至告警接收源。
[0108] 在本实施例中,在分析结果为告警事件时,所述上报模块40根据上述已经确定的告警事件的类型,将所述告警事件上报至告警接收源中。
[0109] 具体地,所述上报模块40用于:
[0110] 将生成的告警事件推送到发送队列中;
[0111] 从发送队列中提取告警事件并上报至告警接收源。
[0112] 为更好理解本实施例,举例如下,参照图4:在客户端(即终端)会产生Error Log(错误日志)和Event Log(事件日志)二种类型的异常信息,然后通过一个Error Log Collector(收集器)将异常信息收集起来后发送给服务器。服务器通过一个Log Data Bus(中心化的日志数据总线)来接收所有的异常日志/异常事件,Erroy Log Analyzer(实时分析引擎)实时抓取数据总线的异常日志/异常事件,并进行快速分析,如分析出来是一个告警事件,会将告警事件推送到Alert Repository(告警数据库)里,应当理解的是,所有产生的告警信息,以标准数据格式存储在告警数据库中。
[0113] 实时分析引擎分析异常日志/异常事件的具体方式参照图5,如图5所示,Error Log Analyzer(实时分析引擎)的Acceptor组件会从持续从Log Data Bus中拉取日志数据,为提升整体分析的性能,拉取的日志会首先推送到一个日志队列Log Channel中(即分析队列),然后Analysis Manager(分析任务管理器)会负责消费Log Channel(日志通道)里的异常信息,执行高性能的异常日志分析工作,也就是说确定异常信息的数据量,根据异常信息的数据量确定待启动的Analysis Worker(分析器),Analysis Manager再从Rule Repository(规则库)中读取规则,并且Analysis Manager启动多个Analysis Worker,让Analysis Worker抓取不同的异常信息做并行分析。如分析后产生告警,则在构建标准的告警事件,送入告警事件队列Alert Event Channel(即发送队列中)中,最终通过一个Alert Reporting Worker,将产生的告警事件上报到监控中心或其他告警接收源。
[0114] 本实施例提出的异常信息的分析装置,服务器在通过数据总线接收终端发送的异常信息时,即可抓取所述数据总线中的异常信息,然后从规则库中提取告警规则,并缓存到内存中,再根据所述告警规则对抓取的所述异常信息进行分析,在分析结果为告警事件时,将告警事件上报至告警接收源,而不用是在异常信息累计到一定量之后,再统一进行分析,本发明实时抓取异常信息,并由告警规则对抓取的异常信息进行分析,不仅提高了异常信息分析的实时性,还提高了异常信息分析的效率和准确性。
[0115] 可以理解的是,本实施例提供一种在生产环境对异常日志和异常事件实时分析和告警的能力,监听数据总线,分析监听的数据,配置告警策略和规则,及时告警,实现了分析异常日志和异常事件的实时分析,并第一时间产生告警,帮助监控人员快速侦测到系统异常。
[0116] 进一步地,为了提高异常信息分析的智能性,基于第一实施例提出本发明异常信息的分析装置的第二实施例,在本实施例,参照图10,所述上报模块40包括:
[0117] 生成单元41,用于在分析结果为告警事件,且包括多个告警事件时,根据各个告警事件的关键信息,生成各个告警事件对应的签名信息;
[0118] 缓存单元42,用于将各个告警事件对应的签名信息依次缓存到签名信息映射表;
[0119] 累计上报单元43,用于若有告警事件对应的签名信息与缓存签名信息一致,则累计所述告警信息的个数,并上报一个告警事件至告警接收源;
[0120] 缓存上报单元44,用于若各个告警事件对应的签名信息与缓存签名信息都不一致,则缓存各个告警事件对应的签名信息,并将各个告警事件上报至告警接收源。
[0121] 在本实施例中,在分析结果为告警事件,且包括多个告警事件时,生成单元41先根据各个告警事件的关键信息,生成各个告警事件对应的签名信息。本实施例中,所述签名信息优选为Hash(哈希)签名信息,然后缓存单元42将各个告警事件对应的签名信息依次缓存到签名信息映射表。此时,判定告警事件是否已经维护在所述签名信息映射表中,即判定告警事件对应的签名信息与之前缓存的签名信息一致,若一致,累计上报单元43累计所述告警信息的个数,即此时确定所述告警事件与之前的告警信息一致,不用上报多次,只要上报其中一个告警事件至告警接收源即可。
[0122] 若各个告警事件对应的签名信息与缓存签名信息都不一致,说明各个告警事件都是唯一类型的,那么缓存上报单元44将各个告警事件对应的签名信息缓存到签名信息映射表中,将各个告警事件都上报至告警接收源。
[0123] 在本实施例中,相当于是对告警事件执行收敛操作,收敛是为了防止服务器中,瞬间接收到大量相同告警,如果没有收敛机制,告警引擎将面临瞬间产生大量告警事件的风险,因此,本实施中,可以对同一时刻在多台主机上同时发生的异常进行收敛,避免产生大量的重复告警,从而提高了告警信息上报的智能性。
[0124] 进一步地,为了提高告警事件上报的实时性,所述异常信息的分析装置还包括:
[0125] 删除模块,用于在缓存签名信息的缓存时长达到预设时长时,删除所述缓存签名信息。
[0126] 也就是说,每个告警事件的签名信息在缓存时,仅仅会缓存一预设时间段,如10秒,在这10秒内,若有其它告警事件的签名信息与缓存签名信息一致,可认为已经上报了告警事件了,无须再上报,若缓存签名信息的缓存时长超过10秒,则删除模块删除所述缓存签名信息,后续再接收到告警信息,即使新接收到的告警信息对应的签名信息与已经删除的缓存签名信息一致,也认为当前的告警信息需要上报,重新将新接收到的告警信息对应的签名信息进行缓存。
[0127] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0128] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0129] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
QQ群二维码
意见反馈