告警方法、相关设备及系统的制作方法

文档序号:7706477阅读:101来源:国知局

专利名称::告警方法、相关设备及系统的制作方法
技术领域
:本发明涉及网络硬件维护
技术领域
,特别涉及一种告警方法、相关设备及系统。
背景技术
:在电信设备管理领域,可以采用网管方式进行网络监控,客户端导入开发人员开发的对应单个告警的告警程序,其中,开发人员开发的对应单个告警的告警程序包括告警定义、根据告警内容生成Trap包的程序等。现有技术具有如下缺点现有技术中客户端导入的是开发人员开发的对应单个告警的告警程序,如果开发人员需要增加新的告警或者修改原来的告警程序时,需要中止告警进程。而且需要开发人员熟悉SNMP(SimpleNetworkManagementProtocol,简单网络管理协议),才能编写根据告警内容生成Trap包程序,增加了开发人员开发程序的难度。
发明内容本发明实施例提供一种告警方法、相关设备及系统,通过提供全栈式的告警框架,降低开发告警的难度。有鉴于此,本发明实施例提供一种告警方法,包括执行任务队列中的管理执行脚本任务,所述管理执行脚本任务包括扫描配置文件,将配置文件中新增的配置项或者发生改变的配置项所对应的执行脚本任务加载到所述任务队列中;执行所述任务队列中的执行脚本任务,所述执行脚本任务包括执行脚本以检测测量对象,判断针对所述测量对象是否需要告警,并在需要告警时获得告警内容,根据告警内容和所,P本对应的配置项,生成符合协议规定的陷阱Trap包;向服务器发送所述Trap包。一种客户端,包括配置文件保存单元,用于保存配置文件,所述配置文件包括配置项;第一执行单元,用于执行任务队列中的管理执行脚本任务,所述管理执行脚本任务包括扫描配置文件,将配置文件中新增的配置项或者发生改变的配置项所对应的执行脚本任务加载到所述任务队列中;第二执行单元,用于执行所述任务队列中的执行脚本任务,所述执行脚本任务包括执行脚本以检测测量对象,判断针对所述测量对象是否需要告警,并在需要告警时获得告警内容,根据告警内容和所述脚本对应的配置项,生成符合协议规定的Trap包;发送单元,用于向服务器发送所述Trap包。一种告警系统,包括与服务器以可通信方式连接的客户端,所述客户端,用于执行任务队列中的管理执行脚本任务,所述管理执行脚本任务包括扫描配置文件,将配置文件中新增的配置项或者发生改变的配置项所对应的执行脚本任务加载到所述任务队列中;执行所述任务队列中的执行脚本任务,所述执行脚本任务包括执行脚本以检测测量对象,判断针对所述测量对象是否需要告警,并在需要告警时获得告警内容,根据告警内容和所述脚本对应的配置项,生成符合协议规定的陷阱Trap包;向服务器发送所述Trap包。本发明实施例通过执行任务队列中的管理执行脚本任务使用户增加新的告警脚本并相应的增加配置项时,或者用户改变原有的配置项时,客户端能够将配置文件中新增的配置项或者发生改变的配置项所对应的执行脚本任务加载到任务队列中,不用重新启动告警进程;并通过执行所述任务队列中的执行脚本任务生成符合协议规定的Trap包,降低了开发告警的难度,使开发人员无需掌握客户端与服务器间通信的SNMP协议,而是只需要能开发告警脚本修改配置项即可。图1A是本发明实施例提供的告警程序框架示意图1B是本发明实施例一提供的告警方法流程图2是本发明实施例提供的执行加载执行脚本的任务的方法流程图3是本发明实施例提供的执行脚本任务的方法流程图;图4是本发明实施例二提供的客户端结构图。具体实施例方式实施例一参阅图1A和图1B,本发明实施例一提供一种告警方法,其中,图1A为本发明实施例一提供的告警框架图,图1B是基于该告警框架的告警方法流程图,本发明实施例一提供的告警方法具体包括IOIB、客户端执行任务队列中的管理执行脚本任务,所述管理执行脚本任务包括扫描配置文件,将配置文件中新增的配置项或者发生改变的配置项所对应的执行脚本任务加载到所述任务队列中。该步骤中的任务队列是图1A中的定时任务队列。该管理执行脚本任务是定时任务,位于定时任务序列中,当执行该任务的时间到达时,执行该任务。102B、客户端执行所述任务队列中的执行脚本任务,所述执行脚本任务包括执行脚本以检测测量对象,判断针对所述测量对象是否需要告警,并在需要告警时获得告警内容,根据告警内容和所述脚本对应的配置项,生成符合协议规定的Trap包,并将生成的Trap包放入告警队列中。该执行脚本任务是定时任务,位于定时任务序列中,当执行该任务的时间到达时,执行该任务,并将生成的Trap包放入告警队列中。其中,上述步骤101B和102B中描述的管理执行脚本任务和执行脚本任务是由任务执行线程执行的。103B、告警线程向服务器发送该告警队列中的所述Trap包。本发明实施例一在预定时间到达时,执行任务队列中的管理执行脚本任务使用户增加新的告警脚本并相应的增加配置项时,或者用户改变原有的配置项时,客户端能够将配置文件中新增的配置项或者发生改变的配置项所对应的执行脚本任务加载到任务队列中,不用重新启动告警进程;并通过执行所述任务队列中的执行脚本任务生成符合协议规定的Trap包,降低了开发告警的门槛,使开发人员无需掌握客户端与服务器间通信的SNMP协议,而是只需要能开发告警脚本修改配置项即可。上述所提及的定时任务可以有如下几个基本属性61)、任务开始执行时间和任务结束时间;2)、任务才莫式,可以分为如下三种第一种周期性,即每隔一个周期执行一次;第二种间隔性执行,即两次任务执行之间需要间隔一段时间;第三种一次性,即该任务仅仅执行一次,下次就不必再执行了。如果任务模式是第一种,则还包括3)、执行周期,即两次执行该任务之间的间隔。其中,每个定时任务都是一个可执行的逻辑单元,其包括三个方法prerun()、run()和postrun(),其分别是4丸4亍前处理方法、扭J亍方法和^W亍后处理方法。需要说明的,上述定时任务本身是不能执行的,是由任务执行线程执行的,任务执行线程需要从定时任务队列中取出任务,然后执行prerun()、run()和postrun()三个方法。由于有些任务的执行时间比4交长,而在这个任务执行的过程中有其他任务等待被执行,因此,为了能同时执行几个任务,可以釆用多个任务执行线程来执行,如可以采用5个任务执行线程。其中,容纳任务的任务队列是一种延迟优先队列,当需要插入新的任务时,需要根据预定的比较原则,确定该新的任务在定时任务队列中的位置。该比较原则可以是将优先级别高的放在队列前面,将优先级别低的放在队列执行的定时任务放在队列前面,后执行的定时任务放在队列后面。该延迟优先队列也是一个阻塞队列,如果放在队列最前面的定时任务不马上执行,此时执行该任务的任务执行线程需要等待,直到该任务执行完后该任务执行线程才能去执行其他任务,同时,其他任务执行线程执行任务队列中的其他任务。参阅图2,如下描述执行管理执行脚本任务的具体过程201、在预定时间到达时,在配置文件中读取配置项cfg/script—xxx.cfg,其中,xxx为任意字符,本发明实施例设置配置项名字的格式为带有script」并以.cfg为结尾。其中,配置项的内容包括但不限于告警名称、告警周期和告警级别。7202、如果发现配置文件中有新增加的配置项,或者配置项的内容发生了改变,则将该配置项对应的执行脚本任务加载到任务队列中,该任务队列可以是图1A中的定时任务队列。其中,新增加配置项是由于用户增加了新的告警脚本,并对该告警脚本所描述的告警的告警名称、告警周期或者告警级别进行了配置;其中,配置项的内容发生改变是由于用户修改了告警名称、告警周期或者告警级别,比如以前告警周期为3分钟,用户将告警周期改为5分钟。203、如果发现配置文件中删除了某个配置项,将该配置项对应的执行脚本任务从任务队列中删除。参阅图3,如下描述执行脚本任务的具体执行过程301、在预定时间到达时,执行脚本,以才企测测量对象。其中,执行一个脚本可以监控多个测量对象,例如,想要监控磁盘使用率,可以将一个分区对应一个测量对象,将对应该脚本的配置项可以-没置为包括如下ScriptFile=jm—disk,pyAlarmAdvice=请及时清理临时文件,释放空间。StartTime=8:00StopTime=20:00ObjectC=C:|5000ObjectD=D:|10000AlarmCause(告警原因)AlarmTrigger(告警表达式,用于触发告警,如果该表达式计算结果为True则告警)上述配置项设定了检测时间是每天的8:00到20:00,其他时间段不检查。第一个测量对象ObjectC的参数是C:和5000,指示了告警条件是C盘空间少于5000M时告警。如果是Python脚本,将以pl="C:,,和p2="5000,,的形式传入到jm_disk.py脚本中;如果是shell脚本,它们的传递格式比较复杂,首先环境变量中有pl-C:和p2-5000,并以参数的形式传递给脚本,比如jm—disk.shC:5000。本步骤按照配置项配置的检测时间和检测条件,执行脚本,以检测测量对象。302、若配置项中配置了AlarmTrigger,将检测结果代入AlarmTrigger中的表达式,通过计算,判断是否需要告警,如果需要告警则执行步骤303,不需要告警则返回执行步骤301继续检测下一个测量对象;其中,AlarmTrigger中的表达式是告警触发条件。如果配置项中没有AlarmTrigger则表示该告警脚本的告警是预定义的告警类型,则可以根据检测结果直接确定是否需要告警,如果需要告警则执行步骤303,不需要告警则返回执行步骤301继续4会测下一个测量对象。303、将告警原因、修复建议和告警内容显示在屏幕上,客户端确定需要上报告警时,根据告警内容及对应的配置项生成符合SNMP协议的Trap包。其中,Trap包可以包括特定的对象标识符(ObjectIdentifier,OID),用于通知服务器该Trap包不同于传统的Trap包,如表1所示,该Trap包不仅包括告警ID、对象标识和告警内容,还可以包括标识告警的告警类别、标识为设备告警的告警类型、告警级别、告警名称、告警时间、告警原因和修复建议中至少一项。<table>tableseeoriginaldocumentpage9</column></row><table>索引VB字段含义类型长度限制12000是否显示6.Objectlnstance对象标识字符串50字节左右是AlarmTime告警时间整形标准格式否8.AlarmCause告警原因字符串IOO字节左右是9.AlarmDescription告警内容字符串IOO字节左右是10.RemedySuggestion修复建议字符串IOO字节左右是11.AdditionalInformation附加信息字符串预留,暂不用—12.Additiona1Information附加信息字符串预留,暂不用—表1其中,AlarmDescription字段为产生的告警内容,比如"C盘空间100M",RemedySuggestion字段为上述配置项中的"请及时清理临时文件,释放空间"AlarmCause/AlarmLevel/AlarmName/AlarmTime与西己置项中的相应内容对应。其中,AlarmLevel可分为警告、次要告警、重要告警、严重告警和紧急告警等;AlarmID是客户端根据配置项中的告警名称生成的,ObjectInstance是客户端根据配置项和客户端本身的系统信息生成的,其包括测量对象信息,比如"C盘"。AlarmType可分为通信告警、设备告警、流程告警、服务质量(QualityofService,QoS)告警和环境告警等,本发明实施例中客户端设置该字段标识设备告警;AlarmCategory可分为告警、事件和清除告警等,该步骤中客户端设置该字段标识为告警。客户端可以设定规则区分是否需要上报告警,比如一个系统文件占用率告警,当执行告警脚本时发现文件占用率超过预设标准,就显示告警echo"alarm:/opt分区占用率过高,达到了90%"客户端为了防止4巴搡作系统的异常输出也作为告警上报以导致产生误告警,则规定如果打印的信息是以'ALARM:'、'WARN:','WARNING:','ERROR:'10开头的(不区分大小写),则认为需要上报告警,否则不上报告警。优选的,在针对某个测量对象的检测结果为不需要告警时,屏幕上会显示为空,则客户端判断针对该测量对象是否已经告警过,如果是,则上寺艮清除告警指示,这种方式可适用于如下情况,比如,原来C盘空间只有100M所以上报了告警,由于用户对C盘中的文件进行了某些操作,所以现在C盘空间是6000M了,则不需要告警,此时,屏幕显示为空,此时客户端可向服务器发送清除告警指示,以指示服务器清除上次上报的告警。为了避免告警振荡,可以设置同一个测量对象的告警内容达到预定显示次凄t时,才生成Trap包。304、将Trap包加入告警队列中。305、如果上述配置项中配置了执行文件ActionFile,则在产生告警时,也会调用对应的ActionFile脚本,以执4亍删除临时文件等动作。后续服务器接收到Trap包后,根据特定OID,获知该Trap包与传统的Trap包不同,解析该Trap包得到告警类型、告警级别、告警类别、告警名称、告警ID、对象标识、告警时间、告警原因、告警内容、修复建议等信息,根据所得到的信息,产生告警消息,将告警消息通知网管。参阅图4,本发明实施例二提供一种客户端,包括配置文件保存单元401,用于保存配置文件,所述配置文件包括配置项;第一执行单元402,用于执行任务队列中的管理执行脚本任务,所述管理执行脚本任务包括扫描配置文件,将配置文件中新增的配置项或者发生改变的配置项所对应的执行脚本任务加载到所述任务队列中;第二执行单元403,用于执行所述任务队列中的执行脚本任务,所述执行脚本任务包括执行脚本以检测测量对象,判断针对所述测量对象是否需要告警,并在需要告警时获得告警内容,根据告警内容和所述脚本对应的配置项,生成符合协议^见定的Trap包;发送单元404,用于向服务器发送所述Trap包。其中,管理执行脚本任务还包括将配置文件中删除的配置项所对应的执行脚本任务在所述任务队列中删除。.其中,所述执行脚本任务还包括当针对所述测量对象不需要告警时,控制屏幕显示为空;所述发送单元404,还用于当针对所述测量对象已向服务器发送过告警时,向所述服务器发送清除告警指示。本发明实施例二提供的客户端通过执行任务队列中的管理执行脚本任务使用户增加新的告警脚本并相应的增加配置项时,或者用户改变原有的配置项时,客户端能够将配置文件中新增的配置项或者发生改变的配置项所对应的执行脚本任务加载到任务队列中,不用重新启动告警进程;并通过执行所门槛,使开发人员无需掌握客户端与服务器间通信的SNMP协议,而是只需要能开发告警脚本修改配置项即可。实施例三本发明实施例三提供一种告警系统,包括与服务器以可通信方式连接的客户端,所id^户端,用于在预定时间到达时,执行任务队列中的管理执行脚本任务,所述管理执行脚本任务包括扫描配置文件,将配置文件中新增的配置项或者发生改变的配置项所对应的执行脚本任务加载到所述任务队列中;执行所述任务队列中的执行脚本任务,所述执行脚本任务包括执行脚本以检测测量对象,判断针对所述测量对象是否需要告警,并在需要告警时获得告警内容,根据告警内容和所述脚本对应的配置项,生成符合协议规定的陷阱Trap包;向服务器发送所述Trap包。本发明实施例三提供的客户端在预定时间到达时,执行任务队列中的管理执行脚本任务使用户增加新的告警脚本并相应的增加配置项时,或者用户改变原有的配置项时,客户端能够将配置文件中新增的配置项或者发生改变的配置项所对应的执行脚本任务加载到任务队列中,不用重新启动告警进程;并通过执行所述任务队列中的执行脚本任务生成符合协议规定的Trap包,降低了开发告警的门槛,使开发人员无需掌握客户端与服务器间通信的SNMP协议,而是只需要能开发告警脚本修改配置项即可。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,例如只读存储器,磁盘或光盘等。以上对本发明实施例所提供的告警方法、相关设备及系统进行了详细介施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。权利要求1、一种告警方法,其特征在于,包括执行任务队列中的管理执行脚本任务,所述管理执行脚本任务包括扫描配置文件,将配置文件中新增的配置项或者发生改变的配置项所对应的执行脚本任务加载到所述任务队列中;执行所述任务队列中的执行脚本任务,所述执行脚本任务包括执行脚本以检测测量对象,判断针对所述测量对象是否需要告警,并在需要告警时获得告警内容,根据告警内容和所述脚本对应的配置项,生成符合协议规定的陷阱Trap包;向服务器发送所述Trap包。2、根据权利要求l所述的方法,其特征在于所述管理执行脚本任务还包括将配置文件中删除的配置项所对应的执行脚本任务在所述任务队列中删除。3、根据权利要求l所述的方法,其特征在于所述执行脚本任务还包括当针对所述测量对象不需要告警时,控制屏幕显示为空;该方法还包括当屏幕显示为空时,若针对所述测量对象已向服务器发送过告警,向所述服务器发送清除告警指示。4、根据权利要求1-3任一项所述的方法,其特征在于根据告警内容和所述脚本对应的配置项,生成符合协议规定的Trap包包括根据告警内容和所述脚本对应的配置项,生成所述Trap包中的VB格式的告警ID、对象标识和告警内容。5、根据权利要求4所述的方法,其特征在于所述Trap包还包括VB格式的标识告警的告警类别、标识为设备告警的告警类型、告警级别、告警名称、告警时间、告警原因和修复建议中至少一项。6、一种客户端,其特征在于,包括配置文件保存单元,用于保存配置文件,所述配置文件包括配置项;第一执行单元,用于执行任务队列中的管理执行脚本任务,所述管理执行脚本任务包括扫描配置文件,将配置文件中新增的配置项或者发生改变的配置项所对应的执行脚本任务加载到所述任务队列中;第二执行单元,用于执行所述任务队列中的执行脚本任务,所述执行脚本任务包括执行脚本以检测测量对象,判断针对所述测量对象是否需要告警,并在需要告警时获得告警内容,根据告警内容和所,P本对应的配置项,生成符合协议规定的Trap包;发送单元,用于向服务器发送所述Trap包。7、根据权利要求6所述的客户端,其特征在于,包括所述管理执行脚本任务还包括将配置文件中删除的配置项所对应的执行脚本任务在所述任务队列中删除。8、根据权利要求6或者7所述的客户端,其特征在于所述执行脚本任务还包括当针对所述测量对象不需要告警时,控制屏幕显示为空;所述发送单元,还用于当屏幕显示为空时,若针对所述测量对象已向服务器发送过告警,向所述服务器发送清除告警指示。9、根据权利要求6所述的客户端,其特征在于所述Trap包包括根据告警内容和所述脚本对应的配置项生成的VB格式的告警ID、对象标识和告警内容。10、一种告警系统,其特征在于,包括与服务器以可通信方式连接的客户端,所述客户端,用于执行任务队列中的管理执行脚本任务,所述管理执行脚本任务包括扫描配置文件,将配置文件中新增的配置项或者发生改变的配置项所对应的执行脚本任务加载到所述任务队列中;执行所述任务队列中的执行脚本任务,所述执行脚本任务包括执行脚本以检测测量对象,判断针对所述测量对象是否需要告警,并在需要告警时获得告警内容,根据告警内容和所述脚本对应的配置项,生成符合协议规定的陷阱Trap包;向服务器发送所述Trap包。全文摘要本发明实施例提供一种告警方法、相关设备及系统,其中,告警方法包括执行任务队列中的管理执行脚本任务,所述管理执行脚本任务包括扫描配置文件,将配置文件中新增的配置项或者发生改变的配置项所对应的执行脚本任务加载到所述任务队列中;执行所述任务队列中的执行脚本任务,所述执行脚本任务包括执行脚本以检测测量对象,判断针对所述测量对象是否需要告警,并在需要告警时获得告警内容,根据告警内容和所述脚本对应的配置项,生成符合协议规定的陷阱Trap包;向服务器发送所述Trap包。通过提供全栈式的告警框架,降低开发告警的难度。文档编号H04L12/24GK101527660SQ200910130038公开日2009年9月9日申请日期2009年4月3日优先权日2009年4月3日发明者涛刘申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1