CN100409626C - 基于aop技术的大规模集群管理监控***中的报警方法 - Google Patents

基于aop技术的大规模集群管理监控***中的报警方法 Download PDF

Info

Publication number
CN100409626C
CN100409626C CNB2006101047072A CN200610104707A CN100409626C CN 100409626 C CN100409626 C CN 100409626C CN B2006101047072 A CNB2006101047072 A CN B2006101047072A CN 200610104707 A CN200610104707 A CN 200610104707A CN 100409626 C CN100409626 C CN 100409626C
Authority
CN
China
Prior art keywords
node
alarm
warning
file
supervising
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.)
Expired - Fee Related
Application number
CNB2006101047072A
Other languages
English (en)
Other versions
CN1946042A (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.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
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 Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CNB2006101047072A priority Critical patent/CN100409626C/zh
Publication of CN1946042A publication Critical patent/CN1946042A/zh
Application granted granted Critical
Publication of CN100409626C publication Critical patent/CN100409626C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了基于AOP技术的大规模集群管理监控***中的报警方法,该方法利用AOP开发工具AspectJ将报警业务逻辑写在一个独立的aspect文件中,解除报警业务逻辑与监控业务逻辑的耦合,使得两种业务逻辑的开发可独立进行,便于***开发和维护;当节点执行被aspect文件定义为切入点的监控方法时,将被aspect捕获,aspect动态***报警判断业务逻辑,实现对节点性能或健康状况的检查,若发现性能超标或者健康状况异常,则发送报警消息给管理节点。所定义的aspect可以捕获***执行监控任务时所获取的监控信息,直接利用该信息进行是否发送报警信息的判断,无需进行信息的二次采集,减少了***的运行时开销。该方法简洁、高效地实现了大规模集群管理监控***中的报警业务。

Description

基于AOP技术的大规模集群管理监控***中的报警方法
技术领域
本发明属于计算机领域,涉及集群管理监控***,特别涉及一种基于AOP(Aspect-Oriented Programming)的大规模集群管理监控***中的报警实现方法。
背景技术
集群就是通过高性能网络或局部网将一组计算机***(节点)互连,形成的具有单一***映像的高性能、高可用、高可扩展性、高性价比的多计算机***。由于其相对于传统的大型机的高可用性和低价格的优势,用集群构造超级计算机或超级服务器成为一种流行的趋势。
随着应用需求的不断扩大,集群的规模从过去的数个节点扩充到数百个节点甚至数千个节点,对集群***的管理监控也变得越来越复杂,如何保障大规模集群***高效、可靠的运行成为集群管理监控***所要解决的重要问题。报警功能是集群管理监控***的一项重要功能,具有报警功能的集群管理监控***可对集群中节点的相关性能信息和健康状况进行监控和检查,若发现某些性能指标连续超标,或者节点健康状况异常,则自动触发报警事件。报警功能能够帮助***管理员及时发现***的性能瓶颈以及***潜在的故障,它是集群***高效、可靠运行的保障。
报警功能的实现是建立在信息采集基础之上的,即***需要对各节点的性能信息和健康状况信息进行采集,根据采集到的结果判断是否触发报警事件。在大规模集群***中,若由管理节点去周期性地采集各节点的各种监控信息,一方面会为管理节点带来较大的性能开销,另一方面也会大大增加集群***的网络流量。因此,一种常用的实现方式是由节点自身去采集监控信息并将信息存储在本地,管理节点仅在需要某些信息时,才从各节点收集。
目前,存在两种较为通用的报警实现方法。一是将报警业务逻辑内嵌到监控业务逻辑中,二是不考虑监控业务,构建独立的报警业务流程,即根据报警要求对某几项监控信息进行定期收集并判断是否异常。这两种方案均存在缺点,前者将报警和监控两种不同的业务逻辑混杂在一起,带来开发和维护的困难,后者虽然分离了两种业务逻辑但带来不必要的二次信息采集,额外增加了***运行时开销。
发明内容
针对上述现有技术存在的缺陷和不足,本发明的目的在于,提供一种高效的、业务逻辑清晰的基于AOP技术的集群管理监控***中的报警方法。
为了实现上述任务,本发明采取如下的技术解决方案:
利用AOP编程工具AspectJ将报警业务逻辑写在一个独立的aspect文件中,解除报警业务逻辑与监控业务逻辑的耦合;该aspect文件将报警业务所关注的监控方法名定义为切入点(Point Cut),将报警判断业务逻辑作为方面通知逻辑(Aspect Advice Logic);
***管理员可为不同节点的不同监控业务设置或者更改报警策略,所述的报警策略设置或更改项包括:节点名列表、监控方法名、报警阈值和超越阈值最大次数;其中,节点列表项和监控方法项是选择项,即从***给出的节点列表和监控方法中选择,阈值和最大超越次数是编辑项,即需要手工输入;
配置或更改后的报警策略被发送到相关节点,节点收到报警策略后,锁定本地报警策略配置文件,***新的报警策略或者更改已有的报警策略;
***运行时,各节点的监控程序周期性地收集性能和节点健康信息,报警业务逻辑所关注的监控方法在运行时被动态捕获,监控方法的返回值也被截获。所定义的aspect文件中的advice中的报警判断业务逻辑从本地报警策略配置文件中读取阈值和最大超越次数,并与所截获到的监控信息进行比较,判断是否超过阈值,并且连续超过阈值的次数是否高于配置文件中所设定的最大超越次数,根据判断结果决定是否发送报警信息。若满足报警条件,节点将报警信息发送给管理节点,管理节点按***设定的报警方式报警。
本发明的基于AOP技术的集群管理监控***中的报警方法,分离监控业务逻辑和报警业务逻辑,解除了两种不同业务逻辑的耦合。使得两种业务逻辑的开发可独立进行,便于***的开发和维护;报警业务逻辑能够捕获***执行监控任务时所获取的监控结果,直接利用该结果进行信息检查并判断是否触发报警事件,无需进行信息的二次采集,降低了***运行时开销。各节点的报警策略被保存在本地的策略配置文件中,而不是***数据库中,避免了节点从***数据库中读取报警策略时所带来的网络性能开销。当节点执行被aspect文件定义为切入点的监控方法时,将被aspect捕获,aspect动态***报警判断业务逻辑,实现对节点性能或健康状况的检查,若发现性能超标或者健康状况异常,则发送报警消息给管理节点,由管理节点触发报警事件。该方法中,***管理员可以方便、灵活地为不同节点的不同监控业务设置或者更改报警策略;该方法简洁、高效地实现了大规模集群管理监控***中的报警业务。
具体实施方式
本发明的方法基于AOP技术利用AOP编程工具AspectJ实现大规模集群管理监控***中的报警业务逻辑的开发,将报警业务逻辑写在一个独立的aspect文件中,解除报警业务逻辑和监控业务逻辑的耦合,该文件将报警业务所关注的监控方法定义为切入点,将报警判断业务逻辑作为方面通知逻辑(Aspect Advice Logic)。通知的声明(advice declaration)形式如:
after()returning(ReturnType Identifier):MonitorMethodPointCut(){
     //报警判断业务逻辑代码段
}
上述通知表示,在捕获到切入点MonitorMethodPointCut所定义的监控方法monitorMethod()的返回值之后,执行报警判断业务逻辑,参数Identifier表示所捕获到的监控信息。这种通知声明形式,可直接捕获***执行监控任务时所返回的监控信息,并对该信息进行检查,不需要进行监控信息的二次采集,降低了***运行时开销。
***管理员可以方便、灵活地为不同节点的不同监控业务配置或者更改报警策略,配置或更改后的报警策略由管理监控***程序写入到相关节点的报警策略配置文件中,而不是写入***数据库中。这种实现方式可避免节点读取报警策略时带来的网络性能开销;
***运行监控任务时,所定义的aspect动态捕获被定义为切入点的监控方法,并获取***执行监控方法所返回的监控信息。所定义的aspect从本地报警策略文件中读取报警策略,并与捕获到的监控信息进行比较,判断是否触发报警事件。
以下为发明人给出的一种具体实施例:
1)利用AspectJ开发工具创建一个aspect文件,将所关注的监控业务的方法名定义为该文件的切入点,将监控信息的检查和是否触发报警事件的业务逻辑作为该切入点的方面通知逻辑(AspectAdvice Logic)。该文件的形式如下:
public aspect Alarm{
  //定义pointcut,该pointcut指定***中任何调用类CPUUsageGetting的方法
    getCPUUsage的连接点(joinpoint),都将被pointcut捕获。
  pointcut CpuUsagePointCut()
  :call(*cn.edu.xjtu.nhpcc.aspectj.CPUUsageGetting.getCPUUsage());
  int exceptionTimes=0;//定义连续超越报警阈值的次数
  //定义advice,该advice表示当捕获到joinpoint所返回的值后,执行括号体内
    的代码段。参数monitorInfo表示捕获到的连接点所返回的值。
  after()returning(Object monitorInfo):CpuUsagePointCut()
     {
         CPUUsageInfo info=(CPUUsageInfo)monitorInfo;
         int alarmValue=0;//定义报警阈值
         try{
            //以下代码段从报警配置文件中获取CPU利用率阈值以及连续超标次
              数阈值。
            AlarmConfigGetting configGetting=new AlarmConfigGetting();
            CPUUsageAlarmConfig config=
            configGetting.getCPUUsageAlarmConfig();
            alarmValue=config.getAlarmValue();
            maxExceptionTimes=config.getMaxExceptionTimes();
         }catch(Exception e){
             e.printStackTrace();
         }
         //判断所捕获到的CPU利用率是否超过所设定的阈值
         if(info.getUsage()>alarmValue){
            exceptionCount++;
         }else{
            exceptionCount=0;
         }
         //判断连续超过阈值的次数是否大于配置文件中所设定的阈值,如果大
         于触发报警事件
         if(exceptionTimes>=maxExceptionCount){
             AlarmTrigger trigger=new AlarmTrigger()
             trigger.cpuUsageAlarm();//触发CPU利用率连续超标报警事件
             exceptionTimes=0;//将连续超标次数变量清零。
         }
     }
}
2)***管理员为不同节点的不同监控方法配置或更改报警策略。其中,节点列表项和监控方法项是选择项,即从***给出的节点列表和监控方法中选择;阈值和最大超越次数是编辑项,即需要手工输入。
3)报警策略配置或者更改完成后,***将报警策略发送到相关节点,节点收到报警策略后,锁定报警配置文件,***新的报警策略或者更改已有的报警策略。报警策略配置文件包括:报警项、阈值和最大超越次数,其形式如下:
CPUUsage        90%  5   //CPU利用率的采样值连续5次超过90%触发报警事件
CPUTemperature  70    3   //CPU温度的采样值连续3次超过70摄氏度触发报警事件
……              ……     ……
maxCPUFanSpeed    4000  4  //CPU风扇转速采样值连续4次超过4000RPM触发报警事件
minCPUFanSpeed    1000  4  //CPU风扇转速采样值连续4次低于1000RPM触发报警事件
4)***运行时,各节点的监控程序周期性地收集性能和节点健康信息,当报警业务逻辑所关注的监控方法,即在aspect文件中被定义为pointcut的监控方法,在运行时将被动态捕获,监控方法的返回值也被截获,aspect文件中的advice中的报警判断业务逻辑从报警策略配置文件中读取阈值和最大超越次数,判断返回值是否超过阈值,并且连续超过阈值的次数是否高于配置文件中所设定最大超越次数,根据判断结果决定是否发送报警信息给管理节点。
通过上述实施例可以看出,本发明利用AOP编程工具AspectJ实现了大规模集群管理监控***中的报警业务。该方法将报警业务逻辑单独写在一个aspect文件中,解除了报警业务逻辑与监控业务逻辑的耦合,便于***的开发。当有新的报警业务需求时,不需要修改对应的监控程序,只要在aspect文件中将该监控方法定义为切入点,并编写对应的方面通知逻辑,即可方便地实现新的报警业务,使得***具有较好的可升级性和可维护性;该方法的报警业务逻辑直接捕获***运行监控任务时所返回的监控结果,对监控结果进行检查,不需要进行监控信息的二次采集,减少了管理监控***的运行时开销。该方法中,***管理员可以方便、灵活地为不同节点的不同监控业务设置或者更改报警策略,这些报警策略不是被写入***数据库中,而是被写入节点的本地报警策略配置文件中,所定义的aspect读取配置文件信息来判断是否产生报警事件,这种方式避免了aspect从数据库中读取报警策略时带来的网络性能开销;该方法简洁、高效地实现了集群管理监控***中的报警业务。

Claims (1)

1. 基于面向方面编程技术的大规模集群管理监控***中的报警方法,其特征在于,该方法包括:
利用面向方面编程工具AspectJ将报警业务逻辑写在一个独立的aspect文件中,解除报警业务逻辑与监控业务逻辑的耦合;该aspect文件将报警业务所关注的监控方法名定义为切入点,将报警判断业务逻辑作为方面通知逻辑;
***管理员可为不同节点的不同监控业务设置或者更改报警策略,所述的报警策略设置或更改项包括:节点名列表、监控方法名、报警阈值和超越阈值最大次数;其中,节点列表项和监控方法项是选择项,即从***给出的节点列表和监控方法中选择,阈值和最大超越次数是编辑项,即需要手工输入;
配置或更改后的报警策略被发送到相关节点,节点收到报警策略后,锁定本地报警策略配置文件,***新的报警策略或者更改已有的报警策略;
***运行时,各节点的监控程序周期性地收集性能和节点健康信息,当报警业务逻辑所关注的监控方法在运行时被动态捕获,监控方法的返回值也被截获;所定义的aspect文件中的advice中的报警判断业务逻辑从本地报警策略配置文件中读取阈值和最大超越次数,并与所截获到的监控信息进行比较,判断是否超过阈值,并且连续超过阈值的次数是否高于配置文件中所设定的最大超越次数,根据判断结果决定是否发送报警信息;若满足报警条件,节点将报警信息发送给管理节点,管理节点按***设定的报警方式报警。
CNB2006101047072A 2006-10-09 2006-10-09 基于aop技术的大规模集群管理监控***中的报警方法 Expired - Fee Related CN100409626C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101047072A CN100409626C (zh) 2006-10-09 2006-10-09 基于aop技术的大规模集群管理监控***中的报警方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101047072A CN100409626C (zh) 2006-10-09 2006-10-09 基于aop技术的大规模集群管理监控***中的报警方法

Publications (2)

Publication Number Publication Date
CN1946042A CN1946042A (zh) 2007-04-11
CN100409626C true CN100409626C (zh) 2008-08-06

Family

ID=38045262

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101047072A Expired - Fee Related CN100409626C (zh) 2006-10-09 2006-10-09 基于aop技术的大规模集群管理监控***中的报警方法

Country Status (1)

Country Link
CN (1) CN100409626C (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101446914B (zh) * 2007-11-26 2011-01-19 阿里巴巴集团控股有限公司 一种数据库监控方法及装置
CN101957792A (zh) * 2010-08-26 2011-01-26 武汉工程大学 一种基于契约的aop应用程序中行为冲突问题的自动检查方法
CN102509427A (zh) * 2011-11-02 2012-06-20 深圳中兴力维技术有限公司 一种告警信息获取方法、装置及动环监控***
CN103123602B (zh) * 2011-11-18 2016-04-27 阿里巴巴集团控股有限公司 基于java的异常报警监控方法及其装置
CN103186826A (zh) * 2011-12-30 2013-07-03 鼎捷软件股份有限公司 业务处理方法及装置
CN102518553B (zh) * 2012-01-05 2013-11-06 山东电力研究院 一种用于风电场群的远程实时监控***
CN106844153B (zh) * 2017-01-20 2020-02-11 北京奇虎科技有限公司 应用程序运行监控方法、装置以及终端
CN109976795B (zh) * 2019-03-01 2020-12-01 上海交通大学 一种电子凭据应用异常行为内嵌感知的方法和***
CN113138898B (zh) * 2021-04-26 2023-01-17 上海淇玥信息技术有限公司 对业务***异常进行识别预警的方法、装置和电子设备
CN114706734B (zh) * 2022-06-02 2022-09-20 支付宝(杭州)信息技术有限公司 业务应用的监控方法和监控***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345682A (ja) * 2002-05-30 2003-12-05 Hitachi Ltd ネットワーク監視方法、ネットワーク監視装置、プログラム
CN1466053A (zh) * 2002-06-10 2004-01-07 联想(北京)有限公司 机群故障定位与报警的方法与***
CN1744599A (zh) * 2005-09-27 2006-03-08 浪潮电子信息产业股份有限公司 一种基于JAAS和AspectJ的机群管理***认证和授权的方法
CN1805379A (zh) * 2006-01-05 2006-07-19 西安交通大学 一种具有弹性体系架构的集群管理监控***的构建方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345682A (ja) * 2002-05-30 2003-12-05 Hitachi Ltd ネットワーク監視方法、ネットワーク監視装置、プログラム
CN1466053A (zh) * 2002-06-10 2004-01-07 联想(北京)有限公司 机群故障定位与报警的方法与***
CN1744599A (zh) * 2005-09-27 2006-03-08 浪潮电子信息产业股份有限公司 一种基于JAAS和AspectJ的机群管理***认证和授权的方法
CN1805379A (zh) * 2006-01-05 2006-07-19 西安交通大学 一种具有弹性体系架构的集群管理监控***的构建方法

Also Published As

Publication number Publication date
CN1946042A (zh) 2007-04-11

Similar Documents

Publication Publication Date Title
CN100409626C (zh) 基于aop技术的大规模集群管理监控***中的报警方法
CN103491354B (zh) 一种***运行监控可视化平台
CN103607297B (zh) 一种计算机集群***的故障处理方法
CN102447570B (zh) 一种基于健康度分析的监控装置及方法
CN109783322A (zh) 一种企业信息***运行状态的监控分析***及其方法
CN110175451A (zh) 一种基于电力云的安全监控方法和***
CN102624554B (zh) 一种结合了设备管理和业务管理的综合网络管理方法
CN101446914B (zh) 一种数据库监控方法及装置
CN103412805A (zh) 一种it故障源诊断方法及***
CN1217265C (zh) 一种进程自动恢复方法
AU2016252639B2 (en) System and method for handling events involving computing systems and networks using fabric monitoring system
WO2016188100A1 (zh) 信息***故障场景信息收集方法及***
US10217073B2 (en) Monitoring transactions from distributed applications and using selective metrics
CN104574219A (zh) 电网业务信息***运行工况的监测预警方法及***
CN102404141A (zh) 一种告警抑制的方法及装置
CN103324565A (zh) 日志监控方法
CN107943670A (zh) 一种ups电源设备监控***
CN104065503A (zh) 一种智能交通物联网设施故障溯源判别分析方法
CN116126772A (zh) 一种应用于arm服务器的uart串口管理***及方法
CN103152219B (zh) 一种计算机网络***的事件监控***及事件监控方法
CN103823743B (zh) 软件***的监控方法和设备
CN104734895A (zh) 业务监控***及业务监控方法
CN113765717A (zh) 一种基于涉密专用计算平台的运维管理***
CN103268567B (zh) 面向制造行业管理***的高效大规模事件侦测与处理方法
CN112149975A (zh) 一种基于人工智能的apm监控***及监控方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Assignee: Shanghai bulk Steel Electronic Trading Center Co., Ltd.

Assignor: Xi'an Jiaotong University

Contract fulfillment period: 2008.9.10 to 2013.9.9 contract change

Contract record no.: 2009310000225

Denomination of invention: Warning method in large size cluster management monitor system based on AOP technology

Granted publication date: 20080806

License type: Exclusive license

Record date: 2009.9.18

LIC Patent licence contract for exploitation submitted for record

Free format text: EXCLUSIVE LICENSE; TIME LIMIT OF IMPLEMENTING CONTACT: 2008.9.10 TO 2013.9.9; CHANGE OF CONTRACT

Name of requester: SHANGHAI STEEL ELECTRONIC TRADING CENTER CO., LTD.

Effective date: 20090918

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080806

Termination date: 20131009