一种应用服务器的监控方法

文档序号:6445014阅读:158来源:国知局
专利名称:一种应用服务器的监控方法
技术领域
本发明涉及计算机技术领域,特别涉及一种应用服务器的监控方法。
背景技术
在运行应用服务的应用服务器端开发领域,性能计数器是反映一个应用服务运行状况的关键指标。目前已存在一些操作系统相关的系统资源计数器,例如,在windows平台下,有perfmon程序可以用于监控系统的关键资源,而应用程序也能够对扩展perfmon的类型并进行记录,并且通过perfmon工具查看实时数据,或者存储,Iinux最新版本的内核也对性能计数器进行了支持。但是上述操作系统相关的系统资源计数器对业务层面的计数需求较难满足。例如1.系统资源计数器记录的数据往往是几条,对几千条的业务数据很难做到监控和展示;2.计数器的类型局限于几种类型(数字,频率,平均值,命中率)等,且不能记录文字等的信息,扩展起来较为困难;3.系统资源计数器的功能更多的关注在实时监控上,对大规模数据日常业务数据的记录操作并不友好。可见,现有的应用服务器监控方案,在业务类数据的记录与监控方面还存在很大的欠缺。

发明内容
基于以上的考虑,本发明提供了一种应用服务器的监控方法,该方法能够更好的支持应用服务器中的业务类数据的记录与监控。为达到上述目的,本发明的技术方案是这样实现的本发明公开了一种应用服务器的监控方法,该方法包括设计程序内嵌计数器,在应用服务器中的应用进程中嵌入所设计的程序内嵌计数器;应用服务器中的应用进程获取监控策略,根据所获取的监控策略对程序内嵌计数器进行监控。在上述方法中,所述设计程序内嵌计数器包括生成程序内嵌计数器包括多个名字唯一的类别;定义程序内嵌计数器包括的每个类别,其中每个类别包括多个固定的列和多个名字唯一的实例。在上述方法中,生成程序内嵌计数器中的一个类别包括确定该类别的名字,设置该类别的输出列、该类别的一组原子计数器和原子计数器的操作方法、该类别的快照的数据以及该类别的根据快照数据计算输出实例的方法。在上述方法中,定义程序内嵌计数器中的一个类别还包括
设置该类别的输出实例的汇总方法。在上述方法中,生成程序内嵌计数器中的一个实现命中率计算的类别包括确定该类别的唯一名字;设置该类别的输出列为每秒访问次数,命中率;设置该类别的两个计数器,其中第一原子计数器在命中时加1,第二原子计数器在未命中时加1 ;设置该类别的快照的数据为生成快照时刻的第一原子计数器的计数值、第二原子计数器的计数值、系统时间;设置该类别的根据快照数据计算输出实例的方法为根据两次快照的数据计算总访问次数、命中次数和两次快照的间隔时间,然后根据总访问次数和两次快照的间隔时间的比值获得每秒访问次数,根据命中次数和总访问次数的比值获得命中率;设置该类别的输出实例的汇总方法为对各实例的总访问次数进行求和得到汇总后的总访问次数,对各实例的命中次数进行求和得到汇总后的命中次数,汇总后的两次快照时间间隔等于实例的两次快照时间间隔,各实例的两次快照时间间隔相等。在上述方法中,所述第一原子计数器在命中时加1,第二原子计数器在未命中时加 1包括应用进程中的业务应用根据类别名查找到该实现命中率计算的类别,并根据实例名查找到该实现命中率计算的类别的相应实例,在业务命中时将相应实例中的第一原子计数器加1,在业务未命中时将相应实例中的第二原子计数器加1。在上述方法中,生成程序内嵌计数器中的一个实现在线事务统计的类别包括确定该类别的唯一名字;设置该类别的输出列为每秒访问次数,并发数,平均响应时间,出错误率,最近错误;设置该类别的四个整数型原子计数器,第一原子计数器、第二原子计数器、第三原子计数器和第四原子计数器,以及一个字符串类型变量;其中,业务代码在事务启动时将第一原子计数器加一,并启动一个计时器开始计算时长;业务代码在事务结束时将计时器的耗时值取出,进行如下计算a)成功的事务,将第二原子计数器加一,将第四原子计数器加所述的耗时值;b)失败的事务,将第三原子计数器加一,将第四原子计数器加所述的耗时值,并将所述字符串类型变量设置为失败信息;设置该类别的快照的数据为生成快照时刻的第一原子计数器的计数值、第二原子计数器的计数值,第三原子计数器的计数值、第四原子计数器的计数值、字符串类型变量值以及系统时间;设置该类别的根据快照数据计算输出实例的方法如下根据两次快照的数据计算成功次数、失败次数、事务启动次数、两次快照的间隔时间和事务的总耗时;根据事务启动次数和两次快照的间隔时间的比值获得每秒访问时间;从事务启动次数减去成功次数和失败次数,得到并发数;根据事务的总耗时以及成功次数与失败次数的和之间的比值,获得平均响应时间;根据失败次数以及成功次数与失败次数的和之间的比值,获得出错误率;将最后一次快照中的字符串类型变量的值作为最近错误。上述方法还包括应用服务器中的守护进程获取监控策略,根据所获取的监控策略对系统资源计数器进行监控;监控的指标包括CPU指标、内存指标、磁盘指标、网卡流量指标和/或MySQL 指标。在上述方法中,一个应用服务器中部署有一个守护进程和多个应用进程;应用服务器中的守护进行和应用进程从中心服务器获取监控策略。在上述方法中,所述守护进行和应用进程从中心服务器获取监控策略包括守护进行和应用进程向中心服务器发送监控策略获取请求;中心服务器从全局监控数据库获取对应的监控策略返回给守护进行和应用进程。上述方法进一步包括应用服务器中的守护进程和应用进程,根据所获取的监控策略进行监控,并将监控结果数据保存到本机日志数据库中,以及根据监控策略将相应的监控结果数据通过中心服务器上传到全局监控数据库中,并在获取到的数据超过阀值时附加报警标记;监控服务器展示全局监控数据库中的监控结果数据,并提示报警。由上述可见,本发明实施例中设计程序内嵌计数器,在应用服务器中的应用进程中嵌入所设计的程序内嵌计数器,应用服务器中的应用进程获取监控策略,根据所获取的监控策略对程序内嵌计数器进行监控的技术方案,由于在运行应用服务的应用进程中嵌入了程序内嵌计数器,因此能够方便地实现对大规模数据的日常记录和操作,并且主动设计程序内嵌计数器,因此可以根据实际情况设计不同类型的程序内嵌计数器,能够更好的支持业务类数据的记录与监控。


图1是本发明实施例中的程序内嵌计数器的实现方式示意图;图2是本发明实施例中的监控系统的示意图。
具体实施例方式在本发明中,设计了程序内嵌计数器,在应用服务器中的应用进程中嵌入所设计程序内嵌计数器;应用服务器中的应用进程根据所获取的监控策略对程序内嵌计数器进行监控,进而实现对应用服务器的监控。为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本发明设计了应用进程内的程序内嵌计数器,使其能够更好的支持业务类数据的记录与监控。这里,应用进程是部署在应用服务器上的运行应用服务的进程。图1是本发明实施例中的程序内嵌计数器的实现方式示意图。参见图1,业务代码会将相关的计数输出到内嵌计数器中,而客户端代理会在启动时刻,通过中心服务器获取计数器的采集策略,并且定时进行程序内嵌计数器的数据采集工作,上传到中心服务器,或记录到本机日志数据库中,并根据阀值进行告警。
设计程序内嵌计数器具体包括设计程序内嵌计数器包括多个名字唯一的类别; 生成程序内嵌计数器包括的每个类别,其中每个类别包括多个固定的列和多个名字唯一的实例。具体来说,在本发明中,程序内嵌计数器的数据结构如下-程序内嵌计数器中包括多个名字唯一的类别(Category);-每个类别中可以包括多个固定的列;-每个类别中包括多个名字唯一的实例(instance),也可以理解为行。根据以上的定义,一个定义好的程序内嵌计数器的输出如表1所示=Category :"rpc-client"
权利要求
1.一种应用服务器的监控方法,其特征在于,该方法包括设计程序内嵌计数器,在应用服务器中的应用进程中嵌入所设计的程序内嵌计数器;应用服务器中的应用进程获取监控策略,根据所获取的监控策略对程序内嵌计数器进行监控。
2.根据权利要求1所述的方法,其特征在于,所述设计程序内嵌计数器包括设计程序内嵌计数器包括多个名字唯一的类别;生成程序内嵌计数器包括的每个类别,其中每个类别包括多个固定的列和多个名字唯一的实例。
3.根据权利要求2所述的方法,其特征在于,生成程序内嵌计数器中的一个类别包括确定该类别的名字,设置该类别的输出列、该类别的一组原子计数器和原子计数器的操作方法、该类别的快照的数据以及该类别的根据快照数据计算输出实例的方法。
4.根据权利要求3所述的方法,其特征在与,生成程序内嵌计数器中的一个类别还包括设置该类别的输出实例的汇总方法。
5.根据权利要求3所述的方法,其特征在于,生成程序内嵌计数器中的一个实现命中率计算的类别包括确定该类别的唯一名字;设置该类别的输出列为每秒访问次数,命中率;设置该类别的两个计数器,其中第一原子计数器在命中时加1,第二原子计数器在未命中时加1 ;设置该类别的快照的数据为生成快照时刻的第一原子计数器的计数值、第二原子计数器的计数值、系统时间;设置该类别的根据快照数据计算输出实例的方法为根据两次快照的数据计算总访问次数、命中次数和两次快照的间隔时间,然后根据总访问次数和两次快照的间隔时间的比值获得每秒访问次数,根据命中次数和总访问次数的比值获得命中率;其中,所述第一原子计数器在命中时加1,第二原子计数器在未命中时加1包括应用进程中的业务应用根据类别名查找到该实现命中率计算的类别,并根据实例名查找到该实现命中率计算的类别的相应实例,在业务命中时将相应实例中的第一原子计数器加1,在业务未命中时将相应实例中的第二原子计数器加1。
6.根据权利要求3所述的方法,其特征在于,生成程序内嵌计数器中的一个实现在线事务统计的类别包括确定该类别的唯一名字;设置该类别的输出列为每秒访问次数,并发数,平均响应时间,出错误率,最近错误;设置该类别的四个整数型原子计数器,第一原子计数器、第二原子计数器、第三原子计数器和第四原子计数器,以及一个字符串类型变量;其中,业务代码在事务启动时将第一原子计数器加一,并启动一个计时器开始计算时长;业务代码在事务结束时将计时器的耗时值取出,进行如下计算a)成功的事务,将第二原子计数器加一,将第四原子计数器加所述的耗时值;b)失败的事务,将第三原子计数器加一,将第四原子计数器加所述的耗时值,并将所述字符串类型变量设置为失败信息;设置该类别的快照的数据为生成快照时刻的第一原子计数器的计数值、第二原子计数器的计数值,第三原子计数器的计数值、第四原子计数器的计数值、字符串类型变量值以及系统时间;设置该类别的根据快照数据计算输出实例的方法如下根据两次快照的数据计算成功次数、失败次数、事务启动次数、两次快照的间隔时间和事务的总耗时;根据事务启动次数和两次快照的间隔时间的比值获得每秒访问时间;从事务启动次数减去成功次数和失败次数,得到并发数;根据事务的总耗时以及成功次数与失败次数的和之间的比值,获得平均响应时间;根据失败次数以及成功次数与失败次数的和之间的比值,获得出错误率;将最后一次快照中的字符串类型变量的值作为最近错误。
7.根据权利要求1至6中任一项所述的方法,其特征在于,该方法还包括应用服务器中的守护进程获取监控策略,根据所获取的监控策略对系统资源计数器进行监控;监控的指标包括CPU指标、内存指标、磁盘指标、网卡流量指标和/或MySQL指标。
8.根据权利要求7所述的方法,其特征在于,一个应用服务器中部署有一个守护进程和多个应用进程;应用服务器中的守护进行和应用进程从中心服务器获取监控策略。
9.根据权利要求8所述的方法,其特征在于,所述守护进行和应用进程从中心服务器获取监控策略包括守护进行和应用进程向中心服务器发送监控策略获取请求;中心服务器从全局监控数据库获取对应的监控策略返回给守护进行和应用进程。
10.根据权利要求9所述的方法,其特征在于,该方法进一步包括应用服务器中的守护进程和应用进程,根据所获取的监控策略进行监控,并将监控结果数据保存到本机日志数据库中,以及根据监控策略将相应的监控结果数据通过中心服务器上传到全局监控数据库中,并在获取到的数据超过阀值时附加报警标记;监控服务器展示全局监控数据库中的监控结果数据,并提示报警。
全文摘要
本发明公开了一种应用服务器的监控方法。该方法包括设计程序内嵌计数器,在应用服务器中的应用进程中嵌入所设计的程序内嵌计数器;应用服务器中的应用进程获取监控策略,根据所获取的监控策略对程序内嵌计数器进行监控。本发明的技术方案能够更好的支持应用服务器中的业务类数据的记录与监控。
文档编号G06F11/34GK102567185SQ201110460680
公开日2012年7月11日 申请日期2011年12月31日 优先权日2011年12月31日
发明者高磊 申请人:北京新媒传信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1