CN100465919C - 应用服务器的健康监视和控制的技术 - Google Patents
应用服务器的健康监视和控制的技术 Download PDFInfo
- Publication number
- CN100465919C CN100465919C CNB200580029022XA CN200580029022A CN100465919C CN 100465919 C CN100465919 C CN 100465919C CN B200580029022X A CNB200580029022X A CN B200580029022XA CN 200580029022 A CN200580029022 A CN 200580029022A CN 100465919 C CN100465919 C CN 100465919C
- Authority
- CN
- China
- Prior art keywords
- health
- healthy
- method described
- class
- violation
- 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
- 230000036541 health Effects 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012544 monitoring process Methods 0.000 title claims abstract description 8
- 238000006243 chemical reaction Methods 0.000 claims description 35
- 230000003862 health status Effects 0.000 claims description 22
- 238000012937 correction Methods 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 238000012797 qualification Methods 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003716 rejuvenation Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 208000024891 symptom Diseases 0.000 description 2
- 241001595898 Monophlebidae Species 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005802 health problem Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
Abstract
本发明提供了用于改善应用服务器性能和可用性的技术。在一个方面中,监视一个或多个应用服务器的健康的方法包括以下步骤。指定一个或多个健康类,所述一个或多个健康类中的每个类定义了所述一个或多个应用服务器的一个或多个健康策略。监视所述一个或多个健康策略中的至少一个健康策略。如果对所述一个或多个健康策略的违反存在,则检测所述违反。
Description
技术领域
本发明涉及改善应用服务器性能和可用性,更具体地说,涉及监视应用服务器的健康的技术。
背景技术
应用服务器环境易于出现各种问题,例如,由托管应用的低效率设计导致的故障。典型的问题包括存储器泄露、死锁、不一致状态和用户错误。这些缺点对应用的近期性能和/或可用性具有负面影响。在大多数情形中,这些状况可以由人工管理员通过合适的装置来检测,所述管理员依次决定纠正问题的最佳操作。
每种状况都需要特定的纠正操作,其范围从非侵入的软件重新配置到诸如重新启动应用服务器及其托管应用之类的更强烈的技术。后者也称为“软件复原”,并且通常用来修复包括存储器泄露和死锁的许多软件问题。例如,参见Y.Huang等人的Software Rejuvenation:Analysis,Module andApplication(软件复原;分析、模块和应用),IEEE第二十五届国际容错计算讨论会,381-390(1995),其公开在此引入作为参考。系统可以根据指示迫近中断运行的度量来有选择地复原软件。例如,参见R.E.Harper等人的标题为“Method and System for Transparent Symptom-BasedSelective Software Rejuvenation(透明的基于症状的选择性软件复原的方法和系统)”的美国专利No.6,629,266,其公开在此引入作为参考。如果系统是群集的一部分,则所述系统可以判定其他群集成员是否可以接受由需要复原的应用服务的工作负荷。如果是,所述系统可以与群集管理器交互以在其他节点上启动应用的实例。
在诸如Windows 群集系统之类的群集系统中,为在群集上未修改地运行的应用提供了故障检测。例如,参见R.Gamache等人的Windows NTClustering Service(Windows NT群集服务),IEEE计算机学报,55-62(1998年10月),其公开在此引入作为参考。还可以提供专用群集接口层,通过所述群集接口层可以启动、停止应用并监视应用故障。例如,监视器可以包括应用请求,所述应用请求用作判定所述应用是否正确运行的探测器。
例如,在D.Dias等人的标题为“Method for Monitoring and Recoveryof Subsystems in a Distributed/Clustered System(在分布式/群集系统中监视和恢复子系统的方法)”的美国专利No.5,805,785(其公开在此引入作为参考)中,描述了一种在群集系统中检测故障并从中恢复的可扩展的基础结构。通过用户定义的监视器来检测特定子系统中的故障,以及通过用户定义的恢复程序来从检测的故障恢复,增强了使用心跳(例如,记录特定网络上离开或到来的节点)的基本故障检测。例如,在E.A.Brewer等人的Lessons from Giant-Scale Services(巨型规模服务经验,IEEE互联网计算,46-55(2001年7月/8月),其公开在此引入作为参考)中,描述了其中呈波形地进行群集中的升级使得每次只有一个节点不可用的“滚动升级”。
尽管应用服务器故障检测和复原中存在新近发展,但是仍需要用于高效和有效地监视应用服务器环境并解决其中出现的错误的改进技术。
发明内容
本发明提供了用于改善应用服务器性能和可用性的技术。在本发明的一个方面中,监视一个或多个应用服务器的健康的方法包括以下步骤。指定一个或多个健康类,所述一个或多个健康类中的每个类定义了所述一个或多个应用服务器的一个或多个健康策略。监视所述一个或多个健康策略中的至少一个健康策略。如果对所述一个或多个健康策略的违反存在,则检测所述违反。
通过参考以下详细说明和附图,可以获得对本发明的更完整的理解以及本发明的进一步的特征和优点。
附图说明
图1是示出根据本发明的实施例的用于监视应用服务器的健康的示例性系统的示意图;
图2是示出根据本发明的实施例的示例性应用服务器环境的示意图;
图3是示出根据本发明的实施例的包括应用服务器和群集的示例性计算机系统的示意图;
图4是示出根据本发明的实施例的用于定义健康策略的示例性系统的示意图;
图5是示出根据本发明的实施例的示例性健康类的示意图;
图6是示出根据本发明的实施例的示例性只检测反应的示意图;
图7是示出根据本发明的实施例的示例性受监督反应的示意图;
图8是示出根据本发明的实施例的示例性自动反应的示意图;
图9是示出根据本发明的实施例的示例性健康子系统配置的示意图;
图10是示出根据本发明的实施例的示例性健康子系统运行时操作的示意图;
图11是示出根据本发明的实施例的示例性健康传感器操作的示意图;以及
图12是示出根据本发明的实施例的用于监视一个或多个应用服务器的健康的示例性系统的示意图。
具体实施方式
图1是示出用于监视应用服务器的健康的示例性系统100的示意图。此处使用的术语“健康”表示系统的整体健康状况和性能并由应用于系统的服务器的一个或多个健康类来定义。系统100包括管理器102、策略数据库104、健康控制器106、反应管理器108、健康传感器110、用户应用112、114与116以及系统管理代理118。健康传感器110、用户应用112、114与116以及系统管理代理118包括系统100的应用服务器。在示例性实施例中,系统100包括一个或多个应用服务器,每个应用服务器都托管J2EE应用。
根据本发明的示例性实施例,将系统100配置为实现一种监视应用服务器的健康的方法,所述方法可以包括检测具体健康问题和/或对其做出反应。即,在步骤1,管理器102首先指定健康类。如将在以下详细描述的,使用基于规则的描述,给定健康类可以定义应用服务器的一个或多个健康策略。在步骤2,将指定的健康类的配置存储在例如策略数据库104中。
在步骤3,将可选的健康传感器配置为监视应用服务器的健康。即,所述健康策略指定将监视操作环境的哪些属性,将触发策略违反(例如,健康异常)的特定边界健康状况,和/或为纠正触发违反的状况而将执行的操作。因此,在步骤4,监视所述健康策略。监视健康策略首先包括例如从策略数据库104读取健康策略,如步骤5a中所示,然后,如果检测到对健康策略的违反,则启动纠正操作,如步骤5b中所示。示例性纠正操作可以包括但不限于执行应用服务器的重新启动,如步骤6中所示。
将触发健康异常的条件(触发条件),例如健康策略违反,可以是对从健康传感器110观测到的数据(例如,传感器数据)的概括属性值断言。即,触发条件可以是简单的相等从句,或备选地,是对多段传感器数据的复杂处理运算(例如在示例性实施例中,当在大约60分钟的周期内观测到约百分之十的超过阈值时,将检测到错误条件)。根据例如策略数据库104来处理传感器数据可以包括,但不限于,应用统计函数、应用对系统事件的排序(部分或全部)以及定界(包括或排除所观察的系统的各部分)的断言。
以策略说明语言表达特定系统的健康策略,然后将其传递给健康控制器,例如健康控制器106。健康控制器106负责在系统正常操作期间实现健康策略。健康控制器106将健康策略存储在策略数据库104(本地存储库)中并配置被管理系统中的适当健康传感器110以获取相关的系统数据。可以在健康策略自身中表达,或备选地可以在编译处理后从健康策略说明中自动得出配置何种健康传感器110的标识以及使用什么参数。
在系统操作期间,健康控制器106周期地从健康传感器110收集数据,执行数据的所需聚合和统计处理,并根据例如策略数据库104中存储的健康策略来验证所述数据。如果检测到健康违反,可以发出对违反的反应。所述反应将以例如维护服务的方式重新配置并调整系统100。
图2是示出示例性应用服务器环境200的示意图。应用服务器环境200包括通过网络互联208连接的节点202、204和206。根据本发明的示例性实施例,每个节点202、204和206都包含与所述节点执行的功能类型一致的应用服务器软件的副本。
应用服务器环境200包括以下示例性类型的节点。节点202包括负责为其余应用服务器环境执行管理功能的管理节点。节点204和206包括应用服务器节点。根据此处提供的教导,应用服务器环境200包括多个应用服务器节点。每个应用服务器节点可以托管一个或多个应用服务器实例。依次地,每个应用服务器实例可以托管零个或多个企业应用模块(此处也称为“应用”)。
图3是示出包括应用服务器和群集的示例性计算机系统300的示意图。即,计算机系统300包括应用服务器节点302和304。应用服务器节点302托管应用服务器实例306和308。应用服务器实例306托管应用312和314。应用服务器实例308托管应用316和318。应用服务器节点304托管应用服务器实例310。应用服务器实例310托管应用320和322。应用服务器实例308和310形成了群集324。
计算机系统300的环境允许应用服务器实例的以下分组。“单态”应用服务器实例(例如,应用服务器实例306)独立于其他应用服务器实例运行并且包含应用的单个副本。“群集式”应用服务器实例(“群集”),例如应用服务器实例308和310,在一个或多个节点上运行应用服务器实例的多个副本。群集还可以区分成静态群集和动态群集。具体地说,在动态群集中运行的应用服务器实例数是在运行时确定的并且基于观察到的对应用的需求,而对于静态群集,在配置时设置服务器数。
健康控制器(例如,如以上结合图1的描述说明的健康控制器106)负责监视应用服务器实例的健康情况。健康控制器操作有两方面,即,配置阶段和运行时阶段。在配置阶段,定义健康策略。图4是示出用于定义健康策略的示例性系统400的示意图。
即,如图4所示,管理员402使用管理员控制台404定义多个健康类406。每个健康类406都包含一组目标(例如,一个或多个健康类的成员)和将应用于所述目标的健康策略。可以动态地修改所述目标和健康策略。所述健康策略包括一个或多个将被监视的健康状况、将要采取的纠正操作以及反应模式。该信息成为策略数据库104的一部分并存储到健康控制器106中,健康控制器106依次监视相应的健康类。
图5是示出示例性健康类的示意图。即,健康类406示为包含目标502、504和506以及健康策略508、510和512,例如,分别表示健康状况、反应模式和反应。健康类的目标(例如,目标502、504和506)可以包括一个或多个单独的应用服务器(S)、群集或动态群集(DC)。当将群集或动态群集指定为目标时,健康类自动应用于所有是该群集或动态群集成员的应用服务器,包括在创建健康类之后添加到该群集或动态群集的应用服务器。健康类的目标可以包括管理域中的所有节点。在健康类的目标包括管理域中的所有节点的情况下,所述健康类将只能具有单个目标,并且所述健康类将自动应用于在创建所述健康类后添加的任何应用服务器。
健康状况是在硬件和/或软件中指示现有或预期故障的错误状态。健康状况的实例包括但不限于非常高的存储器利用率,或很高百分比的请求遇到内部服务器错误。在传统的系统中,在应用服务器环境的运行过程期间,操作员将监视系统的此类状况,并且当检测到此类状况时将采取纠正操作。本技术提供了对此类问题做出反应的完全自动的方式。
根据本发明的示例性实施例,将监视一个或多个以下健康状况,它们包括但不限于应用服务器的年龄(例如,自启动以来的时间)、执行的工作(例如,所服务的请求数)、指示迫近的资源问题的存储器利用模式,以及指示内部服务器错误(如死锁)的请求的异常长响应时间。
健康类精确地监视一个健康状况(例如,健康状况508),所述健康状况本身与一个或多个低级健康参数关联,所述参数包括但不限于存储器堆大小和请求响应时间。出于检测目的,所述健康类指定了这些低级健康参数的期望边界。将周期地评估所述低级健康参数,并且如果检测到违反,则触发所述健康状况。然后健康控制器采取所述健康类指定的纠正操作。
所述反应模式(例如,反应模式510)定义了系统在出现检测到的健康状况(例如,健康状况508)时如何反应。在此示例性实施例中,所述反应模式用于以三种可能方式之一来执行纠正操作:(1)只检测,其中在检测到状况时产生诊断消息,(2)受监督的反应,其中将带有纠正操作建议的消息发送给管理员,或者(3)自动反应,其中安排立即执行对状况的反应。
图6是示出示例性只检测反应的示意图。在图6示出的只检测反应600中,健康控制器106检测并收集一个或多个健康状况602,然后生成日志表项604。
图7是示出示例性受监督反应的示意图。在图7示出的受监督反应700中,健康控制器106检测并然后收集一个或多个健康状况602,并且健康控制器106向活动引擎(例如,活动引擎702)提交请求。活动引擎702是接收来自应用服务器环境内的可操作消息的组件,所述消息要求人工管理员的注意并提供确认接收和/或批准一个或多个纠正操作的选择。然后活动引擎702做出确认反应的请求704,例如,请求用户批准纠正操作。如果确认所述反应,则进行反应706的执行。备选地,如果未确认所述反应,则如在以上只检测反应中那样,生成日志表项604。
根据图7中示出的示例性实施例,反应限于重新启动在其上观测到错误状况的应用服务器。该过程也称为软件复原。然而,系统体系结构不只限于复原操作,还可用于作为信号发出任何种类的自动或受监督的纠正操作。
图8是示出示例性自动反应的示意图。在图8示出的自动反应800中,如以上所述的只检测和受监督反应那样,健康控制器106检测并收集一个或多个健康状况602。然后启动自动反应802。
关于健康控制器操作的运行时阶段,健康控制器(例如,以上所述的图4的健康控制器106)读取每个定义的健康类(例如,以上所述的图5的健康类406),并配置健康类的每个目标(例如,以上所述的图5的目标502、504和506)的健康子系统。所述健康子系统是负责监视所述健康类指定的健康状况的高级结构。
所述健康子系统通过向健康控制器提供简单的应用程序接口(API)来隐藏健康数据收集的低级细节,以确定是否违反了健康类的健康状况。依次地,所述健康子系统配置一个或多个低级传感器以获取必要的健康数据。
图9是示出示例性健康子系统配置的示意图。在图9中,将健康子系统900配置为实现健康类A 902和健康类B 904。
对于健康类A 902的目标,健康控制器106实例化年龄子系统906。年龄子系统906又使用期望的边界(例如,最大允许年龄)来配置年龄传感器910。类似地,健康类B 904的每个目标都需要配置存储器子系统908以检测错误的存储器利用模式。存储器子系统908又初始化存储器堆大小传感器912、堆增长率传感器914以及存储器泄露传感器916。所述传感器使用通过操作系统或应用服务器环境可用的装置不断地计算这些量,例如,存储器堆大小、堆增长率和存储器泄露。如果违反了任何一个传感器912、914和916的配置的边界状况,则存储器子系统908将建立标志,所述标志随后将触发健康类中指定的反应(例如,应用服务器重新启动)。
图10是示出示例性健康子系统运行时操作1000的示意图。具体地说,健康子系统1002周期地检查健康传感器(例如,传感器1004和1006)以查看是否违反边界健康状况。对于涉及单个传感器的状况,所述子系统可以通过对其健康传感器上触发的条件执行断言(isTriggered)来检查违反。对于涉及多个传感器的状况,对于违反发生,子系统可以需要大量传感器处于已触发状况,或者它可以轮询传感器获取数据以确定是否违反了所述状况。
一旦配置完成,每个健康传感器就独立操作,并使用应用服务器环境1008特定的通信机制周期地从目标收集健康相关的数据。根据所述健康类中指定的边界参数来检查获取的健康相关的数据。
示例性健康传感器边界健康状况包括但不限于最大允许服务器年龄(例如,最多约48小时)、执行的最大工作(例如,最多约100,000个请求)、最大堆大小(例如,最多约200兆字节)以及允许的最大响应时间(例如,对于约95%的进入请求,最多约5秒)。
图11是示出示例性健康传感器操作的示意图。在图11中,由健康传感器1102检查边界健康状况1104。如果检测到对边界健康状况的违反,则在传感器内建立标志(触发器)1106,并且收集低级健康数据1108。备选地,如果未检测到对边界健康状况的违反,则只收集低级健康数据1108。
健康控制器周期地轮询其子系统,所述子系统依次检查传感器。如果确定服务器的子系统不健康,则健康监视器启动反应。对所有配置的子系统和传感器执行该处理。
健康控制器的运行时特性尤其重要。在使用中的应用服务器环境中,配置可能经常改变。例如,可以添加和/或移除节点,从节点安装和/或移除应用服务器实例以及群集成员资格可能改变。
可以采用健康控制器内的组件(例如,拓扑管理器)通过“监听”来自选定组件的配置事件并适当反应来观察应用服务器环境。例如,当创建新的健康类时,健康控制器创建多个子系统和传感器以从类目标获取数据。当删除健康类时,健康控制器破坏相应的健康子系统并停止根据相应的目标来观察健康参数。当将新的目标添加到健康类时,为该服务器配置适当的健康子系统并将其添加到观察中的健康子系统的列表。当从健康类中移除目标时,将破坏相应的健康子系统。当目标的成员资格改变时(例如,如可适用于群集系统),将添加和/或移除适当的健康子系统。
由于健康类的目标可以是服务器或一组服务器,所以可以在服务器上创建不同级别的监视同一健康状况的多个健康类。例如,可以创建监视群集年龄的健康类A,带有如果所述年龄超过某个值Y则重新启动的指令。可以创建另一个类B,类B监视是健康类A中的群集成员的服务器的年龄,带有如果所述年龄超过某个值X则重新启动的指令。在此情况下,所述健康类冲突。健康控制器检测此类冲突并使用优先规则来确定应用哪个健康类。根据此处的教导,当为给定服务器定义了多个具有相同状况类型(例如年龄或工作)、纠正操作和反应模式的健康类时,将发生冲突。
当发生冲突时,健康控制器应用具有最窄范围的健康类。在示例性实施例中,单个服务器是最窄范围,其次是群集,然后是管理域。此外,禁止用户定义在相同范围处冲突的类。例如,根据该定义的非冲突状况集将是在违反存储器状况时发送通知的管理域健康类,以及在违反存储器状况时自动重新启动服务器的群集健康类。如果这些健康类都将自动重新启动作为反应,则它们将冲突,并且所述群集健康类将应用于群集中的服务器。
健康控制器根据支配其运行时行为的一组配置参数来操作。这些配置参数包括但不限于控制周期长度(例如,相继轮询健康子系统之间的时间间隔)、重新启动超时(例如,允许发生重新启动的最大时间;如果超过所述超时,则认为重新启动失败并且健康控制器重试所述操作)、服务器重新启动的最大次数(例如,重新启动服务器的失败尝试的最大次数,在其后将记录错误)、最小重新启动间隔(例如,重新启动服务器的相继尝试之间的最小时间,这防止了不必要地频繁重新启动),以及约束重新启动次数(例如,其间禁止重新启动的时段列表,如业务高峰时段)。
所述重新启动超时、服务器重新启动的最大次数、最小重新启动间隔和禁止重新启动时间参数控制了服务器重新启动反应的行为。然而,在群集服务器应用中,优选地始终保留至少一个运行的实例,并且在动态群集应用中,优选地始终保留用户指定的最小数目的实例。
图12是示出用于监视一个或多个应用服务器的健康的示例性系统的示意图。装置1220包括与介质1227交互的计算机系统1221。计算机系统1221包括处理器1222、网络接口1225、存储器1223、介质接口1226和可选的显示器1224。网络接口1225允许计算机系统1221连接到网络,而介质接口1226允许计算机系统1221与诸如数字多用光盘(DVD)或硬盘驱动器之类的介质1227交互。
如本领域内公知的,此处所述的方法和装置可以作为一件制品来分发,所述制品自身包括其中包含计算机可读代码装置的计算机可读介质。所述计算机可读程序代码装置可以结合诸如计算机系统1221的计算机系统来操作,以完成执行此处所述的一个或多个方法或创建装置的全部或部分步骤。例如,所述计算机可读代码被配置为通过以下步骤实现监视一个或多个应用服务器的健康的方法:监视所述一个或多个应用服务器的一个或多个健康策略中的至少一个健康策略,所述一个或多个健康策略由一个或多个指定的健康类来定义;以及如果对所述一个或多个健康策略的违反存在,则检测所述违反。所述计算机可读介质可以是可记录介质(例如软盘、硬盘驱动器、诸如DVD的光盘或存储卡)或者可以是传输介质(例如,包括光纤的网络、万维网、电缆或使用时分多路访问、码分多路访问或其他射频信道的无线信道)。可以使用任何公知或成熟的可以存储适于与计算机系统一起使用的信息的介质。所述计算机可读代码装置是任何允许计算机读取指令和数据(如磁介质上的磁性改变或光盘表面上的高度改变)的机构。
存储器1223配置处理器1222以实现此处公开的方法、步骤和功能。存储器1223可以是分布式的或本地的,并且处理器1222可以是分布式的或单独的。存储器1223可以实现为电、磁或光存储器或这些和其他类型存储设备的任意组合。此外,术语“存储器”应足够宽泛地解释为包含任何能够从由处理器1222访问的可寻址空间中的地址读取或写入到其的信息。根据该定义,可通过网络接口1225访问的网络上的信息仍在存储器1223中,因为处理器1222可以从所述网络中检索所述信息。应当注意,组成处理器1222的每个分布式处理器通常都包含它自己的可寻址存储器空间。还应注意,可以将计算机系统1221的某些部分或全部结合到专用或通用集成电路中。
可选的视频显示器1224是适于与装置1220的用户交互的任何类型的视频显示器。通常,视频显示器1224是计算机监视器或其他类似的视频显示器。
尽管此处描述了本发明的示例性实施例,但是应当理解,本发明并不限于这些精确的实施例,并且在不偏离本发明的范围和精神的情况下,本领域的技术人员可以做出各种其他更改和修改。
Claims (20)
1.一种监视一个或多个应用服务器的健康的方法,所述方法包括以下步骤:
指定一个或多个健康类,所述一个或多个健康类中的每个类定义了用于所述一个或多个应用服务器的一个或多个健康策略,其中每个健康策略包括一个或多个将被监视的健康状况、将要采取的纠正操作以及反应模式;
所述一个或多个健康类中的每个类还定义了将应用所述一个或多个健康策略的一个或多个目标;
监视已被应用于所述一个或多个目标的所述一个或多个健康策略中的至少一个健康策略;以及
如果对所述一个或多个健康策略的违反存在,则检测所述违反。
2.如权利要求1中所述的方法,还包括存储所述一个或多个健康类的配置的步骤。
3.如权利要求1中所述的方法,还包括根据所检测的违反来采取纠正操作的步骤。
4.如权利要求3中所述的方法,其中所述根据所检测的违反来采取纠正操作的步骤还包括使所述一个或多个应用服务器中的至少一个应用服务器复原。
5.如权利要求1中所述的方法,还包括根据所检测的违反来采取自动纠正操作的步骤。
6.如权利要求1中所述的方法,还包括请求用户批准以根据所检测的违反来采取纠正操作的步骤。
7.如权利要求1中所述的方法,其中所述监视所述一个或多个健康策略中的至少一个健康策略的步骤包括监视所述一个或多个应用服务器的一个或多个预定属性。
8.如权利要求1中所述的方法,其中所述检测违反的步骤包括根据一个或多个健康状况来检测违反。
9.如权利要求1中所述的方法,其中所述检测违反的步骤包括根据从包含应用服务器的年龄、执行的工作、存储器利用模式以及请求的异常长响应时间的组中选择的一个或多个健康状况来检测违反。
10.如权利要求1中所述的方法,还包括在计算机系统上实施所述一个或多个健康策略的步骤。
11.如权利要求10中所述的方法,其中所述在计算机系统上实施所述一个或多个健康策略的步骤包括使用健康控制器。
12.如权利要求1中所述的方法,其中所述监视所述一个或多个健康策略中的至少一个健康策略的步骤包括使用一个或多个健康传感器。
13.如权利要求1中所述的方法,其中所述监视所述一个或多个健康策略中的至少一个健康策略的步骤包括使用一个或多个自动配置为监视所述一个或多个健康策略的健康传感器。
14.如权利要求1中所述的方法,其中所述检测违反的步骤还包括产生诊断消息的步骤。
15.如权利要求1中所述的方法,还包括采用拓扑管理器来监视添加健康类、删除健康类和修改健康类中的一个或多个操作的步骤。
16.如权利要求1中所述的方法,还包括采用拓扑管理器来监视添加目标和删除目标中的一个或多个操作的步骤。
17.如权利要求1中所述的方法,还包括采用拓扑管理器来监视群集成员资格的改变的步骤。
18.如权利要求1中所述的方法,还包括通过选择具有最窄范围的健康类来解决健康类之间的冲突的步骤。
19.一种用于监视一个或多个应用服务器的健康的装置,所述装置包括:
用于监视一个或多个健康策略中的至少一个健康策略的装置,所述一个或多个健康策略由用于所述一个或多个应用服务器的一个或多个指定的健康类定义,所述一个或多个健康类中的每个类还定义了将应用所述一个或多个健康策略的一个或多个目标,其中每个健康策略包括一个或多个将被监视的健康状况、将要采取的纠正操作以及反应模式;以及
用于如果对所述一个或多个健康策略的违反存在,则检测所述违反的装置。
20.如权利要求19中所述的装置,还包括用于根据所检测的违反来采取纠正操作的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/929,878 | 2004-08-30 | ||
US10/929,878 US8627149B2 (en) | 2004-08-30 | 2004-08-30 | Techniques for health monitoring and control of application servers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101010669A CN101010669A (zh) | 2007-08-01 |
CN100465919C true CN100465919C (zh) | 2009-03-04 |
Family
ID=35462609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200580029022XA Active CN100465919C (zh) | 2004-08-30 | 2005-05-25 | 应用服务器的健康监视和控制的技术 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8627149B2 (zh) |
EP (1) | EP1784728A2 (zh) |
JP (1) | JP5186211B2 (zh) |
CN (1) | CN100465919C (zh) |
WO (1) | WO2006025892A2 (zh) |
Families Citing this family (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7606898B1 (en) * | 2000-10-24 | 2009-10-20 | Microsoft Corporation | System and method for distributed management of shared computers |
US6886038B1 (en) * | 2000-10-24 | 2005-04-26 | Microsoft Corporation | System and method for restricting data transfers and managing software components of distributed computers |
US6907395B1 (en) * | 2000-10-24 | 2005-06-14 | Microsoft Corporation | System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model |
US7113900B1 (en) * | 2000-10-24 | 2006-09-26 | Microsoft Corporation | System and method for logical modeling of distributed computer systems |
US8122106B2 (en) * | 2003-03-06 | 2012-02-21 | Microsoft Corporation | Integrating design, deployment, and management phases for systems |
US7689676B2 (en) * | 2003-03-06 | 2010-03-30 | Microsoft Corporation | Model-based policy application |
US7890543B2 (en) * | 2003-03-06 | 2011-02-15 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US7567504B2 (en) * | 2003-06-30 | 2009-07-28 | Microsoft Corporation | Network load balancing with traffic routing |
US7636917B2 (en) * | 2003-06-30 | 2009-12-22 | Microsoft Corporation | Network load balancing with host status information |
US7613822B2 (en) * | 2003-06-30 | 2009-11-03 | Microsoft Corporation | Network load balancing with session information |
US7606929B2 (en) * | 2003-06-30 | 2009-10-20 | Microsoft Corporation | Network load balancing with connection manipulation |
US7590736B2 (en) * | 2003-06-30 | 2009-09-15 | Microsoft Corporation | Flexible network load balancing |
US7778422B2 (en) | 2004-02-27 | 2010-08-17 | Microsoft Corporation | Security associations for devices |
US20050246529A1 (en) * | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Isolated persistent identity storage for authentication of computing devies |
US7409576B2 (en) * | 2004-09-08 | 2008-08-05 | Hewlett-Packard Development Company, L.P. | High-availability cluster with proactive maintenance |
US8423833B2 (en) * | 2004-11-16 | 2013-04-16 | Siemens Corporation | System and method for multivariate quality-of-service aware dynamic software rejuvenation |
US7802144B2 (en) * | 2005-04-15 | 2010-09-21 | Microsoft Corporation | Model-based system monitoring |
US7797147B2 (en) * | 2005-04-15 | 2010-09-14 | Microsoft Corporation | Model-based system monitoring |
US8489728B2 (en) * | 2005-04-15 | 2013-07-16 | Microsoft Corporation | Model-based system monitoring |
US7743286B2 (en) * | 2005-05-17 | 2010-06-22 | International Business Machines Corporation | Method, system and program product for analyzing demographical factors of a computer system to address error conditions |
JP2007004632A (ja) * | 2005-06-24 | 2007-01-11 | Nokia Corp | 仮想センサ |
US8549513B2 (en) * | 2005-06-29 | 2013-10-01 | Microsoft Corporation | Model-based virtual system provisioning |
US20070005320A1 (en) * | 2005-06-29 | 2007-01-04 | Microsoft Corporation | Model-based configuration management |
EP1913506A4 (en) | 2005-07-11 | 2008-08-13 | Brooks Automation Inc | INTELLIGENT STATUS MONITORING AND TROUBLESHOOTING SYSTEM FOR PREDICTIVE MAINTENANCE |
US9104650B2 (en) | 2005-07-11 | 2015-08-11 | Brooks Automation, Inc. | Intelligent condition monitoring and fault diagnostic system for preventative maintenance |
DE102005045904B4 (de) * | 2005-09-26 | 2022-01-05 | Siemens Healthcare Gmbh | Datenverarbeitungseinrichtung mit Performance-Steuerung |
US7941309B2 (en) * | 2005-11-02 | 2011-05-10 | Microsoft Corporation | Modeling IT operations/policies |
US7657793B2 (en) * | 2006-04-21 | 2010-02-02 | Siemens Corporation | Accelerating software rejuvenation by communicating rejuvenation events |
US9384103B2 (en) * | 2006-05-16 | 2016-07-05 | Oracle International Corporation | EJB cluster timer |
US8122108B2 (en) * | 2006-05-16 | 2012-02-21 | Oracle International Corporation | Database-less leasing |
US7661015B2 (en) * | 2006-05-16 | 2010-02-09 | Bea Systems, Inc. | Job scheduler |
CN100461719C (zh) * | 2006-06-15 | 2009-02-11 | 华为技术有限公司 | 服务健康度检测系统及方法 |
US7685475B2 (en) * | 2007-01-09 | 2010-03-23 | Morgan Stanley Smith Barney Holdings Llc | System and method for providing performance statistics for application components |
US8270586B2 (en) * | 2007-06-26 | 2012-09-18 | Microsoft Corporation | Determining conditions of conferences |
US8903969B2 (en) * | 2007-09-28 | 2014-12-02 | Microsoft Corporation | Central service control |
JP2009104412A (ja) * | 2007-10-23 | 2009-05-14 | Hitachi Ltd | ストレージ装置及びその制御方法 |
JP5237034B2 (ja) * | 2008-09-30 | 2013-07-17 | 株式会社日立製作所 | イベント情報取得外のit装置を対象とする根本原因解析方法、装置、プログラム。 |
US20100085871A1 (en) * | 2008-10-02 | 2010-04-08 | International Business Machines Corporation | Resource leak recovery in a multi-node computer system |
US8203937B2 (en) | 2008-10-02 | 2012-06-19 | International Business Machines Corporation | Global detection of resource leaks in a multi-node computer system |
US8699690B2 (en) | 2008-12-12 | 2014-04-15 | Verizon Patent And Licensing Inc. | Call routing |
US7996713B2 (en) * | 2008-12-15 | 2011-08-09 | Juniper Networks, Inc. | Server-to-server integrity checking |
WO2010071884A2 (en) * | 2008-12-19 | 2010-06-24 | Watchguard Technologies, Inc. | Self-monitoring cluster of network security devices |
US8117487B1 (en) * | 2008-12-29 | 2012-02-14 | Symantec Corporation | Method and apparatus for proactively monitoring application health data to achieve workload management and high availability |
US8161330B1 (en) | 2009-04-30 | 2012-04-17 | Bank Of America Corporation | Self-service terminal remote diagnostics |
US8214290B1 (en) | 2009-04-30 | 2012-07-03 | Bank Of America Corporation | Self-service terminal reporting |
US8108734B2 (en) | 2009-11-02 | 2012-01-31 | International Business Machines Corporation | Intelligent rolling upgrade for data storage systems |
EP2394219A4 (en) * | 2009-11-19 | 2013-07-24 | Sony Corp | SYSTEM INTEGRITY AND EFFICIENCY CARE OF DATA PROCESSING EQUIPMENT |
US20110208324A1 (en) * | 2010-02-25 | 2011-08-25 | Mitsubishi Electric Corporation | Sysyem, method, and apparatus for maintenance of sensor and control systems |
US8516295B2 (en) * | 2010-03-23 | 2013-08-20 | Ca, Inc. | System and method of collecting and reporting exceptions associated with information technology services |
US8593971B1 (en) | 2011-01-25 | 2013-11-26 | Bank Of America Corporation | ATM network response diagnostic snapshot |
US8713537B2 (en) * | 2011-05-04 | 2014-04-29 | International Business Machines Corporation | Monitoring heap in real-time by a mobile agent to assess performance of virtual machine |
JP5734107B2 (ja) * | 2011-06-09 | 2015-06-10 | 株式会社日立システムズ | プロセス障害判定復旧装置、プロセス障害判定復旧方法、プロセス障害判定復旧プログラム、および記録媒体 |
CN103218281A (zh) * | 2012-01-20 | 2013-07-24 | 昆达电脑科技(昆山)有限公司 | 刀片式服务器监控系统 |
US8746551B2 (en) | 2012-02-14 | 2014-06-10 | Bank Of America Corporation | Predictive fault resolution |
US9009542B1 (en) * | 2012-05-31 | 2015-04-14 | Amazon Technologies, Inc. | Automatic testing and remediation based on confidence indicators |
US8990639B1 (en) | 2012-05-31 | 2015-03-24 | Amazon Technologies, Inc. | Automatic testing and remediation based on confidence indicators |
US9043658B1 (en) | 2012-05-31 | 2015-05-26 | Amazon Technologies, Inc. | Automatic testing and remediation based on confidence indicators |
US9503341B2 (en) | 2013-09-20 | 2016-11-22 | Microsoft Technology Licensing, Llc | Dynamic discovery of applications, external dependencies, and relationships |
JP6295856B2 (ja) * | 2014-06-27 | 2018-03-20 | 富士通株式会社 | 管理支援方法,管理支援装置及び管理支援プログラム |
US9479525B2 (en) | 2014-10-23 | 2016-10-25 | International Business Machines Corporation | Interacting with a remote server over a network to determine whether to allow data exchange with a resource at the remote server |
US10296502B1 (en) | 2015-08-24 | 2019-05-21 | State Farm Mutual Automobile Insurance Company | Self-management of data applications |
US20170115978A1 (en) * | 2015-10-26 | 2017-04-27 | Microsoft Technology Licensing, Llc | Monitored upgrades using health information |
CN105573864A (zh) * | 2015-12-15 | 2016-05-11 | 广州视源电子科技股份有限公司 | 终端系统恢复方法及其系统 |
CN105589787B (zh) * | 2015-12-18 | 2018-08-28 | 畅捷通信息技术股份有限公司 | 应用程序的健康检查方法及健康检查系统 |
US10289347B2 (en) * | 2016-04-26 | 2019-05-14 | Servicenow, Inc. | Detection and remediation of memory leaks |
US20170317901A1 (en) * | 2016-04-29 | 2017-11-02 | Cisco Technology, Inc. | Integrated approach to monitor gbp health and adjust policy service level |
US11271989B2 (en) | 2016-09-27 | 2022-03-08 | Red Hat, Inc. | Identifying a component cluster |
US9800481B1 (en) * | 2016-10-20 | 2017-10-24 | International Business Machines Corporation | Communicating health status when a management console is unavailable for a server in a mirror storage environment |
US10545553B2 (en) * | 2017-06-30 | 2020-01-28 | International Business Machines Corporation | Preventing unexpected power-up failures of hardware components |
CN109460344B (zh) * | 2018-09-26 | 2023-04-28 | 国家计算机网络与信息安全管理中心 | 一种服务器的运维分析方法与系统 |
US11169905B2 (en) | 2018-10-30 | 2021-11-09 | International Business Machines Corporation | Testing an online system for service oriented architecture (SOA) services |
KR102269647B1 (ko) * | 2019-03-20 | 2021-06-25 | 주식회사 팀스톤 | 서버 성능 모니터링 장치 |
CN112579392B (zh) * | 2020-12-21 | 2023-01-24 | 深圳云之家网络有限公司 | 应用检测方法、装置、计算机设备和存储介质 |
US11412040B1 (en) | 2021-07-23 | 2022-08-09 | Vmware, Inc. | Using maintenance mode to upgrade a distributed system |
US11748222B2 (en) | 2021-07-23 | 2023-09-05 | Vmware, Inc. | Health measurement and remediation of distributed systems upgrades |
EP4307117A1 (en) * | 2022-07-15 | 2024-01-17 | NXP USA, Inc. | Layered architecture for managing health of an electronic system and methods for layered health management |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6219719B1 (en) * | 1994-05-05 | 2001-04-17 | Openservice Inc. | Method and system for managing a group of computers |
CN1335952A (zh) * | 1999-10-29 | 2002-02-13 | 株式会社维新克 | 数据库系统和信息配送系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805785A (en) * | 1996-02-27 | 1998-09-08 | International Business Machines Corporation | Method for monitoring and recovery of subsystems in a distributed/clustered system |
US6594784B1 (en) * | 1999-11-17 | 2003-07-15 | International Business Machines Corporation | Method and system for transparent time-based selective software rejuvenation |
US6629266B1 (en) * | 1999-11-17 | 2003-09-30 | International Business Machines Corporation | Method and system for transparent symptom-based selective software rejuvenation |
US6609213B1 (en) * | 2000-08-10 | 2003-08-19 | Dell Products, L.P. | Cluster-based system and method of recovery from server failures |
JP3818901B2 (ja) | 2000-12-21 | 2006-09-06 | 富士通株式会社 | 記録媒体、ネットワーク監視装置、および、プログラム |
US20020087612A1 (en) * | 2000-12-28 | 2002-07-04 | Harper Richard Edwin | System and method for reliability-based load balancing and dispatching using software rejuvenation |
CA2455079A1 (en) * | 2001-08-06 | 2003-02-20 | Mercury Interactive Corporation | System and method for automated analysis of load testing results |
US6996751B2 (en) * | 2001-08-15 | 2006-02-07 | International Business Machines Corporation | Method and system for reduction of service costs by discrimination between software and hardware induced outages |
KR100420266B1 (ko) * | 2001-10-23 | 2004-03-02 | 한국전자통신연구원 | 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법및 그 장치 |
US7373556B2 (en) * | 2002-02-22 | 2008-05-13 | Bea Systems, Inc. | Method for monitoring sub-system health |
US7100079B2 (en) * | 2002-10-22 | 2006-08-29 | Sun Microsystems, Inc. | Method and apparatus for using pattern-recognition to trigger software rejuvenation |
US7243265B1 (en) * | 2003-05-12 | 2007-07-10 | Sun Microsystems, Inc. | Nearest neighbor approach for improved training of real-time health monitors for data processing systems |
-
2004
- 2004-08-30 US US10/929,878 patent/US8627149B2/en not_active Expired - Fee Related
-
2005
- 2005-05-25 WO PCT/US2005/018369 patent/WO2006025892A2/en active Application Filing
- 2005-05-25 EP EP05755509A patent/EP1784728A2/en not_active Withdrawn
- 2005-05-25 JP JP2007529825A patent/JP5186211B2/ja active Active
- 2005-05-25 CN CNB200580029022XA patent/CN100465919C/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6219719B1 (en) * | 1994-05-05 | 2001-04-17 | Openservice Inc. | Method and system for managing a group of computers |
CN1335952A (zh) * | 1999-10-29 | 2002-02-13 | 株式会社维新克 | 数据库系统和信息配送系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2006025892A2 (en) | 2006-03-09 |
JP2008511903A (ja) | 2008-04-17 |
JP5186211B2 (ja) | 2013-04-17 |
WO2006025892A3 (en) | 2006-04-27 |
EP1784728A2 (en) | 2007-05-16 |
US20060048017A1 (en) | 2006-03-02 |
CN101010669A (zh) | 2007-08-01 |
US8627149B2 (en) | 2014-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100465919C (zh) | 应用服务器的健康监视和控制的技术 | |
Castelli et al. | Proactive management of software aging | |
US9275172B2 (en) | Systems and methods for analyzing performance of virtual environments | |
US8326910B2 (en) | Programmatic validation in an information technology environment | |
CN104360878B (zh) | 一种应用软件部署的方法及装置 | |
US20080195369A1 (en) | Diagnostic system and method | |
US20070168915A1 (en) | Methods and systems to detect business disruptions, determine potential causes of those business disruptions, or both | |
US20140195860A1 (en) | Early Detection Of Failing Computers | |
CN105518629A (zh) | 云部署基础结构确认引擎 | |
US20030226059A1 (en) | Systems and methods for remote tracking of reboot status | |
US20080195404A1 (en) | Compliant-based service level objectives | |
CN102638378B (zh) | 一种集成异构存储设备的海量存储系统监控方法 | |
US20060294220A1 (en) | Diagnostics and resolution mining architecture | |
CN106383760A (zh) | 一种计算机故障管理方法及装置 | |
CN103069749A (zh) | 虚拟环境中的问题的隔离 | |
US20220223272A1 (en) | Configuration anomaly detection in medical system configurations using frequent pattern mining | |
WO2020015116A1 (zh) | 数据库监控方法及终端设备 | |
CN107864055A (zh) | 虚拟化系统的管理方法及平台 | |
CN114328102A (zh) | 设备状态监控方法、装置、设备及计算机可读存储介质 | |
Brandt et al. | OVIS-2: A robust distributed architecture for scalable RAS | |
JP2010009411A (ja) | 仮想化環境運用支援システム及び仮想環境運用支援プログラム | |
CN102957563B (zh) | Linux集群故障自动恢复方法和Linux集群故障自动恢复系统 | |
WO2013066341A1 (en) | Fault processing in a system | |
US20050283348A1 (en) | Serviceability framework for an autonomic data centre | |
CN117349127B (zh) | Gpu掉卡检测方法及装置 |
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 |