一种Weblogic中间件性能自动监控方法及装置与流程

文档序号:11154788阅读:684来源:国知局
一种Weblogic中间件性能自动监控方法及装置与制造工艺

本发明涉及一种中间件性能自动监控的方法及装置,尤其涉及一种Weblogic中间件性能自动监控方法及装置。



背景技术:

WebLogic长期以来一直被认为是市场上最好的J2EE工具之一。目前在全球应用服务器市场上占有最大的份额,是一种主流的中间件产品。其他中间件产品例如还有国产金蝶Apusic应用服务器、IBM的Websphere,以及免费的Tomcat、Resin等。Weblogic被广泛使用于电信、金融、电力、航空、政府等各个行业,与此同时此类中间件的维护也面临越来越大的挑战,客户的核心、关键重要的系统都会运行在Weblogic中间件平台。

然而,长期以来IT运维对Weblogic中间件运维停留在人工模式,没有一套完善Weblogic自动化监控告警平台,无法实时把握Weblogic平台的运行健康情况,同时也无法做到提前故障告警提醒。一旦系统出缓慢现象,还是需要人工去检查,找出盲点来做优化。而且一旦系统出现瘫痪状态,因为没有告警通知,运维人员可能会茫然不知。对于故障问题分析,IT工程师需要人工登录服务器去收集相关配置和日志信息,即使是很熟练的IT工程师,也得消耗半小时甚至更长时间才能有初步诊断,而对于不熟悉环境的IT工程师,消耗时间将会更长。对客户来说,这样的处理效率无疑是一场灾难,会给IT维护带来大量投诉。

对于大型的应用系统,至少有几十个业务功能模块,并且这些业务功能模块有可能部署到不同的Weblogic主机上,一旦业务性能出现问题,矛头指向的是中间件性能。对于现有技术缺乏提前预防措施和问题精确定位分析,主要有以下四种情况:

1、用户报障:当业务已经受到影响时,用户报障过来,第一时间无法判断是中间件、服务器主机、网络和数据库等性能导致业务缓慢原故,还需要花费大量人力物力来收集信息和定位分析问题。

2、人工检查:IT工程师对中间件服务巡检需要依靠人工检查,工作效率相当低,时效性不高和准确性难以保证,且不利于后期巡检记录数据分析。

3、问题及时率:当业务出现缓慢时,中间件当时是否可能存在异常,不得而知,需要人工去Web界面检查,由于系统多的情况,检查相当耗时间,无法及时发现中间件是哪个指标存在问题。对于故障定位大打折扣,同时也无法让IT工程师时刻把握中间件的健康运行状态,问题处理效果非常低。

4、故障被动处理:当中间件服务出现异常时没有一套中间件性能指标告警,IT工程师无法第一时间接收到问题报障,需要由用户发起报障过来才知晓,导致故障处理延时。

因此为了有效果的保障业务系统在Weblogic平台运行良好,提升客户的满意度,需要对业务系统建立起Weblogic中间件性能自动监控和告警,以保障业务系统正常动作,这也是现有业务发展的迫切需要。



技术实现要素:

本发明所要解决的技术问题是提供一种基于Weblogic中间件性能自动监控方法及装置,通过监控Weblogic中间件的运行情况,监控告警能提前发现中间件系统存在隐患,方便提前预防问题发生,从而提前做好优化应对措施准备,保障中间件性能稳定性,提升IT运维自动化管理。

本发明为解决上述技术问题而采用的技术方案是提供一种Weblogic中间件性能自动监控方法,包括以下步骤:预设Weblogic中间件的运行监控指标,并为每个运行监控指标设置告警阈值;实时采集监控所述Weblogic中间件的运行指标数据;当所述Weblogic中间件的运行指标数据达到预设告警阈值时,对指标数据进行告警。

优选地,所述指标数据的监控告警内容推送到短信接口平台,并以短信方式送达相应的人员。

优选地,所述Web中间件的运行指标数据包括:服务状态、JVM内存、线程池、连接池和JMS消息;所述指标数据的监控告警内容包括:管理服务/被管理服务状态告警、JVM内存使用率告警、线程队列告警、线程阻塞告警、连接池状态告警、可用连接数告警、泄露连接数告警和JMS消息阻塞告警。

优选地,所述Weblogic中间件的运行指标数据的采集过程如下:在Weblogic服务器上部署采集监控脚本,并配置cron定时任务自动调度采集监控脚本,所述监控脚本通过主程序shell脚本是用来调用weblogic自带的wlst工具去执行python编程语言写的采集监控脚本,最后可以获取weblogic运行状态监控信息;所述wlst工具与JMX Client和weblogicMBean进行通信,获取weblogic实时动态运行的指标数据,并将采集的数据以文本方式存储。

优选地,所述告警阈值分为三级:一级告警阈值,当所述Weblogic中间件服务正常,个别指标有异常,不影响业务提供服务时,预设一级告警阈值;二级告警阈值,当所述Weblogic中间件服务异常,性能随着中间件资源耗尽业务无法提供服务时,预设二级告警阈值;三级告警阈值,当所述Weblogic中间件服务严重异常,服务性能下降、资源耗尽、中间件服务瘫痪时,预设三级告警阈值。

优选地,根据采集到的所述Weblogic中间件的运行指标数据,当达到一级告警阈值或者二级告警阈值时,记录异常指标数据作为历史监控数据,用于辅助定位故障;当达到三级告警阈值时,自动收集Weblogic配置信息,并在日志目录中搜索BEA代码,Error,Notice和exception错误信息;当Weblogic出现线程阻塞、JVM内存耗尽和内存泄露告警时,自动通过weblogic.Admin命令生成thread dump,GC和内存dump文件,提供线程和内存使用明细,并回收内存资源。

本发明为解决上述技术问题还提供一种Weblogic中间件性能自动监控的装置,包括:预设模块,其用于预设Weblogic中间件的运行监控指标,并为每个运行监控指标设置告警阈值;采集模块,其用于实时采集监控所述Weblogic中间件的运行指标数据;告警模块,其用于当所述Weblogic中间件的运行指标数据达到预设告警阈值时,对指标数据进行告警。

优选地,所述Web中间件的运行指标数据包括:服务状态、JVM内存、线程池、连接池和JMS消息;所述指标数据的监控告警内容包括:管理服务/被管理服务状态告警、JVM内存使用率告警、线程队列告警、线程阻塞告警、连接池状态告警、可用连接数告警、泄露连接数告警和JMS消息阻塞告警。

优选地,所述Weblogic中间件的运行指标数据的采集过程如下:在Weblogic服务器上部署采集监控脚本,并配置cron定时任务自动调度采集监控脚本,所述监控脚本通过主程序shell脚本是用来调用weblogic自带的wlst工具去执行python编程语言写的采集监控脚本,最后可以获取weblogic运行状态监控信息;所述wlst工具与JMX Client和weblogicMBean进行通信,获取weblogic实时动态运行的指标数据,并将采集的数据以文本方式存储。

优选地,所述指标数据的监控告警内容推送到短信接口平台,并以短信方式送达相应的人员,所述告警阈值分为三级:一级告警阈值,当所述Weblogic中间件服务正常,个别指标有异常,不影响业务提供服务时,预设一级告警阈值;二级告警阈值,当所述Weblogic中间件服务异常,性能随着中间件资源耗尽业务无法提供服务时,预设二级告警阈值;三级告警阈值,当所述Weblogic中间件服务严重异常,服务性能下降、资源耗尽、中间件服务瘫痪时,预设三级告警阈值;

根据采集到的所述Weblogic中间件的运行指标数据,当达到一级告警阈值或者二级告警阈值时,记录异常指标数据作为历史监控数据,用于辅助定位故障;当达到三级告警阈值时,自动收集Weblogic配置信息,并在日志目录中搜索BEA代码,Error,Notice和exception错误信息;当Weblogic出现线程阻塞、JVM内存耗尽和内存泄露告警时,自动通过weblogic.Admin命令生成thread dump,GC和内存dump文件,提供线程和内存使用明细,并回收内存资源。

本发明提出的一种基于Weblogic中间件性能自动监控方法及装置,通过预设告警阈值,采集所述Weblogic中间件运行情况信息,当所述Weblogic中间件运行情况信息达到所述预设告警阈值时,对监控指标做告警,使得能够提前发现中间件系统存在的隐患,方便提前预防问题的发生,从而提前做好优化应对措施准备,保障中间件性能稳定,提升IT运维自动化管理。并且通过对Weblogic中间件性能指标的直接监控,帮助IT运维人员减轻人工巡检的繁琐工作,不需要花费太多时间去做巡检工作,从而提高工作效率,节省运维成本。

进一步地,通过将所述告警阈值分为三级,当达到一级告警阈值或者二级告警阈值时分析异常指标,当达到三级告警阈值时分析日志和线程,直接将故障产生的关键字日志采集出来,方便问题定位分析,大大减少了日志查找时间。

附图说明

图1是本发明实施例中的基于Weblogic中间件性能自动监控方法实现流程图;

图2是本发明实施例中的基于Weblogic中间件性能自动监控的装置模块图。

具体实施方式

本发明实施例中,通过监控Weblogic中间件的运行情况,监控告警能提前发现中间件系统存在隐患,方便提前预防问题发生,从而提前做好优化应对措施准备,保障中间件性能稳定性,提升IT运维自动化管理。

为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

图1是本发明实施例中的基于Weblogic中间件性能自动监控方法实现流程图。

如图1所示,步骤101预设Weblogic中间件的运行监控指标,并为每个运行监控指标设置告警阈值;步骤102实时采集监控所述Weblogic中间件的运行指标数据;步骤103当所述Weblogic中间件的运行指标数据达到预设告警阈值时,对指标数据进行告警。其中,Web中间件的运行指标数据包括:服务状态、JVM内存、线程池、连接池和JMS消息;所述指标数据的监控告警内容包括:管理服务/被管理服务状态告警、JVM内存使用率告警、线程队列告警、线程阻塞告警、连接池状态告警、可用连接数告警、泄露连接数告警和JMS消息阻塞告警。

在具体实施中,所述步骤102采集所述Weblogic中间件运行情况信息,针对大型业务系统,业务本身访问比较繁忙,如果频繁采集所有业务模块数据,将会干扰业务正常使用,因此本发明通过Weblogic指标数据采集工作,可以通过Weblogic自带的Wlst工具与JMX Client和WeblogicMBean来通信,获取WLS实时动态运行的指标数据,因此通过Weblogic中间件采集运行情况信息,对Weblogic服务性能不会有任何影响。所述Weblogic采集监控只需要在业务系统的其中一台Weblogic服务器上面部署,并配置Cron定时任务,定期的自动调度采集监控脚本,例如可以每隔3分钟自动采集一次,采集到的数据可以以文本方式存储。所述Wlst工具是通过主程序Shell脚本来调用,通过Wlst执行Python采集脚本,将采集到两份数据,一份数据用于历史数据监控分析,用于发生故障之后了解发生故障之前的性能情况,另一份数据用于告警分析。

其中,WebLogicMBean主要具有以下三种类型的MBeans:

a)Adminserver MBeans,封装从Config.xml读取的整个Weblgoic domain的配置信息。

b)Configuration MBeans,每个Weblogic被管服务器一份,是Adminserver MBeans的复制,用于服务器配置自己。

c)Runtime MBeans,代表着运行时刻WebLogic Server的各种组件和子系统。

在具体实施中,Weblogic自动监控脚本会连接Weblogic MBeans来捕获以下数据:WLS管理/被管理服务器服务状态信息、WLS JVM堆内存使用信息、WLS线程池相关指标信息、WLS连接池相关指标信息、WLS JMS消息列队信息。

在具体实施中,所述对监控指标做告警,包括将所述指标数据的监控告警内容推送到短信接口平台,并以短信方式送达相应的人员。

在具体实施中,所述告警阈值分为三级:一级告警阈值,当所述Weblogic中间件服务正常,个别指标有异常,不影响业务提供服务时,预设一级告警阈值;二级告警阈值,当所述Weblogic中间件服务异常,性能随着中间件资源耗尽业务无法提供服务时,预设二级告警阈值;三级告警阈值,当所述Weblogic中间件服务严重异常,服务性能下降、资源耗尽、中间件服务瘫痪时,预设三级告警阈值。

在具体实施中,所述告警阈值的级别按照以下表格中的参数进行划分:

在具体实施中,根据告警的级别,将相应的告警信息推送给短信接口平台,然后短信平台根据告警的级别下发手机短信给相应的部门。

在具体实施中,根据采集到的所述Weblogic中间件运行情况信息,当达到一级告警阈值或者二级告警阈值时分析异常指标,当达到三级告警阈值时分析日志和线程。

在具体实施中,当系统产生故障时IT运维人员可以借助监控到的历史监控数据来做辅助定位分析,这份历史监控数据也能让IT运维人员了解故障前后Weblogic中间件各指标的性能情况,降低IT运维人员分析问题的难度,最终可以通过数据做出相应判断。当系统出现一级告警或者二级告警时,系统会对历史监控数据做出简单分析,给出对应告警指标简单的优化建议。

进一步地,当Weblogic服务产生异常时,发出三级告警后,系统基本上无法提供服务。分析脚本会自动收集Weblogic配置信息,以及在日志目录中搜索BEA代码,Error,Notice,exception等日志相关的错误信息。当IT运维人员介入分析的时候,不需要人工花费很多时间去收集相关的日志,只需要在日志采集目录下获取文件来分析。对于不熟悉故障环境的IT运维人员来说非常方便,节省了大量收集信息的时候,从而为故障的快速处理赢得了时间,让IT运维人员重点只关注问题分析。

进一步地,当Weblogic出现线程阻塞、JVM内存耗尽和内存泄露等类似告警,会自动通过Weblogic.Admin命令生成Thread dump,GC和内存Dump文件。借助IBM HA,JCA,GA,Mat等性能分析工具,用于分析线程和内存使用,GC资源回收等情况。

本发明实施例中,通过预设告警阈值,采集所述Weblogic中间件运行情况信息,当所述Weblogic中间件运行情况信息达到所述预设告警阈值时,对监控指标做告警,使得能够提前发现中间件系统存在的隐患,方便提前预防问题的发生,从而提前做好优化应对措施准备,保障中间件性能稳定,提升IT运维自动化管理。并且通过对Weblogic中间件性能指标的直接监控,帮助IT运维人员减轻人工巡检的繁琐工作,不需要花费太多时间去做巡检工作,从而提高工作效率,节省运维成本。

进一步地,通过将所述告警阈值分为三级,当达到一级告警阈值或者二级告警阈值时分析异常指标,当达到三级告警阈值时分析日志和线程,直接将故障产生的关键字日志采集出来,方便问题定位分析,大大减少了日志查找时间。

图2是本发明实施例中的基于Weblogic中间件性能自动监控的装置模块图。

本发明为解决上述技术问题还提供一种Weblogic中间件性能自动监控的装置,包括:预设模块201,其用于预设Weblogic中间件的运行监控指标,并为每个运行监控指标设置告警阈值;采集模块202,其用于实时采集监控所述Weblogic中间件的运行指标数据;告警模块203,其用于当所述Weblogic中间件的运行指标数据达到预设告警阈值时,对指标数据进行告警。

其中,Web中间件的运行指标数据包括:服务状态、JVM内存、线程池、连接池和JMS消息;所述指标数据的监控告警内容包括:管理服务/被管理服务状态告警、JVM内存使用率告警、线程队列告警、线程阻塞告警、连接池状态告警、可用连接数告警、泄露连接数告警和JMS消息阻塞告警。

在具体实施中,Weblogic中间件的运行指标数据的采集过程如下:在Weblogic服务器上部署采集监控脚本,并配置cron定时任务自动调度采集监控脚本,所述采集监控脚本通过主程序shell脚本调用Weblogic自带的wlst工具,通过WLST执行python采集脚本,所述wlst工具与JMX Client和weblogicMBean进行通信,获取WLS实时动态运行的指标数据,并将采集的数据以文本方式存储。

在具体实施中,指标数据的监控告警内容推送到短信接口平台,并以短信方式送达相应的人员,所述告警阈值分为三级:一级告警阈值,当所述Weblogic中间件服务正常,个别指标有异常,不影响业务提供服务时,预设一级告警阈值;二级告警阈值,当所述Weblogic中间件服务异常,性能随着中间件资源耗尽业务无法提供服务时,预设二级告警阈值;三级告警阈值,当所述Weblogic中间件服务严重异常,服务性能下降、资源耗尽、中间件服务瘫痪时,预设三级告警阈值;

根据采集到的所述Weblogic中间件的运行指标数据,当达到一级告警阈值或者二级告警阈值时,记录异常指标数据作为历史监控数据,用于辅助定位故障;当达到三级告警阈值时,自动收集Weblogic配置信息,并在日志目录中搜索BEA代码,Error,Notice和exception错误信息;当Weblogic出现线程阻塞、JVM内存耗尽和内存泄露告警时,自动通过weblogic.Admin命令生成thread dump,GC和内存dump文件,提供线程和内存使用明细,并回收内存资源。

本发明实施例中,通过预设告警阈值,采集所述Weblogic中间件运行情况信息,当所述Weblogic中间件运行情况信息达到所述预设告警阈值时,对监控指标做告警,使得能够提前发现中间件系统存在的隐患,方便提前预防问题的发生,从而提前做好优化应对措施准备,保障中间件性能稳定,提升IT运维自动化管理。并且通过对Weblogic中间件性能指标的直接监控,帮助IT运维人员减轻人工巡检的繁琐工作,不需要花费太多时间去做巡检工作,从而提高工作效率,节省运维成本。

进一步地,通过将所述告警阈值分为三级,当达到一级告警阈值或者二级告警阈值时分析异常指标,当达到三级告警阈值时分析日志和线程,直接将故障产生的关键字日志采集出来,方便问题定位分析,大大减少了日志查找时间。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。

虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。

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