CN105095747B - 一种Java应用健康度评估方法及系统 - Google Patents
一种Java应用健康度评估方法及系统 Download PDFInfo
- Publication number
- CN105095747B CN105095747B CN201410150639.8A CN201410150639A CN105095747B CN 105095747 B CN105095747 B CN 105095747B CN 201410150639 A CN201410150639 A CN 201410150639A CN 105095747 B CN105095747 B CN 105095747B
- Authority
- CN
- China
- Prior art keywords
- score value
- healthy
- java application
- java
- monitor control
- 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.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种Java应用健康度评估方法及系统,以解决Java应用监控中并不能从整体上判断一个Java应用/服务的健康度,该方法包括:配置Java应用监控指标的数量值,并配置每个监控指标在不同状态下的基准分值以及每个监控指标的权重;采集在Java应用运行过程中所有监控指标的基准分值;根据所有监控指标的基准分值以及每个监控指标对应的权重执行健康分值运算以获取Java应用的健康分值。本发明能综合分析Java应用的各项监控指标,并数值方式直观的体现应用健康状态。
Description
技术领域
本发明涉及Java应用技术领域,尤其涉及一种Java应用健康度评估方法及系统。
背景技术
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,它具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
Java应用监控中各种性能/功能指标众多,包括线程死锁、jvm(Java VirtualMachine,Java虚拟机)内存使用率、异常报警等。图1是现有技术中进行Java应用监控的流程图。在图1中,监控某个java应用具体指标,需要设置该指标的异常报警阈值,比较某时间段内异常次数、总调用次数或者比较若干天相同时间段内的波动,从而判断该应用的某项指标是否合格,若不合格则向用户报警。相应步骤具体如下:
步骤S101,选择某一具体的java应用指标(例如某方法调用异常),根据业务特点或经验值预先设定该指标的监控时间间隔和该指标的报警阈值(例如总异常次数不高于5%)。
步骤S102,按照预先设定的时间间隔,记录该时间段内指标出现异常次数。
步骤S103,比较该指标在预设时间间隔内的异常次数相对于当前时间间隔内总调用次数的比率大小,或者比较该指标在预设天数内对应时段内的异常次数波动大小。
步骤S104,判断比率大小或者波动大小是否超出了预设报警阈值。若超出预设报警阈值则进入步骤S105,否则继续执行步骤S102。
步骤S105,发出报警,通知用户。
现有技术中的Java应用监控方法或系统主要具有以下缺点:
一、现有方法或系统仅对单个/多个指标本身做监控和报警,不能从整体上判断一个Java应用/服务的健康度。
二、现有方法或系统中,虽然能够针对具体某项Java应用指标绘制变化曲线,但由于不能以数值的方式直观体现应用健康度,因此无法使用曲线图表方式体现应用本身随着时间迁移的整体健康度变化情况,用户无法了解应用健康度的变化率。
三、现有方法或系统中,当应用指标发生异常时,一般以报警的方式通知用户,后续处理工作将由用户接手。因而,在发现Java应用存在健康问题后,整体自动化处理和智能自我修复能力不强。
四、现有方法或系统中,对Java应用指标的监控和分析,仅停留在单个Java应用上,无法对同类型Java应用(例如:web服务型Java应用)间的健康状态进行比较(例如:提供类似服务的Java应用,健康评分差距较大),因而无法查找或揭示出同类型Java应用本身在实现、处理以及参数配置上的差异,难以为业务的后续优化提升提供参考。
五、当前互联网公司在线业务复杂度较高,一项具体的在线服务往往包含若干个Java应用,且为同时工作的结果。现有方法或系统不能从业务链路(交易链路)的角度分析链路上下游关联Java应用的健康状况,因而不能分析和判断出该在线业务链路上的Java应用健康瓶颈和业务总体健康运行状况。
综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种Java应用健康度评估方法及系统,其能综合分析Java应用的各项监控指标,并数值方式直观的体现应用健康状态。
为了实现上述目的,本发明提供一种Java应用健康度评估方法,所述方法包括如下步骤:
配置Java应用监控指标的数量值,并配置每个监控指标在不同状态下的基准分值以及每个监控指标的权重;
采集在所述Java应用运行过程中所有监控指标的基准分值;
根据所有监控指标的基准分值以及所述每个监控指标对应的权重执行健康分值运算以获取所述Java应用的健康分值。
本发明相应提供一种Java应用健康度评估系统,所述系统包括:
配置模块,用于配置Java应用监控指标的数量值,并配置每个监控指标在不同状态下的基准分值以及每个监控指标的权重;
数据采集模块,用于采集在所述Java应用运行过程中所有监控指标的基准分值;
数据处理模块,用于根据所有监控指标的基准分值以及所述每个监控指标对应的权重执行健康分值运算以获取所述Java应用的健康分值。
本发明通过预先配置每个Java应用的监控指标个数、每个监控指标在不同状态下的基准分值以及每个监控指标的权重,在Java应用运行的过程中采集所有监控指标的基准分值,最后根据采集的监控指标的基准分值以及每个监控指标的权重计算Java应用的健康分值。从而对Java应用的各项监控指标进行综合分析,并通过健康分值的方式实现对Java应用的整体运行健康状况进行直观描述。
附图说明
图1是现有技术中进行Java应用监控的流程图;
图2是本发明一种Java应用健康度评估系统的框图;
图3是本发明一种Java应用健康度评估方法的流程图;
图4是本发明一种实施例中绘制健康状态变化趋势图的流程;
图5是本发明一种实施例中进行预处理及自我修复的流程图;
图6是本发明一种实施例中将同类型Java应用的健康分值进行比较的流程图;
图7是本发明一种实施例中分析业务链路上Java应用健康瓶颈的流程图;
图8是本发明一种是实施例中分析在线业务的健康运行状况的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如图2所示,本发明一种Java应用健康度评估系统100,包括:配置模块10、数据采集模块20、数据处理模块30、存储模块40、绘图引擎50、预处理及自我修复模块60、报警模块70、同类型Java应用比较模块80以及业务链路Java应用分析模块90。该系统可以是内置于计算机的软件单元,硬件单元或软硬件结合单元。
配置模块10,用于配置Java应用监控指标的数量值,并配置每个监控指标在不同状态下的基准分值以及每个监控指标的权重。具体的,该基准分值根据Java应用的特点进行配置,每个监控指标的权重根据其对应用服务质量的影响程度进行配置。该监控指标包括线程死锁、JVM内存使用率以及方法调用异常数等。
数据采集模块20,用于采集在Java应用运行过程中所有监控指标的基准分值。
数据处理模块30,用于根据所有监控指标的基准分值以及每个监控指标对应的权重执行健康分值运算以获取Java应用的健康分值。优选的是,数据处理模块30执行健康分值运算的公式为:
其中,T为健康分值,X(i)为单个指标项的基准分值,W(i)代表单个指标项的权重,i∈(1,N)指代单项指标。本发明通过预先配置每个Java应用的监控指标个数、每个监控指标在不同状态下的基准分值以及每个监控指标的权重,在Java运行的过程中采集所有监控指标的基准分值,最后根据采集的监控指标的基准分值以及每个监控指标的权重计算Java应用的健康分值。从而对Java应用的各项监控指标进行综合分析,并通过健康分值的方式实现对Java应用的整体运行健康状况进行直观描述。
在本发明一个实施例中,可以预先配置Java应用的监控指标数量为N,根据该Java应用的特点及每个监控指标对整体应用服务质量的影响程度,设置每个单项监控指标的基准分值X及指标权重W。基准分值X及指标权重W的设定可以在实践中进行修正,以web服务型的Java应用为例,可以选取表1中的7项代表性监控指标来衡量Java应用的健康状态,其中,每个监控指标推荐的基准分值X及指标权重W如表2所示。
表1
表2
在表2中,每个监控指标的基准分值以及权重仅为推荐经验值,在具体应用过程中可以依照Java应用特点进行相应修正。当前指标值@result的获取方式可以参考现有技术,不属于本发明保护范畴。
数据处理模块执行健康分值计算的计算公式为:
其中,T为健康分值,X(i)为单个指标项的基准分值,W(i)代表单个指标项的权重,i∈(1,N)指代所述单项指标。
一般的,为了方便报警接受者理解,可以预先定义单项指标基准分值以及健康分值在不同得分下的显示状态。具体的,单项指标状态定义如下:当单个指标得分与满分相等时,状态为“很好”;当单个指标得分大于满分的80%时,状态为“一般”;当单个指标得分大于满分的60%时,状态为“较差”;当单个指标得分小于满分的60%时,状态为“危险”。应用整体健康状态定义如下:当应用健康分值数总分大于等于70时,状态为健康;当应用健康分值总分大于等于50时,且小于70时,状态为亚健康;当应用健康分值总分小于50时,状态为不健康。
存储模块40,用于存储基准分值以及健康分值。具体的,存储模块40用于存储预先配置的每项健康指标在不同状态下的基准分值、权重,并且存储模块40还用于持久化保持数据采集模块20采集到的监控指标分值以及数据处理模块30运算得出的健康分值,方便后续历史信息的使用和查询。
绘图引擎50,绘图引擎50用于根据时间以及健康分值生成健康状态变化趋势图。具体的,配置模块10可预先配置Java应用的健康分值计算的执行时间间隔M,数据采集模块20的每间隔时间M采集所有监控指标的基准分值,数据处理模块30每间隔时间M执行一次健康分值运算,绘图引擎50则根据一个时间段内所产生的健康分值生成健康状态变化趋势图。绘图引擎50可将采集的所有监控指标的基准分值输入通用绘图软件/程序,绘制二维曲线,横轴为时间方向,纵轴为Java应用的健康分值。在现有方法或系统中,虽能针对具体的某项Java应用指标绘制单项监控指标的变化曲线,但不能体现应用本身随着时间迁移的整体健康变化情况。本发明通过数值的方式表述Java应用的健康状态,并以图表曲线的方式展现健康变化情况,从而能整体把握Java应用的健康状态。
预处理及自我修复模块60,用于当监控指标的基准分值超出报警阈值时执行预处理及自我修复。具体的,配置模块10可预先配置每个监控指标的基准分值的报警阈值,当某一监控指标的基准分值超出报警阈值时执行预处理以及自我修复。预处理及自我修复模块60包括查询单元61以及修复单元62,查询单元61用于当某一监控指标的基准分值超出报警阈值时根据当前异常/错误类型查询先验知识与规则库,修复单元62用于根据先验知识或用户预定义规则执行异常/错误修复。该先验知识与规则库可内置于存储模块40中。
预处理及自我修复模块60主要执行两个操作:预处理以及自我修复。预处理主要采取保存上下文现场的方式,包括且不限于当前堆栈信息等;自我修复主要根据内置于存储模块40中的先验知识与规则库执行异常/错误修复。
以下是一种JVM Load过高时的预处理示例:检测到JVM Load过高,超出阈值;保存上下文,dump当前JVM线程现场数据,例如:$JAVA_HOME/bin/jstack$pid>$tmp_file,某些特殊异常类型下,上下文现场数据转瞬即逝,由程序进行预处理,代替人工保存现场将更为有效和重要;打印和获取当前CPU下使用占比高的TOP3线程,例如:ps H-eo user,pid,ppid,tid,time,%cpu--sort=%cpu;获取对应线程的线程栈信息,具体可依据VM线程现场数据中的TOP3线程号获取线程栈信息;保存当前预处理信息,等待用户介入。
以下是一种Java线程异常退出时自我修复示例:检测到Java服务大量失败报警;获取当前应用线程号;检查线程工作状态,发现线程因异常已退出;尝试重启该线程;若重启服务正常,记录处理日志,不再通知用户。
报警模块70,用于当健康分值超出报警阈值时产生报警信息。具体的,配置模块10可预先配置健康分值的报警阈值,当Java应用的健康分值超出报警阈值时产生报警信息。报警模块70可通过短信、邮件等多种方式,完成对用户的报警。在本发明中,当单项监控指标超出阈值,而整体健康分值仍未超出报警阈值时,将优先从存储模块40内置的先验知识库中根据相应规则,尝试自我修复;当整体健康度超出报警阈值,系统将为用户介入进行预处理(保存上下文,获取堆栈数据等),从而达到在发现Java应用存在健康问题时的智能决策。
同类型Java应用比较模块80,用于将同类型Java应用的健康分值进行比较。在实际应用中,可获取多个同类型Java应用的健康分值,选取健康分值最高的Java应用作为比较对象,分解出比较对象的所有监控指标的指标数值,计算Java应用与比较对象的健康分值的差值百分比以及每一监控指标的差值百分比,并对比某一项监控指标的差值百分比与健康分值的差值百分比,当该项监控指标的差值百分比大于健康分值的差值百分比时,保存该项监控指标对应的上下文场景信息,获取该指标的配置信息,产生报警信息通知用户,等待用户介入。本发明通过对相同类型Java应用健康状况进行比较,能够揭示出Java应用本身在实现、处理、参数配置上的差异,为业务方的后续优化提升提供参考。
业务链路Java应用分析模块90,用于根据同一业务链路上所有Java应用的健康分值分析业务链路上下游关联Java应用的健康状态。具体的,可包括两方面的分析,一方面为分析出某项在线业务链路上的Java应用健康瓶颈,另一方面为分析业务总体健康运行状况。
在分析Java应用健康瓶颈时,可获取同一业务链路上所有Java应用的健康分值,对获取的健康分值执行均值运算以获得第一均值,将Java应用的健康分值与第一均值进行差值百分比运算;当某一Java应用的差值百分比运算结果低于一预设阈值时,产生报警信息通知用户,说明该Java应用为该在线业务链路上的Java应用健康瓶颈,待用户进行下一步处理。
在分析业务总体健康运行状况时,可记录某一时间段内的多个第一均值信息;将多个第一均值进行均值运算以获得第二均值;将第一均值与第二均值进行差值百分比运算,当第一均值与第二均值进行差值百分比运算的结果大于一预设阈值时,说明该业务总体运行状况较差,产生报警信息等待用户介入。
本发明中从业务链路(交易链路)的角度,分析链路上下游关联Java应用的健康状况,从而一定程度上分析出某项在线业务链路上的Java应用健康瓶颈和业务总体健康运行状况。
图3是本发明一种Java应用健康度评估方法的流程图,该流程通过如图1所示的系统100实现,该方法包括如下步骤:
步骤S301,配置Java应用监控指标的数量值,并配置每个监控指标在不同状态下的基准分值以及每个监控指标的权重;
步骤S302,采集在Java应用运行过程中所有监控指标的基准分值;
步骤S303,根据所有监控指标的基准分值以及每个监控指标对应的权重执行健康分值运算以获取Java应用的健康分值。在本步骤中,健康分值的运算公式为:
其中,T为健康分值,X(i)为单个指标项的基准分值,W(i)代表单个指标项的权重,i∈(1,N)指代单项指标。
图4是本发明一种实施例中绘制健康状态变化趋势图的流程图。该流程包括:
步骤S401,配置Java应用的健康分值计算的执行时间间隔M。
步骤S402,每间隔时间M执行一次健康分值运算。
步骤S403,根据时间以及健康分值绘制健康状态变化趋势图。
优选的是,本Java应用健康度评估方法还包括:当监控指标的基准分值超出报警阈值时执行预处理以及自我修复。执行自我修复的步骤包括:根据当前异常/错误类型查询先验知识与规则库;根据先验知识执行或用户预定义规则执行异常/错误修复。
优选的是,本Java应用健康度评估方法还包括:当健康分值超出报警阈值时产生报警信息。
图5是本发明一种实施例中进行预处理及自我修复的流程图。该流程包括:
步骤S501,获取监控指标分值。
步骤S501,判断该指标分值是否超出报警阈值,若是则执行步骤S503,否则回到步骤S501。
步骤S503,对于该监控指标进行预处理。预处理主要为保存上下文现场,包括且不限于当前堆栈信息等。
步骤S504,执行自我修复。
步骤S505,判断自我修复是否成功。若是则进入步骤S507,否则进入步骤S506。
步骤S506,记录当前预处理结果。然后进入步骤S507
步骤S507,判断当前是否已经分析到最后一个指标。若是则进入步骤S508,否则回到步骤S501。
步骤S508,执行健康分值运算。
步骤S509,判断健康分值是否超出阈值。若是则进入步骤S510,否则进入步骤S511。
步骤S510,发出报警信息。并进入步骤S511。
步骤S511,等候1个时间间隔M。然后回到步骤S501。
优选的是,本发明一种Java应用健康度评估方法还包括:将同类型Java应用的健康分值进行比较。图6是本发明一种实施例中将同类型Java应用的健康分值进行比较的流程图,该流程包括:
步骤S601,根据Java应用的服务特点,选取N(N>=2)个同类型Java应用。例如选取同为提供图片访问的web服务。
步骤S602,获取所有同类型Java应用中健康分值最高的应用A的分数S,分解出所有i个指标值{A1,A2,A3…Ai}。
步骤S603,计算第n个应用与应用A的差值百分比Xn=[(Sn-S)/S]×100%,分解出第n个应用对应的i个指标值。
步骤S604,计算第n个应用的第i个指标与应用A对应指标的差值百分比,Xi=[(Bi-Ai)/Ai]×100%。
步骤S605,判断是否Xi>Xn。若是则进入步骤S606,否则回到步骤S604。
步骤S606,保存指标i对应的上下文场景信息,获取该指标相应配置信息等。
步骤S607,报警通知用户,待用户介入。
步骤S608,判断是否比较到最后1个指标。若是则执行步骤S609,否则回到步骤S604。
步骤S609,判断是否比较到最后1个应用。若是则比较结束,否则回到步骤S603。
优选的是,本发明一种Java应用健康度评估方法还包括:根据同一业务链路上所有Java应用的健康分值分析业务链路上下游关联Java应用的健康状态。一方面为分析出某项在线业务链路上的Java应用健康瓶颈,另一方面为分析业务总体健康运行状况。
图7是本发明一种实施例中分析业务链路上Java应用健康瓶颈的流程图,该流程包括如下步骤:
步骤S701,根据业务特点或经验值,配置报警百分比阈值X。例如:当存在Java应用健康分值低于该链路上健康均值20%的Java应用时,向用户报警。
步骤S702,分别计算该业务链路上的i个Java应用的健康分值S(i)。
步骤S703,判断是否计算到最后一个应用,是则进入步骤S704,否则回到步骤S702。
步骤S704,分别计算i个Java应用的健康均值Sa。
步骤S705,选取其中一个Java应用的健康均值Sa。
步骤S706,判断是否(Sa-S(i))/Sa>X,若是则则该Java应用为业务健康瓶颈,已经影响业务总体健康度,进入步骤S707,否则进入步骤S708。
步骤S707,发出报警信息。
步骤S708,判断是否为最后一个Java应用,若是则结束,否则回到步骤S705。
图8是本发明一种是实施例中分析在线业务的健康运行状况的流程图,该流程包括如下步骤:
步骤S801,根据业务特点或经验值,配置业务健康报警百分比阈值X。
步骤S802,计算该业务各Java应用健康均值S,代表该业务总体健康状态。
步骤S803,获取之前N次的业务健康分值或者之前某段时间T之内的业务健康分值,计算得到平均值Sa。
步骤S804,判断是否(Sa-S)/Sa>X,若是则程序结束,说明该业务总体运行状况良好,处于健康度可接受的范围,否则进入步骤S805。
步骤S805,发出报警信息。说明该业务总体运行状况较差,处于健康度可接受的范围之外,需要立刻报警用户介入处理。
综上所述,本发明通过预先配置每个Java应用的监控指标个数、每个监控指标在不同状态下的基准分值以及每个监控指标的权重,在Java运行的过程中采集所有监控指标的基准分值,最后根据采集的监控指标的基准分值以及每个监控指标的权重计算Java应用的健康分值。从而对Java应用的各项监控指标进行综合分析,并通过健康分值的方式实现对Java应用的整体运行健康状况进行直观描述。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (15)
1.一种Java应用健康度评估方法,其特征在于,所述方法包括如下步骤:
配置Java应用监控指标的数量值,并配置每个监控指标在不同状态下的基准分值以及每个监控指标的权重;
采集在所述Java应用运行过程中所有监控指标的基准分值;
根据所有监控指标的基准分值以及所述每个监控指标对应的权重执行健康分值运算以获取所述Java应用的健康分值;
根据同一业务链路上所有Java应用的健康分值分析所述业务链路上下游关联Java应用的健康状态,其中,所述业务链路上下游关联Java应用的健康状态包括业务链路上的Java应用健康瓶颈和业务总体健康运行状况;
其中,所述业务链路上的Java应用健康瓶颈采用如下方式获得:获取同一业务链路上所有Java应用的健康分值,对获取的健康分值执行均值运算以获得第一均值,将Java应用的健康分值与第一均值进行差值百分比运算,获得所述业务链路上的Java应用健康瓶颈的评价值;
业务总体健康运行状况采用如下方式获得:获取某一时间段内的多个第一均值,将多个第一均值进行均值运算以获得第二均值,将第一均值与第二均值进行差值百分比运算,获得业务总体健康运行状况的评价值。
2.根据权利要求1所述的方法,其特征在于,执行健康分值运算以获取所述Java应用的健康分值的步骤中,健康分值的运算公式为:
其中,T为健康分值,X(i)为单个指标项的基准分值,W(i)代表单个指标项的权重,i∈(1,N)指代所述单个指标项。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
配置所述Java应用的健康分值计算的执行时间间隔M;
每间隔时间M执行一次健康分值运算;
根据时间以及所述健康分值生成健康状态变化趋势图。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述监控指标的基准分值超出报警阈值时执行预处理以及自我修复。
5.根据权利要求4所述的方法,其特征在于,所述自我修复的步骤包括:
根据当前异常/错误类型查询先验知识与规则库;
根据所述先验知识或用户预定义规则执行异常/错误修复。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述健康分值超出报警阈值时产生报警信息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将同类型Java应用的健康分值进行比较。
8.一种Java应用健康度评估系统,其特征在于,所述系统包括:
配置模块,用于配置Java应用监控指标的数量值,并配置每个监控指标在不同状态下的基准分值以及每个监控指标的权重;
数据采集模块,用于采集在所述Java应用运行过程中所有监控指标的基准分值;
数据处理模块,用于根据所有监控指标的基准分值以及所述每个监控指标对应的权重执行健康分值运算以获取所述Java应用的健康分值;
业务链路Java应用分析模块,用于根据同一业务链路上所有Java应用的健康分值分析所述业务链路上下游关联Java应用的健康状态,其中,所述业务链路上下游关联Java应用的健康状态包括业务链路上的Java应用健康瓶颈和业务总体健康运行状况;
其中,所述业务链路上的Java应用健康瓶颈采用如下方式获得:获取同一业务链路上所有Java应用的健康分值,对获取的健康分值执行均值运算以获得第一均值,将Java应用的健康分值与第一均值进行差值百分比运算,获得所述业务链路上的Java应用健康瓶颈的评价值;
业务总体健康运行状况采用如下方式获得:获取某一时间段内的多个第一均值,将多个第一均值进行均值运算以获得第二均值,将第一均值与第二均值进行差值百分比运算,获得业务总体健康运行状况的评价值。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括存储模块,用于存储所述基准分值以及所述健康分值。
10.根据权利要求8所述的系统,其特征在于,所述数据处理模块执行健康分值运算的公式为:
其中,T为健康分值,X(i)为单个指标项的基准分值,W(i)代表单个指标项的权重,i∈(1,N)指代所述单个指标项。
11.根据权利要求8所述的系统,其特征在于,所述配置模块还用于配置所述Java应用的健康分值计算的执行时间间隔M;
所述数据处理模块还用于每间隔时间M执行一次健康分值运算;
所述系统还包括绘图引擎,用于根据时间以及所述健康分值生成健康状态变化趋势图。
12.根据权利要求8所述的系统,其特征在于,所述系统还包括预处理及自我修复模块,用于当所述监控指标的基准分值超出报警阈值时执行预处理及自我修复。
13.根据权利要求12所述的系统,其特征在于,所述预处理及自我修复模块包括查询单元以及修复单元,
所述查询单元用于根据当前异常/错误类型查询先验知识与规则库;
所述修复单元用于根据所述先验知识或用户预定义规则执行异常/错误修复。
14.根据权利要求8所述的系统,其特征在于,所述系统还包括报警模块,用于当所述健康分值超出报警阈值时产生报警信息。
15.根据权利要求8所述的系统,其特征在于,所述系统还包括同类型Java应用比较模块,用于将同类型Java应用的健康分值进行比较。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410150639.8A CN105095747B (zh) | 2014-04-15 | 2014-04-15 | 一种Java应用健康度评估方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410150639.8A CN105095747B (zh) | 2014-04-15 | 2014-04-15 | 一种Java应用健康度评估方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105095747A CN105095747A (zh) | 2015-11-25 |
CN105095747B true CN105095747B (zh) | 2019-04-09 |
Family
ID=54576156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410150639.8A Active CN105095747B (zh) | 2014-04-15 | 2014-04-15 | 一种Java应用健康度评估方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105095747B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106373014A (zh) * | 2016-08-24 | 2017-02-01 | 腾讯科技(深圳)有限公司 | 一种评估应用健康度的方法及装置 |
CN106776214B (zh) * | 2016-12-12 | 2019-03-01 | 广州市申迪计算机系统有限公司 | 一种服务器健康度评估方法 |
CN108228412A (zh) * | 2016-12-15 | 2018-06-29 | 中国电子科技集团公司电子科学研究院 | 一种基于系统健康度监测系统故障及隐患的方法及装置 |
CN107943677B (zh) * | 2017-10-13 | 2021-09-17 | 东软集团股份有限公司 | 应用性能监控方法、装置、可读存储介质及电子设备 |
CN108664708A (zh) * | 2018-04-19 | 2018-10-16 | 莱诺斯科技(北京)股份有限公司 | 一种系统健康评估系统 |
CN108984376B (zh) * | 2018-05-31 | 2021-11-19 | 创新先进技术有限公司 | 一种系统异常检测方法、装置及设备 |
CN110580217B (zh) * | 2018-06-08 | 2023-05-05 | 阿里巴巴集团控股有限公司 | 软件代码健康度的检测方法、处理方法、装置及电子设备 |
CN110890972B (zh) * | 2018-09-07 | 2022-06-28 | 中国移动通信集团浙江有限公司 | 一种业务系统的健康度评估方法及装置 |
CN110008077B (zh) * | 2018-11-06 | 2023-05-02 | 创新先进技术有限公司 | 一种异常报警监控方法及装置、一种计算设备及存储介质 |
CN109766242A (zh) * | 2018-12-29 | 2019-05-17 | 云智慧(北京)科技有限公司 | 基于移动用户端的监控方法、装置、系统及存储介质 |
CN112069017A (zh) * | 2019-06-11 | 2020-12-11 | 顺丰科技有限公司 | 业务系统监控方法及装置 |
CN112200397B (zh) * | 2019-07-08 | 2023-10-27 | 中国移动通信集团湖南有限公司 | 一种业务监测预警实现方法 |
CN110865925A (zh) * | 2019-11-12 | 2020-03-06 | 拉扎斯网络科技(上海)有限公司 | 信息处理方法、装置、电子设备及计算机可读存储介质 |
CN112527611A (zh) * | 2020-09-24 | 2021-03-19 | 上海趣蕴网络科技有限公司 | 一种产品健康度评估方法及系统 |
CN113849387A (zh) * | 2021-09-28 | 2021-12-28 | 北京金山云网络技术有限公司 | 软件产品性能评估方法、装置、电子设备及存储介质 |
CN115794590B (zh) * | 2023-01-30 | 2023-10-31 | 麒麟软件有限公司 | 一种国产Linux操作系统的健康评估方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681328A (zh) * | 2007-03-16 | 2010-03-24 | 普利瓦里公司 | 网络风险的预测评估 |
CN102447570A (zh) * | 2010-09-30 | 2012-05-09 | 中国移动通信集团福建有限公司 | 一种基于健康度分析的监控装置及方法 |
CN102446135A (zh) * | 2011-12-28 | 2012-05-09 | 深圳天源迪科信息技术股份有限公司 | 软件质量的检测方法 |
CN102622510A (zh) * | 2012-01-31 | 2012-08-01 | 龚波 | 一种软件缺陷量化管理系统和方法 |
-
2014
- 2014-04-15 CN CN201410150639.8A patent/CN105095747B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681328A (zh) * | 2007-03-16 | 2010-03-24 | 普利瓦里公司 | 网络风险的预测评估 |
CN102447570A (zh) * | 2010-09-30 | 2012-05-09 | 中国移动通信集团福建有限公司 | 一种基于健康度分析的监控装置及方法 |
CN102446135A (zh) * | 2011-12-28 | 2012-05-09 | 深圳天源迪科信息技术股份有限公司 | 软件质量的检测方法 |
CN102622510A (zh) * | 2012-01-31 | 2012-08-01 | 龚波 | 一种软件缺陷量化管理系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105095747A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095747B (zh) | 一种Java应用健康度评估方法及系统 | |
CN110362612B (zh) | 由电子设备执行的异常数据检测方法、装置和电子设备 | |
CN109491850A (zh) | 一种磁盘故障预测方法及装置 | |
CN105871634B (zh) | 检测集群异常的方法及应用、管理集群的系统 | |
CN111865407B (zh) | 光通道性能劣化智能预警方法、装置、设备及存储介质 | |
CN110601900A (zh) | 一种网络故障预警方法及装置 | |
CN108984376B (zh) | 一种系统异常检测方法、装置及设备 | |
CN112633542A (zh) | 系统性能指标预测方法、装置、服务器及存储介质 | |
CN110333995A (zh) | 对工业设备运行状态进行监测的方法及装置 | |
CN105808415A (zh) | 一种基于云计算环境的业务运行状态评估方法及其装置 | |
CN111126631A (zh) | 网络健康判定方法及装置 | |
CN109088775A (zh) | 异常监控方法、装置以及服务器 | |
CN111124830A (zh) | 一种微服务的监控方法及装置 | |
CN108809734A (zh) | 网络告警根源分析方法、系统、存储介质及计算机设备 | |
CN116413604A (zh) | 一种电池参数监测方法、系统、装置及存储介质 | |
CN115441456A (zh) | 一种电网调度支持系统故障诊断方法及装置 | |
CN108696486A (zh) | 一种异常操作行为检测处理方法及装置 | |
CN107480703B (zh) | 交易故障检测方法及装置 | |
JP6052177B2 (ja) | 監視装置、監視方法およびプログラム | |
CN108989083B (zh) | 云环境下基于混合策略的故障检测性能优化方法 | |
CN109976986B (zh) | 异常设备的检测方法及装置 | |
CN109582555A (zh) | 数据异常检测方法、装置、检测系统及存储介质 | |
CN108920326A (zh) | 确定系统耗时异常的方法、装置及电子设备 | |
CN110738327B (zh) | 一种快充桩设备风险评估方法及系统 | |
CN101782763A (zh) | 统计过程控制的监控方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |