基于osgi的业务模块监控方法
【技术领域】
[0001]本发明属于软件监控技术领域,涉及一种业务模块监控方法,尤其涉及一种基于0SGI的业务模块监控方法。
【背景技术】
[0002]OSGi亦称做Java语言的动态模块系统,它为模块化应用的开发定义了一个基础架构。
[0003]OSGi规范和Servlet规范及EJB规范类似,该规范定义了两种对象,一是容器对外提供的服务对象,另一个是容器和您的应用程序之间必须遵守的契约,其中,服务对象是容器要实现的。您如果想要在OSGi平台上进行开发,首先,您必须要使用OSGi API来创建您的应用,然后将之部署到OSGi容器中。从开发者的角度看,OSGi具有以下优点:(1)可以在不重启容器的情况下,动态地安装、卸载、启动和停止您的应用程序中的不同模块;(2)对于您应用程序中的某一特定模块,容器可以同时运行该模块的多个版本;(3)0SGi为开发嵌入式应用、移动应用、富互联网应用(RIA)提供了非常优秀的基础架构。
[0004]JMX (Java Management Extens1ns,即 Java 管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
[0005]JMX体系结构分为以下四个层次:设备层、代理层、分布服务层、附加管理协议API。
[0006]设备层(Instrumentat1n Level):主要定义了信息模型。在JMX中,各种管理对象以管理构件的形式存在,需要管理时,向MBean服务器进行注册。该层还定义了通知机制以及一些辅助元数据类。
[0007]代理层(Agent Level):主要定义了各种服务以及通信模型。该层的核心是一个MBean服务器,所有的管理构件都需要向它注册,才能被管理。注册在MBean服务器上管理构件并不直接和远程应用程序进行通信,它们通过协议适配器和连接器进行通信。而协议适配器和连接器也以管理构件的形式向MBean服务器注册才能提供相应的服务。
[0008]分布服务层(Distributed Service Level):主要定义了能对代理层进行操作的管理接口和构件,这样管理者就可以操作代理。然而,当前的JMX规范并没有给出这一层的具体规范。
[0009]定义的API主要用来支持当前已经存在的网络管理协议,如SNMP、TMN、CIM/WBEM
坐寸。
[0010]开源监控系统OpenTSDB,用hbase存储所有的时序(无需采样)来构建一个分布式、可伸缩的时间序列数据库。它支持秒级数据采集所有metrics,支持永久存储,可以做容量规划,并很容易的接入到现有的报警系统里。OpenTSDB可以从大规模的集群(包括集群中的网络设备、操作系统、应用程序)中获取相应的metrics并进行存储、索引以及服务,从而使得这些数据更容易让人理解,如web化,图形化等。
[0011]对于运维工程师而言,OpenTSDB可以获取基础设施和服务的实时状态信息,展示集群的各种软硬件错误,性能变化以及性能瓶颈。对于管理者而言,OpenTSDB可以衡量系统的SLA,理解复杂系统间的相互作用,展示资源消耗情况。集群的整体作业情况,可以用以辅助预算和集群资源协调。对于开发者而言,OpenTSDB可以展示集群的主要性能瓶颈,经常出现的错误,从而可以着力重点解决重要问题。
【发明内容】
[0012]本发明所要解决的技术问题是:提供一种基于0SGI的业务模块监控方法,可准确定位业务方法的瓶颈,进而改进系统,促进版本升级。
[0013]如今需要一个支持模块化、分布式、大数据操作的开发平台的车联网框架。由于系统的庞大复杂,为保证系统的稳定运行和快速定位系统瓶颈,为研发和改进系统提供依据;需要对系统、平台、服务模块、服务模块业务方法进行监控数据采集和数据分析。通过本发明监控方法,可以:
[0014]定时采集操作系统层面指标:CPU使用率、内存使用率、存储使用率、网络流量等。
[0015]定时采集集群层面指标:集群规模、成员服务器有效状态等。
[0016]定时采集成员服务器JVM指标:堆使用情况、线程情况等。
[0017]定时采集业务模块指标:接口数量、接口列表等。
[0018]定时采集每个接口指标:请求次数、错误次数、合计处理时间、最大一次处理时间、平均处理时间等。
[0019]使用时间序列数据库(TSDB)保存各时间点的指标数据,形成监控大数据。
[0020]通过大数据分析工具,分析业务的忙/闲情况,各业务接口的处理情况,以及相同时间点下各依赖环境、支撑环境的指标情况,从而综合分析系统的性能瓶颈。
[0021]为解决上述技术问题,本发明采用如下技术方案:
[0022]一种基于0SGI的业务模块监控方法,所述监控方法包括如下步骤:
[0023]步骤S1、客户端请求调用ZooKeeper集群,ZooKeeper集群检查业务模块对应服务容器SP是否还在集群中,若在集群中,则返回业务模块服务容器SP的访问接口给客户端;
[0024]步骤S2、客户端调用SP组件的方法被服务容器SP的业务方法拦截器捕获,拦截器进行如下操作:将方法调用计数器做加1操作,记录开始调用时间;
[0025]步骤S3、业务方法拦截器调用0SGI容器中的SP组件方法,方法返回结果或发送异常至所述业务方法拦截器;业务方法拦截器进行如下操作:计算处理时间;如果有错误,将错误次数做加1操作;如果当前最大处理时间和前一个最大处理时间变量进行比较,若当前最大处理时间更大,则将最大处理时间修改为当前最大处理时间;
[0026]步骤S4、指标采集开始需要获取服务容器SP组件的业务方法列表;通过监控模块从业务方法拦截器获取;
[0027]监控模块是基于JMX开发的管理组件,运行在SP-Server中,用于汇总各种指标数据同时向指标采取器提供接口 ;监控模块向采集器提供:业务方法列表接口、指标获取接口、指标重置接口、业务组件控制接口 ;
[0028]步骤S5、循环每个业务方法条目,根据方法的标识发起指标获取请求,一个业务方法包含:处理次数、处理时间合计、最大一次处理事情、错误次数;
[0029]步骤S6、一次业务方法的指标采集完,调用重置接口,把上次所有指标清零;各项指标保存到时间序列数据库tsdb中后,表现为一定时间间隔的指标数值;
[0030]步骤S7、采集程序通过控制接口,向ZooKeeper集群发送脱离SP组件指令,SP组件集群后,业务调用将不会分发给SP组件集群;
[0031]步骤S8、业务指标的分析及报警步骤;
[0032]步骤S9、信息展示步骤:有配置关系的支撑数据,展示在某时间点上,包括业务方法请求数量、集群规模、JVM的线程数量、JVM堆内存大小、服务器的会话数量、服务器连接数量、CPU利用率、内存使用率、进程数量、网络带宽情况;通过综合环境参数的展示运维人员准确及时的协调资源,满足系统峰值需求;同时在系统闲时削减资源,节约运营成本;
[0033]其中,步骤S8具体包括:
[0034]步骤S81、提取各报警对象的的报警指标,包括集群本身的指标、集群各类型节点的指标、JVM的指标;
[0035]步骤S82、根据集群-服务器关系提取各集群的成员服务器;
[0036]步骤S83、循环各集群服务器,从时间序列数据库tsdb中获取各指标的值;
[0037]步骤S84、对每项指标逐一检查配置的报警阀值;
[0038]步骤S85、报警分为两种:中断性报警,tsdb中没有取出记录;指标超阀值类报警,超出了报警阀值的范围;
[0039]步骤S86、报警成员的提取:Sp集群的报警根据主机、集群、渠道提取相关的报警组成员;Hadoop、Hbase、Mysql、Zookeeper集群提取集群和主机管理员;
[0040]步骤S87、报警的重复提醒问题:如果10分钟后没有人处理继续产生同样的报警信息;
[0041]步骤S88、获取报警的邮件发送列表,发送报警邮件。
[0042]一种基于0SGI的业务模块监控方法,所述监控方法包括如下步骤:
[0043]步骤S1、客户端请求调用ZooKeeper集群,ZooKeeper集群检查业务模块对应服务容器SP是否还在集群中,若在集群中,则返回业务模块服务容器SP访问接口给客户端;
[0044]步骤S2、客户端调用SP组件的方法被服务容器SP的业务方法拦截器捕获,拦截器进行如下操作:将方法调用计数器做加1操作,记录开始调用时间;
[0045]步骤S3、业务方法拦截器调用0SGI容器中的SP组件方法,方法返回结果或发送异常至所述业务方法拦截器;
[0046]步骤S4、指标采集开始需要获取服务容器SP组件的业务方法列表;通过监控模块从业务方法拦截器获取;
[0047]步骤S5、循环每个业务方法条目,根据方法的标识发起指标获取请求,一个业务方法包含:处理次数、处理时间合计、最大一次处理事情、错误次数;
[0048]步骤S6、一次业务方法的指标采集完,调用重置接口,把上次所有指标清零;各项指标保存到时间序列数据
库tsdb中后,表现为一定时间间隔的指标数值;
[0049]步骤S7、采集程序通过控制接口,向ZooKeeper集群发送脱离SP组件指令,SP组件集群后,业务调用将不会分发给SP组件集群;
[0050]步骤S8、业务指标的分析及报警步骤。
[0051]作为本发明的一种优选方式,其中,步骤S8具体包括:
[0052]步骤S81、提取各报警对象的的报警指标,包括集群本身的指标、集群各类型节点的指标、JVM的指标;
[0053]步骤S82、根据集群-服务器关系提取各集群的成员服务器;
[0054]步骤S83、循环各集群服务器,从时间序列数据库tsdb中获取各指标的值;
[0055]步骤S84、对每项指标逐一检查配置的报警阀值;
[0056]步骤S85、报警分为两种:中断性报警,tsdb中没有取出记录;指标超阀值类报警,超出了报警阀值的范围;
[0057]步骤S86、报警成员的提取:Sp集群的报警根据主机、集群、渠道提取相关的报警组成员;Hadoop、Hbase、Mysql、Zookeeper集群提取集群和主机管理员;
[0058]步骤S87、报警的重复提醒问题:如果10分钟后没有人处理继续产生同样的报警信息;
[0059]步骤S88、获取报警的邮件发送列表,发送报警邮件。
[0060]作为本发明的一种优选方式,所述方法还包括步骤S9、信息展示步骤:有配置关系的支撑数据,展示在某时间点上,包括业务方法请求数量、集群规模、JVM的线程数量、JVM堆内存大小、服务器的会话数量、服务器连接数量、CPU利用率、内存使用率、进程数量、网络带宽情况;通过综合环境参数的展示运维人员准确及时的协调资源,满足系统峰值需求;同时在系统闲时削减资源,节约运营成本。
[0061]作为本发明的一种优选方式,所述步骤S3中,业务方法拦截器进行如下操作:计算处理时间;如果有错误,将错误次数做加1操作;如果当前最大处理时间和前一个最大处理时间变量进行比较,若当前最大处理时间更大,则将最大处理时间修改为当前最大处理时间。
[0062]作为本发明的一种优选方式,所述步骤S4中,监控模块是基于JMX开发的管理组件,运行在sp-server中,用于汇总各种指标数据同时向指标采取器提供接口 ;监控模块向采集器提供:业务方法列表接口、指标获取接口、指标重置接口、业务组件控制接口。
[0063]本发明的有益效果在于:本发明提出的基于0SGI的业务模块监控方法,系统开发人员通过本发明分析监控数据,可以准确定位业务方法的瓶颈,进而改进系统,促进版本升级。通过查阅相应的出错日志和运行时环境参数,了解故障发生的原因。修正不易发现的Bug。
【附图说明】
[0064]图1为本发明业务组件模型的示意图。
[0065]图2为本发明数据采集模型图。
[0066]图3为本发明方法业务方法指标采集的流程图。
【具体实施方式】
[0067]下面结合附图详细说明本发明的优选实施例。
[0068]实施例一
[0069]请参阅图3,本发明揭示了一种基于0SGI的业务模块监控方法,所述监控方法包括如下步骤:
[0070]【步骤S1】客户端请求调用分布式协调组件ZooKeeper集群,ZooKeeper集群检查业务模块服务容器SP是否还在集群中,若在集群中,则返回业务模块服务容器SP访问接口给客户端。如图1所示,图1为业务组件模型的示意图。
[0071]【步骤S2】客户端调用业务组件的方法被服务容器SP的业务方法拦截器捕获,拦截器进行如下操作:将方法调用计数器做加1操作,记录开始调用时间;
[0072]【步骤S3】业务方法拦截器调用0SG1-容器中的SP组件方法,方法返回结果或发送异常至所述业务方法拦截器;业务方法拦截器进行如下操作:计算处理时间;如果有错误,将错误次数做加1操作;如果当前最大处理时间和前一个最大处理时间变量进行比较,若当前最大处理时间更大,则将最大处理时间修改为当前最大处理时间;
[0073]【步骤S4】指标采集开始需要获取服务容器SP组件的业务方法列表;通过MBean监控模块从业务方法拦截器获取。如图2所示,图2揭示了数据采集的方式及过程。
[0074]MBEAN监控模块是基于JMX开发的管理组件,运行在SP-Server中,用于汇总各种指标数据同时向指标采取器提供接口 ;MBean监控模块向采集器提供:业务方法列表接口、指标获取接口、指标重置接口、业务组件控制接口。
[0075]【步骤S5】循环每个业务方法条目,根据方法的标识发起指标获取请求,一个业务方法包含:处理次数、处理时间合计、最大一次处理事情、错误次数;
[0076]【步骤S6】一次业务方法的指标采集完,调用重置接口,把上次所有指标清零;各项指标保存到时间序列数据库tsdb中后,表现为一定时间间隔的指标数值;
[0077]【步骤S7】采集程序通过控制接口,向ZooKeeper集群发送脱离SP组件指令,SP组件集群后,业务调用将不会分发给SP组件集群;
[0078]【步骤S8】业务指标的分析及报警步骤。具体包括:
[0079]步骤S81、提取各报警对象的的报警指标,包括集群本身的指标、集群各类型节点的指标、JVM的指标;
[0080]步骤S82、根据集群-服务器关系提取各集群的成员服务器;
[0081]步骤S83、循环各集群服务器,从时间序列数据库tsdb中获取各指标的值;
[0082]步骤S84、对每项指标逐一检查配置的报警阀值;
[0083]步骤S85、报警分为两种:中断性报警,tsdb中没有取出记录;指标超阀值类报警,超出了报警阀值的范围;
[0084]步骤S86、报警成员的提取:Sp集群的报警根据主机、集群、渠道提取相关的报警组成员;Hadoop、Hbase、Mysql、Zookeeper集群提取集群和主机管理员;
[0085]步骤S87、报警的重复提醒问题:如果10分钟后没有人处理继续产生同样的报警信息;
[0086]步骤S88、获取报警的邮件发送列表,发送报警邮件。
[0087]【步骤S9】信息展示步骤:有配置关系的支撑数据,展示在某时间点上,包括业务方法请求数量、集群规模、JVM的线程数量、JVM堆内存大小、服务器的会话数量、服务器连接数量、CPU利用率、内存使用率、进程数量、网络带宽情况;通过综合环境参数的展示运维人员准确及时的协调资源,满足系统峰值需求;同时在系统闲时削减资源,节约运营成本。
[0088]实施例二
[0089]业务系统的开发都是建筑在基于0SGI的应用服务平台上,开发人员只关注具体的业务实现,在系统运行过程中自动拦截方法调用,计算请求数指标;运行过程计算处理时间、错误次数等指标,调用结束判断是否为最长一次处理等指标。这些计算逻辑,对业务系统是透明的,无需显式继承、调用任何代码。
[0090]各业务系统需要的指标不尽相同,有些指标是公共的,比如请求次数、处理时间等。有些指标是业务系统独有的,比如带车机应用的业务系统中客户端掉线次数等。
[0091]系统采用0SGI的模块化思想来解决这个问题,把指标计算做成不同的Bundle插件,在各业务系统中进行插拔。满足不同业务系统采集和计算不同指标的要求。
[0092]业务方法的各项指标计算结果保存在服务器内存中,通过暴露采集API的方式提供给指标采集程序;采集程序可通过JMX、Http、SNMP的方式进行读取。
[0093]操作系统层面的指标采集采用本地运行的python脚本进行采集,数据汇集到tsdb。JVM层面的采集,通过JMX客户端远程采集,数据汇集到tsdb。服务层面的采集,通过在业务框架上开发MBEAN,暴露相关指标,采集器通过JMX客户端远程采集。支持可扩展的采集适配器,SNMP方式、Http方式等。
[0094]请参阅图3,本发明基于0SGI的业务模块监控方法具体包括如下步骤:
[0095]客户端程序(Client)通过3.1请求ZooKeeper集群,ZooKeeper集群通过3.2检查SP是否还在集群中,返回一个的服务容器SP给Client。
[0096]Client调用SP组件的方法(1.1)被服务容器SP的业务方法拦截器捕获,拦截器进行如下操作:方法调用计数器+1、记录开始调用时间
[0097]业务方法拦截器调用0SG1-容器中的SP组件方法(1.2),方法返回结果或抛出异常给拦截器(1.3)。拦截器进行如下操作:计算处理时间(process, time)、错误次数+1 (如果有错误,error, count)、替换最大处理时间(max.process)
[0098]监控MBEAN是基于JMX开发的管理组件,运行在SP-Server中,用于汇总各种指标数据同时向指标采取器提供接口。
[0099]MBean向采集器提供:业务方法列表接口、指标获取接口、指标重置接口、业务组件fe制接口。
[0100]指标采集开始需要获取SP组件的业务方法列表。MBean通过2.1向业务方法拦截器获取。
[0101]循环每个业务方法条目,根据方法的标识发起指标获取请求(2.1),一个方法包含:处理次数、处理时间合计、最大一次处理事
情、错误次数
[0102]一次业务方法的指标采集完,调用重置接口,把上次所有指标清零。各项指标保存到tsdb数据库中后,表现为一定时间间隔的指标数值。
[0103]采集程序可以通过控制接口,向ZooKe印er集群发送脱离SP组件指令,SP组件集群后,业务调用讲不会分发给它。
[0104]业务方法指标的分析和报警步骤。报警定位准确;基于配置关系和时间序列两个维度的数据,可以精确定位问题发生的位置和时间点,可以分析系统的性能瓶颈在哪些点。具体到如下几个层面:
[0105]渠道:使用业务系统的供应商或事业部;
[0106]集群:承载业务系统的集群,业务模块(SP)集群、接入服务模块(AP)集群、ZooKeeper 集群、HBase 集群、Mysql 集群等;
[0107]服务器:SP服务器(服务容器 SP)、Tomcat 服务器、HBase Master/Reg1n Server服务器、Mysql Master/Slave 服务器;
[0108]服务:基于OSGI的模块Bundle ;
[0109]业务方法:暴露给客户顶端调用的方法。
[0110]综上所述,本发明提出的基于0SGI的业务模块监控方法,系统开发人员通过本发明分析监控数据,可以准确定位业务方法的瓶颈,进而改进系统,促进版本升级。通过查阅相应的出错日志和运行时环境参数,了解故障发生的原因。修正不易发现的Bug。
[0111]这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
【主权项】
1.一种基于OSGI的业务模块监控方法,其特征在于,所述监控方法包括如下步骤:步骤S1、客户端请求调用分布式协调组件ZooKeeper集群,ZooKeeper集群检查业务模块的服务容器SP是否还在集群中,若在集群中,则返回业务模块服务容器SP的访问接口给客户端; 步骤S2、客户端调用SP组件的方法被服务容器SP的业务方法拦截器捕获,拦截器进行如下操作:将方法调用计数器做加1操作,记录开始调用时间; 步骤S3、业务方法拦截器调用0SGI容器中的SP组件方法,方法返回结果或发送异常至所述业务方法拦截器;业务方法拦截器进行如下操作:计算处理时间;如果有错误,将错误次数做加1操作;如果当前最大处理时间和前一个最大处理时间变量进行比较,若当前最大处理时间更大,则将最大处理时间修改为当前最大处理时间; 步骤S4、指标采集开始需要获取服务容器SP组件的业务方法列表;通过监控模块从业务方法拦截器获取; 监控模块是基于JMX开发的管理组件,运行在服务容器SP中,用于汇总各种指标数据同时向指标采取器提供接口 ;监控模块向采集器提供:业务方法列表接口、指标获取接口、指标重置接口、业务组件控制接口 ; 步骤S5、循环每个业务方法条目,根据方法的标识发起指标获取请求,一个业务方法包含:处理次数、处理时间合计、最大一次处理事情、错误次数; 步骤S6、一次业务方法的指标采集完,调用重置接口,把上次所有指标清零;各项指标保存到时间序列数据库tsdb中后,表现为一定时间间隔的指标数值; 步骤S7、采集程序通过控制接口,向ZooKe印er集群发送脱离服务容器SP组件指令,服务容器SP组件集群后,业务调用将不会分发给服务容器SP组件集群; 步骤S8、业务指标的分析及报警步骤; 步骤S9、信息展示步骤:有配置关系的支撑数据,展示在某时间点上,包括业务方法请求数量、集群规模、JVM的线程数量、JVM堆内存大小、服务器的会话数量、服务器连接数量、CPU利用率、内存使用率、进程数量、网络带宽情况;通过综合环境参数的展示运维人员准确及时的协调资源,满足系统峰值需求;同时在系统闲时削减资源,节约运营成本; 其中,步骤S8具体包括: 步骤S81、提取各报警对象的的报警指标,包括集群本身的指标、集群各类型节点的指标、JVM的指标; 步骤S82、根据集群-服务器关系提取各集群的成员服务器; 步骤S83、循环各集群服务器,从时间序列数据库tsdb中获取各指标的值; 步骤S84、对每项指标逐一检查配置的报警阀值; 步骤S85、报警分为两种:中断性报警,tsdb中没有取出记录;指标超阀值类报警,超出了报警阀值的范围; 步骤S86、报警成员的提取:Sp集群的报警根据主机、集群、渠道提取相关的报警组成员;Hadoop、Hbase、Mysql、Zookeeper集群提取集群和主机管理员; 步骤S87、报警的重复提醒问题:如果10分钟后没有人处理继续产生同样的报警信息; 步骤S88、获取报警的邮件发送列表,发送报警邮件。2.一种基于OSGI的业务模块监控方法,其特征在于,所述监控方法包括如下步骤: 步骤S1、客户端请求调用分布式协调组件ZooKeeper集群,ZooKeeper集群检查业务模块服务容器SP是否还在集群中,若在集群中,则返回业务模块服务容器SP访问接口给客户端; 步骤S2、客户端调用SP组件的方法被服务容器SP的业务方法拦截器捕获,拦截器进行如下操作:将方法调用计数器做加1操作,记录开始调用时间; 步骤S3、业务方法拦截器调用0SGI容器中的服务容器SP组件方法,方法返回结果或发送异常至所述业务方法拦截器; 步骤S4、指标采集开始需要获取服务容器SP组件的业务方法列表;通过监控模块从业务方法拦截器获取; 步骤S5、循环每个业务方法条目,根据方法的标识发起指标获取请求,一个业务方法包含:处理次数、处理时间合计、最大一次处理事情、错误次数; 步骤S6、一次业务方法的指标采集完,调用重置接口,把上次所有指标清零;各项指标保存到时间序列数据库tsdb中后,表现为一定时间间隔的指标数值; 步骤S7、采集程序通过控制接口,向ZooKeeper集群发送脱离SP组件指令,SP组件集群后,业务调用将不会分发给SP组件集群; 步骤S8、业务指标的分析及报警步骤。3.根据权利要求2所述的基于0SGI的业务模块监控系统,其特征在于: 其中,步骤S8具体包括: 步骤S81、提取各报警对象的的报警指标,包括集群本身的指标、集群各类型节点的指标、JVM的指标; 步骤S82、根据集群-服务器关系提取各集群的成员服务器; 步骤S83、循环各集群服务器,从时间序列数据库tsdb中获取各指标的值; 步骤S84、对每项指标逐一检查配置的报警阀值; 步骤S85、报警分为两种:中断性报警,tsdb中没有取出记录;指标超阀值类报警,超出了报警阀值的范围; 步骤S86、报警成员的提取:Sp集群的报警根据主机、集群、渠道提取相关的报警组成员;Hadoop、Hbase、Mysql、Zookeeper集群提取集群和主机管理员; 步骤S87、报警的重复提醒问题:如果10分钟后没有人处理继续产生同样的报警信息; 步骤S88、获取报警的邮件发送列表,发送报警邮件。4.根据权利要求2所述的基于0SGI的业务模块监控系统,其特征在于: 所述方法还包括步骤S9、信息展示步骤:有配置关系的支撑数据,展示在某时间点上,包括业务方法请求数量、集群规模、JVM的线程数量、JVM堆内存大小、服务器的会话数量、服务器连接数量、CPU利用率、内存使用率、进程数量、网络带宽情况;通过综合环境参数的展示运维人员准确及时的协调资源,满足系统峰值需求;同时在系统闲时削减资源,节约运营成本。5.根据权利要求2所述的基于0SGI的业务模块监控系统,其特征在于: 所述步骤S3中,业务方法拦截器进行如下操作:计算处理时间;如果有错误,将错误次数做加1操作;如果当前最大处理时间和前一个最大处理时间变量进行比较,若当前最大处理时间更大,则将最大处理时间修改为当前最大处理时间。6.根据权利要求2所述的基于OSGI的业务模块监控系统,其特征在于: 所述步骤S4中,监控模块是基于JMX开发的管理组件,运行在SP-Server中,用于汇总各种指标数据同时向指标采取器提供接口 ;监控模块向采集器提供:业务方法列表接口、指标获取接口、指标重置接口、业务组件控制接口。
【专利摘要】本发明揭示了一种基于OSGI的业务模块监控方法,包括:客户端请求调用ZooKeeper集群,ZooKeeper集群检查SP是否还在集群中,若在集群中,则返回SP服务器给客户端;客户端调用SP组件的方法被SP服务器的业务方法拦截器捕获;业务方法拦截器调用OSGI容器中的SP组件方法,方法返回结果或发送异常至所述业务方法拦截器;指标采集开始需要获取SP组件的业务方法列表;通过监控模块从业务方法拦截器获取;循环每个业务方法条目;一次业务方法的指标采集完;采集程序通过控制接口,向ZooKeeper集群发送脱离SP组件指令;业务指标的分析及报警步骤。本发明可以准确定位业务方法的瓶颈,进而改进系统,促进版本升级。
【IPC分类】H04L12/26, G06F11/30
【公开号】CN105490864
【申请号】CN201410472655
【发明人】欧阳亚, 袁兴海
【申请人】钛马信息网络技术有限公司
【公开日】2016年4月13日
【申请日】2014年9月16日