用于监视计算机应用程序的系统和方法

文档序号:6406803阅读:236来源:国知局
专利名称:用于监视计算机应用程序的系统和方法
技术领域
本公开内容涉及计算机应用程序。更具体地,本公开内容涉及用于计算机应用程序的实时事务监视的方法和系统。
背景技术
Java(TM)2平台,企业版本(J2EE)是用于开发多层企业应用程序的标准。在标准化的模块部件上的基于J2EE的企业应用程序提供一组业务给这些部件,以及自动处理应用程序行为的许多细节,而不用复杂的编程。
Servlet技术为web开发者提供用于扩展web服务器的功能和用于访问现有商业系统的简单的一致的机制。Servlet几乎可被看作为在服务器一侧——而不在面上——运行的应用小程序。Java Servlet使得许多web应用是可能的。
有两种企业Java Bean(EJB),“实体Bean”和“会话Bean”。Java编程员已经熟悉对象。实体Bean是具有专门性质的对象。标准Java对象可以是永久的,也就是,对象在它们在程序中被创建时就存在。当程序终结时,对象可以丢失。但实体Bean可以在删除之前存在。程序可以创建实体Bean,然后程序可以停止和重新开始。实体Bean将继续存在。在重新开始后,程序可再次找到实体Bean,以及继续使用同一个实体Bean。实体Bean可以被网络上的任何程序使用。
实际上,实体Bean可以由某种永久存储器,典型地由数据库备份。实体Bean的方法可以在“服务器”机器上运行。当实体Bean的方法被调用时,程序的线程停止执行,以及控制传递到服务器。当方法从服务器返回时,本地线程重新继续执行。实体Bean可以具有主密钥。主密钥是唯一的,即,每个实体Bean由它的主密钥唯一地标识。例如,“雇员”实体Bean可以具有社会保险号作为主密钥。
会话Bean与实体Bean的不同点在于,它们不是永久对象。它们通常也不是可以共享的,虽然有可能通过使用它们的“处理(handle)”来共享它们。会话Bean可被使用来分发和隔离处理任务。每个会话Bean可被使用来代表它的客户执行某一任务。这些任务可以分布在不同的机器上。
注意力集中在web应用程序实施和部署的企业可能需要解决应用程序的健康、可用性、和性能的管理问题的环境,使它们成为对任务严格的IT基础结构的整体的和性能好的部分。
现代的、面向服务的企业被构建在硬件和软件部件的复杂的web的基础上。为这些企业构建的Web应用程序可以被分层、互联、和常常被高度分发的。Web应用程序的非常结构化的性质可能呈现出在隔离和分解解决健康、可用性、和性能的管理问题的严峻挑战。
当监视web应用程序以及底层应用服务器基础结构的可用性和性能时考虑的因素之一是实时事务监视-综合事务监视的使用。综合事务监视主动监视web应用程序和允许在终端用户检测之前防止错误或故障。然而,综合事务监视不解决实时事务的性能和可用性的问题。换句话说,综合事务监视在执行给定的应用程序时不能有效地监视服务器的实时条件。
因此,提供一种通过使用实时事务监视来监视计算机应用程序的方法和系统是有利的。

发明内容
按照本公开内容的实施例的用于监视计算机应用程序的方法包括选择计算机应用程序、输入条件信息、监视计算机应用程序和当计算机应用程序的条件满足预定的条件信息时生成一个告警。
按照本公开内容的实施例的用于监视计算机应用程序的系统包括接口设备,适于允许用户选择要被监视的计算机应用程序和输入条件信息;以及监视设备,适于监视所选择的计算机应用程序,其中当所选择的计算机应用程序的条件满足基于由监视设备执行的监视的结果的预定的条件信息时接口设备生成一个告警。
按照本公开内容的实施例的计算机系统包括处理器和计算机系统可读的程序存储设备,该程序存储设备体现由处理器可执行的指令的程序,以执行用于监视计算机应用程序的方法步骤,该方法步骤包括选择计算机应用程序、输入条件信息、监视计算机应用程序和当计算机应用程序的条件满足预定的条件信息时生成一个告警。


参照以下详细说明并同时结合附图考虑,将容易更全面地理解本公开内容和其许多附加的优点,因为它们变得更好理解,其中图1显示能够实施本公开内容的方法和系统的计算机系统的例子;图2是显示按照本公开内容的实施例的用于监视计算机应用程序的方法的流程图;图3是显示按照本公开内容的实施例选择计算机应用程序的步骤的流程图;图4是显示按照本公开内容的实施例输入条件信息的步骤的流程图;图5是显示按照本公开内容的实施例监视计算机应用程序的步骤的流程图;图6是显示按照本公开内容的实施例生成告警的步骤的流程图;图7是显示按照本公开内容的实施例监视计算机应用程序的系统的方框图;图8是显示按照本公开内容的实施例的监视设备的方框图;以及图9是按照本公开内容的代理和服务器的例子。
具体实施例方式
在描述附图中显示的本公开内容的优选实施例时,为了简化起见,采用特定的术语。然而,本公开内容并不打算限于这样选择的特定的术语,应当看到,每个特定的单元包括所有以相同的方式运行的技术等价物。
图1显示可以实施本公开内容的方法和系统的计算机系统的例子。本公开内容的系统和方法可以以在计算机系统,例如,大型计算机、个人计算机(PC)、手持计算机、服务器等等上运行的软件应用程序的形式来实施。软件应用程序可被存储在可由计算机系统本地访问的记录媒体,例如,软盘、压缩盘、硬盘等等,或可以远离计算机系统以及可经由与网络——例如,局域网或互联网——的硬件连线或无线连接访问。
能够实施本方法和系统的计算机系统的例子显示于图1。统称为系统100的计算机系统可包括中央处理单元(CPU)102、存储器104,例如随机存取存储器(RAM)、打印机接口106、显示单元108、(LAN)局域网数据传输控制器110、LAN接口112、网络控制器114、内部总线116和一个或多个输入设备118,例如键盘、鼠标等等。如图所示,系统100可以经由链路122连接到数据存储设备,例如,硬盘120。
本公开内容的系统和方法涉及信息技术(IT)管理的领域。传统的IT管理监视网络、机器和操作系统,但不一定监视顾客的定制的应用程序软件。本公开内容的系统和方法通过提供对于组成顾客的定制的应用软件的EJB和Servlet的性能监视而补充了传统的IT管理解决方案。
本公开内容的系统和方法为管理解决方案提供应用程序的内部观点,以便从综合展望和/或实时展望看来管理应用程序的事务可用性和性能。由于系统和方法甚至对于定制的应用程序提供实时监视,系统和方法检测犯错误的Java Bean原籍和远端接口、servlet、或数据库连接的性能和可用性问题。
本公开内容的系统和方法从健康和性能的立场为实时和应用程序特定的事务提供监视和管理。更具体地,系统和方法使能在servlet、EJB或连接库方面进行事务的监视。
按照本公开内容的实施例的用于监视计算机应用程序的方法显示于图2。方法包括选择要被监视的计算机应用程序,S20,输入条件信息,S22,监视计算机应用程序,S24,和当计算机应用程序的条件满足预定的条件信息时生成一个告警,S26。
在步骤S20,由用户选择要被监视的应用程序。在用户知道要被监视的应用程序的场合下,用户可以只要经由输入设备,诸如键盘,输入应用程序。应用程序例如可以是企业Java Bean或servlet。图3形式按照本公开内容的实施例的选择步骤的流程图。在步骤S30,选择要被监视的计算机应用程序。这可以如上所述经由键盘来完成,或可以从对于经由用户接口可提供的用于监视的计算机应用程序清单中选择计算机应用程序,这将在下面更详细地描述。计算机应用程序可以是企业Java Bean或servlet。表示计算机应用程序要被监视的时间间隔的监视间隔可以在步骤S32标识出。表示其间应用程序的状态保持在生成告警之前的状态的监视时间间隔的数目的等待数目可以在步骤S34被输入。也就是,告警只在预定的条件信息在多个监视间隔内满足之后才生成,因此,表示更持久的问题。关于要由告警(如果它被生成或当它被生成时)提醒的个人的识别信息可以在步骤S36被输入。也就是,在步骤S36,告警应当发送到的个人被识别。
步骤S30到S36可以经由输入设备,诸如键盘或鼠标,直接输入信息而被实施,或可以通过使用图形用户接口来实施。在这样的实施例中,运行用户感兴趣的计算机应用程序的所有服务器的清单可以显示给用户。在用户选择服务器后,在服务器上运行的所有的计算机应用程序的清单可以显示给用户。然后用户可以选择想要的应用程序,而不用事先知道要被监视的应用程序的确切的名称或位置。图形用户接口也可以提供输入监视时间间隔、等待数目和有关告警发送到的个人的信息的提醒。
下面参照图4进一步描述输入条件信息的步骤S22。在步骤S40,用户可以选择由要被监视的应用程序实施的具体的方法。应当指出,计算机应用程序可包括几个方法,以及每个方法可被监视。在步骤S42,用户可以选择与所选择的方法有关的多个参数的、至少一个事件或参数。这些参数可包括在监视间隔期间对于方法的平均执行时间、在监视间隔期间对于方法的最大执行时间、在监视间隔期间对于方法的最小执行时间、表示在监视间隔期间方法被引用多少次的方法引用计数、和表示在监视间隔期间引用方法的线程的数目的方法线程计数。用户可以选择所有的参数或可以选择一个或多个这些参数用于监视。
在步骤S44,用户可以设置阈值,以确定方法和应用程序关于每个这些参数的状态。也就是,对于每个选择的参数,用户可以设置表示应用程序的各种状态的阈值。例如,对于平均执行时间参数,如果平均执行时间不大于预定的第一阈值,或警告水平,状态就是正常状态。如果平均执行时间处在第一阈值与第二阈值,次要的水平之间,则结果是告警状态。如果平均执行时间处在第二阈值与第三阈值,临界值之间,则状态被称为主要状态。如果平均执行时间处在第三阈值以上,则状态被称为临界状态。每个参数可以具有不同的第一、第二、和第三阈值。因此,对于平均执行时间的第一阈值可以是与对于最大执行时间的第一阈值不同的。
步骤S40到S44也可以经由图形用户接口被实施。用户可以从在选择的计算机应用程序中执行的几个方法的清单中选择要被监视的选择的方法。用户可以选择与所选择的方法有关的至少一个参数。然后用户可以经由图形用户接口输入对于每个选择的参数的第一、第二、和第三阈值水平。
下面参照图5进一步描述监视计算机应用程序的步骤。在步骤S50,把动态观察器插入到计算机应用程序的字节代码中。动态观察器不改变应用程序代码或不影响应用程序的性能,但仅仅对于某些事件的发生监视应用程序。在步骤S52,在每个事件发生时生成通知消息。在优选实施例中,动态观察器在以下情形时生成通知消息(1)应用程序被加载,(2)方法的执行开始,(3)方法的执行结束,和(4)方法被线程访问。通知消息可包括表示应用程序的类型的数据,诸如,企业Java Bean或servlet、表示引用应用程序的线程的线程ID、应用程序的名称、和表示方法的开始时间或结束时间的时间信息。由于动态观察器被插入在应用程序本身的字节代码中,由动态观察器生成的通知消息提供关于计算机应用程序的功能的实时信息。实时信息是有用的,它显示其上运行应用程序的服务器的实际的条件。
在步骤S54,可以公布被包括在由动态观察器生成的通知中的数据。也就是,数据可被发送到要被监视的选择的应用程序以外,以便被估计来确定在生成步骤S26中是否应当生成告警。
下面参照图6进一步描述生成告警的步骤,S26。在步骤S60,在由动态观察器生成的通知消息中包括的数据被处理来确定对于选择的参数的数值。在图2的步骤S22中,对于监视所选择的任何参数可以通过使用被包括在通知消息中的数据来确定,虽然这可能需要组合来自一个以上的通知消息的数据。例如,第一通知消息可以表示方法的开始时间,而另一个通知消息可以表示方法的结束时间。这两个通知消息可以一起被使用来确定方法的执行时间。为了确定这个执行时间是最小执行时间还是最大执行时间,应当把该执行时间与在监视间隔期间确定的其他执行时间进行比较。
在步骤S62,每个选择的参数的数值同与每个选择的参数有关的阈值水平进行比较,提供关于选择的参数的应用程序的状态的指示。在步骤S64,确定应用程序的状态或条件是否满足条件信息。更具体地,根据每个参数相对于与其有关的阈值水平的状态,作出有关生成告警的决定。例如,如果平均执行时间具有临界的状态,则这多半表示问题,以及应当生成告警,在步骤S64的Yes(是)。然后在步骤S66生成告警。另一方面,在每个参数的状态是正常的场合下,不需要生成告警,在步骤S64的No(否)。在这种情形下,不需要生成告警,以及过程可返回到步骤S60,例如,处理被包括在来自下一个监视间隔的通知消息中的数据。用户可以指定在其状态下生成告警的、计算机应用程序的状态。
下面参照图7描述按照本申请的用于监视计算机应用程序的系统70。接口设备72适于允许用户选择要被监视的计算机应用程序和输入条件信息。监视设备74适于监视计算机应用程序。当计算机应用程序的条件与预定的条件信息相匹配时,接口设备72也可以生成告警。
接口设备72可以被实施为图形用户接口,允许用户容易输入选择和条件信息。按照本申请的一个实施例,接口设备72允许用户输入选择信息来选择其上运行想要的计算机应用程序的服务器。用户然后可以从运行在服务器上的、要被监视的多个计算机应用程序中选择至少一个特定的计算机应用程序。用户也可以提供表示其间监视计算机应用程序的定时器的时间间隔的的监视间隔,以及可以设置表示在生成告警之前其间服务器的条件满足预定的条件信息监视间隔的数目的等待数目。正如以上指出的,为了确保在执行应用程序时的任何问题是不变的,在生成告警之前等待是有利的。用户也可以提供识别信息,表示在生成告警时或如果生成告警,该告警所发送到的个人。
由用户输入的条件信息可包括选择由用于监视的所选择的计算机应用程序实施的多个方法的至少一个方法的信息。用户也可以选择与要被监视的方法有关的多个参数的至少一个参数。这些参数包括在监视间隔期间对于方法的平均执行时间、在监视间隔期间对于方法的最大执行时间、在监视间隔期间对于方法的最小执行时间、表示在监视间隔期间方法被引用的次数的方法引用计数、和表示在监视间隔期间处理方法请求的线程的数目的方法线程计数。接口设备72也允许用户输入对于每个用于确定计算机应用程序的状态的选择的参数的至少一个阈值水平。在优选实施例中,对于每个参数建立几个阈值水平。状态可以与这些阈值水平的每个阈值有关。当参数低于第一阈值水平时,被称为警告水平,可以称为正常状态。如果参数值处在第一阈值水平与第二阈值水平(称为次要水平)之间,则结果是告警状态。如果参数值处在第二阈值与第三阈值,称为临界值之间,则状态被称为主要状态。如果参数值大于第三阈值,则状态被称为临界的。每个参数可以具有不同的第一、第二、和第三阈值。因此,对于平均执行时间参数的第一阈值可以是与对于最大执行时间参数的第一阈值不同的。
监视设备74被使用来监视应用程序。下面参照图8更详细地描述监视设备。插入设备80作为至少一个动态观察器插入到选择的应用程序的字节代码中。更具体地,插入设备80作为至少一个动态观察器插入到选择的方法的字节代码中。动态观察器在计算机应用程序中某些事件发生时生成通知消息。更具体地,动态观察器在以下情形时生成通知消息(1)计算机应用程序被引用,(2)选择的方法的开始执行,(3)选择的方法结束执行,和(4)方法被线程访问。通知消息可包括表示应用程序的类型的数据,诸如,企业Java Bean或servlet、表示引用应用程序的线程的线程ID、应用程序的名称、和表示方法的开始时间或结束时间的时间信息。
公布设备82适于公布在通知方法中所包括的数据。也就是,公布设备可以把相应于被包括在通知消息中的数据的数据发送到用户接口80。在优选实施例中,公布是通过使用用户数据报协议发送数据到接口设备80而完成的。具体地,包括在通知消息中包括的数据的数据报可以从公布设备82发送到接口设备72,用于由至少一个动态观察器生成的每个通知消息。
用户接口72然后可处理在通知消息中包括的数据,以确定对于每个选择的参数的值。这个决定可能需要从几个通知消息中收集数据。例如,一个通知消息在选择的方法开始执行时被生成,以及另一个通知消息在选择的方法结束执行时被生成。因此,根据这两个通知消息,可以确定执行时间。另外,为了确定平均执行时间,必须对于在监视间隔期间选择的方法的所有的引用的执行时间进行平均。每个选择的参数的数值然后可以和与每个选择的参数有关的阈值水平进行比较,以便确定计算机应用程序的状态。根据这些状态,接口设备70可以生成告警。告警然后可以发送到经由接口设备识别的个人。例如,如果平均执行时间大于第三阈值水平,则计算机应用程序的状态是临界的。这可表示在执行计算机应用程序时的严重的问题,以及生成告警。然而,在每个选择的参数的数值低于每个参数的第一阈值水平的情形下,计算机应用程序正常工作以及不需要生成告警。用户可以指定其间要生成告警的每个参数的状态。
应当指出,用于监视计算机应用程序的系统基本上实施如上所讨论的、用于监视应用程序的方法。
在本申请的特定实施例中,用于监视计算机应用程序的系统可以作为插件插入到具有用于J2EE代理的单中心管理的接口的应用程序服务器。在优选实施例中,用户接口允许用户监视选择的应用程序的性能,诸如被部署在应用程序服务器内的EJB和servlet。更具体地,用户接口可以采用可以包含代表Weblogic Insider Expert Agent的单个对象或代理的形式。该形式显示部署Weblogic的servlet或EJB,也就是,Expert Agent(专家代理)正在监视的选择的应用程序。要被监视的Servlet或EJB可以被添加、修正、和去除。只有在由同一个代理监视的Weblogic服务器内部部署的servlet和EJB才可能允许的。
图9显示按照本公开内容的代理和服务器的例子。管理块200,诸如,用于Weblogic的单中心管理、WebSphere、或Oracle9iAS,被显示为连接到代理202,代理202与应用程序服务器204内的内部公布器206相连接。内部公布器206与提交的对象208相连接,该提交的对象208与提交的类别212相连接,该提交的类别212又与内部管理器210和类别加载器214相连接。
内部块,即内部管理器和内部公布器一起,作为用于代理的工具代理进行工作。它可以在应用程序服务器的Java虚拟机(JVM)中运行,该Java虚拟机是所有EJB和servlet运行的场所。代理可以通过使用用户数据报协议(UDP)公布/预订模型而与内部块通信。内部块结构可被划分成两个部分,字节代码工具和公布工具,把数据公布给代理。
当类别、或应用程序,加载到JVM时,内部块可以截取它,以及把动态观察器插入到这些类别文件。当EJB、JSP/Servlet和独立的java类别加载到JVM时,内部块可以通过插入动态探头或观察器而提交字节代码。
内部块可以通过两种方法公布数据到代理。第一种方法是UDP公布/预订方法,其中内部块打开应用程序服务器上的UDP Socket插座。对于从字节代码工具接收的每个通知消息,它可以发出数据报分组。第二种方法是CASM EJB方法,其中CASM EJB用作为请求应答业务。代理使用这个业务得到提交的对象,或监视的应用程序的元数据。这个业务也可以动态地启动和停止公布数据。
本系统和方法因此为行政管理者提供配置或修正一个或多个实施例计算机系统的有效的和方便的方法。
本公开内容可以通过使用按照本说明书的教导编程的一个或多个传统的通用数字计算机和/或服务器而方便地实施。熟练程序员可以根据本公开内容的教导容易地准备适当的软件编码。本公开内容也可以通过准备专用集成电路或通过互联传统的部件的适当的网络而被实施。
从以上的教导看来,本公开内容的许多附加修正和变化是可能的。所以,应当看到,在所附权利要求的范围内,本公开内容可以用与这里具体描述的不同的方式来实践。
权利要求
1.一种用于监视计算机应用程序的方法,包括选择计算机应用程序;输入条件信息;监视计算机应用程序;和当计算机应用程序的条件满足预定的条件信息时生成告警。
2.权利要求1的方法,其中计算机应用程序是根据由用户经由用户接口输入的选择信息进行选择的。
3.权利要求2的方法,其中计算机应用程序是企业java Bean与servlet之一。
4.权利要求3的方法,其中选择步骤还包括选择在其上有计算机应用程序运行的服务器;从要被监视的在选择的服务器上运行的多个计算机应用程序中选择至少一个计算机应用程序;输入表示其间监视计算机应用程序的时间间隔的监视时间间隔;以及输入表示在生成告警之前其间计算机应用程序的条件满足预定的条件信息的监视时间间隔的数目的等待数目。
5.权利要求4的方法,其中输入条件信息的步骤还包括选择由要被监视的由选择的计算机应用程序执行的多个方法中的至少一个方法。
6.权利要求5的方法,其中输入条件信息的步骤还包括选择要被监视的、与选择的方法有关的多个参数中的至少一个参数,其中多个参数包括在监视时间间隔期间方法的平均执行时间、在监视时间间隔期间方法的最大执行时间、在监视时间间隔期间方法的最小执行时间、表示在监视时间间隔期间方法被调用的次数的方法调用计数、和表示在监视时间间隔期间处理方法请求的线程的数目的方法线程计数。
7.权利要求6的方法,其中输入条件信息的步骤还包括输入用于确定该至少一个选择的参数的状态的至少一个阈值水平。
8.权利要求7的方法,其中监视步骤还包括把至少一个动态观察器插入到计算机应用程序的字节代码,以监视计算机应用程序,其中动态观察器在检测到计算机应用程序中的多个事件的任一个事件后生成通知消息。
9.权利要求8的方法,其中多个事件包括加载计算机应用程序、启动计算机应用程序的选择的方法、结束计算机应用程序的选择的方法、和经由线程访问该方法。
10.权利要求9的方法,其中由动态探测器生成的通知消息包括表示计算机应用程序的类型的数据、表示调用计算机应用程序的线程的身份的线程ID、表示所调用的计算机应用程序的名称的名称、和包括计算机应用程序的选择的方法的开始时间和结束时间之一的时间信息。
11.权利要求10的方法,其中监视步骤还包括公布在由动态观察器生成的通知消息中包括的数据。
12.权利要求11的方法,其中生成步骤还包括处理被包括在通知消息中的数据,以确定每个选择的参数的数值;把每个选择的参数的数值与该选择的参数的至少一个阈值水平进行比较,以确定计算机应用程序的状态;以及当计算机应用程序的状态表示要生成告警时生成告警。
13.一种用于监视计算机应用程序的系统,包括接口设备,适于允许用户选择要被监视的计算机应用程序和输入条件信息;以及监视设备,适于监视所选择的计算机应用程序,其中当根据由监视设备执行的监视的结果确定的选择的计算机应用程序的条件满足预定的条件信息时接口设备生成告警。
14.权利要求13的系统,其中接口设备包括允许用户输入信息的图形用户接口。
15.权利要求14的系统,其中接口设备允许用户选择运行多个计算机应用程序的服务器和从要被监视的、在选择的服务器上运行的多个计算机应用程序中选择至少一个计算机应用程序和输入表示其间监视选择的计算机应用程序的时间间隔的监视时间间隔。
16.权利要求15的系统,其中接口设备允许用户输入表示在生成告警之前在其间计算机应用程序的条件满足预定的条件信息的监视时间间隔的数目的等待数目。
17.权利要求16的系统,其中条件信息包括方法信息,表示由要被监视的选择的计算机应用程序使用的多个方法的至少一个方法;参数信息,表示与要被监视的选择的方法有关的多个参数的至少一个参数;和阈值信息,表示用于确定计算机应用程序的状态的该至少一个选择的参数的至少一个阈值水平。
18.权利要求17的系统,其中多个参数包括在监视时间间隔期间方法的平均执行时间、在监视时间间隔期间方法的最大执行时间、在监视时间间隔期间方法的最小执行时间、表示在监视时间间隔期间方法被调用的次数的方法调用计数、和表示在监视时间间隔期间处理方法的线程的数目的方法线程计数。
19.权利要求18的系统,其中监视设备还包括插入设备,适于把至少一个动态观察器插入到选择的计算机应用程序的字节代码,其中动态观察器在计算机应用程序中的多个事件的每个事件发生后生成通知消息;以及公布设备,适于把通知消息中包括的数据公布到接口设备。
20.权利要求19的系统,其中多个事件包括加载计算机应用程序、启动选择方法的执行、结束选择方法的执行、和通过线程访问计算机应用程序。
21.权利要求20的系统,其中通知消息包括表示选择的计算机应用程序的类型的数据、表示调用计算机应用程序的线程的身份的线程ID、表示所调用的选择的计算机应用程序的名称的名称、和包括计算机应用程序的选择的方法的开始时间或结束时间之一的时间信息。
22.权利要求21的系统,其中公布设备把相应于由至少一个动态观察器生成的每个通知消息的数据发送到接口设备。
23.权利要求22的系统,其中接口设备处理相应于每个通知消息的数据,以确定每个选择的参数的数值以及把每个选择的参数的数值与该选择的参数的阈值进行比较,以确定计算机应用程序的状态。
24.权利要求23的系统,其中当计算机应用程序的状态是预定的状态时接口设备生成告警。
25.一种计算机系统,包括处理器;和计算机系统可读的程序存储设备,体现处理器可执行的指令的程序,以执行用于监视计算机应用程序的方法步骤,该方法步骤包括选择计算机应用程序;输入条件信息;监视计算机应用程序;和当计算机应用程序的条件满足预定的条件信息时生成告警。
26.权利要求25的计算机系统,其中计算机应用程序是根据由用户经由用户接口输入的选择信息进行选择的。
27.权利要求25的计算机系统,其中计算机应用程序是企业javaBean与servlet之一。
28.权利要求27的计算机系统,其中选择步骤还包括选择在其上有计算机应用程序运行的服务器;从要被监视的、在选择的服务器上运行的多个计算机应用程序中选择至少一个计算机应用程序;输入表示其间监视计算机应用程序的时间间隔的监视时间间隔;以及输入表示在生成告警之前其间计算机应用程序的条件满足预定的条件信息的监视时间间隔的数目的等待数目。
29.权利要求28的计算机系统,其中输入条件信息的步骤还包括选择由要被监视的选择的计算机应用程序执行的多个方法中的至少一个方法。
30.权利要求29的计算机系统,其中输入条件信息的步骤还包括选择要被监视的、与选择的方法有关的多个参数中的至少一个参数,其中多个参数包括在监视时间间隔期间方法的平均执行时间、在监视时间间隔期间方法的最小执行时间、在监视时间间隔期间方法的最大执行时间、表示在监视时间间隔期间方法被调用的次数的方法调用计数、和表示在监视时间间隔期间处理方法请求的线程的数目的方法线程计数。
31.权利要求30的计算机系统,其中输入条件信息的步骤还包括为至少一个选择的参数输入至少一个阈值水平,以便确定计算机应用程序的状态。
32.权利要求31的计算机系统,其中监视步骤还包括把至少一个动态观察器插入到计算机应用程序的字节代码,以监视计算机应用程序,其中动态观察器在检测到计算机应用程序中的多个事件的任一个事件后生成通知消息。
33.权利要求32的计算机系统,其中多个事件包括加载计算机应用程序、启动计算机应用程序的选择的方法、结束计算机应用程序的选择的方法、和经由线程访问该方法。
34.权利要求33的计算机系统,其中由动态探测器生成的通知消息包括表示计算机应用程序的类型的数据、表示调用计算机应用程序的线程的身份的线程ID、表示所调用的计算机应用程序的名称的名称、和包括计算机应用程序的选择的方法的开始时间和结束时间之一的时间信息。
35.权利要求34的计算机系统,其中监视步骤还包括公布在由动态观察器生成的通知消息中包括的数据。
36.权利要求35的计算机系统,其中生成步骤还包括处理被包括在通知消息中的数据,以确定每个选择的参数的数值;把每个选择的参数的数值与该选择的参数的至少一个阈值水平进行比较,以确定计算机应用程序的状态;以及当计算机应用程序的状态表示要生成告警时生成告警。
全文摘要
用于监视计算机应用程序的方法和系统,包括选择计算机应用程序、输入条件信息、监视计算机应用程序和当计算机应用程序的条件满足条件信息时生成告警。监视步骤可以通过把动态观察器插入到计算机应用程序的字节代码,该动态观察器在某些事件发生后生成通知消息而完成。通知消息中包括的数据可被使用来确定与计算机应用程序有关的选择的参数的数值,然后把该数值与由用户作为条件信息的一部分输入的阈值水平进行比较,以确定计算机应用程序的条件。当计算机应用程序的条件表示有问题以及要生成告警时生成告警。
文档编号G06F11/32GK1650269SQ03808825
公开日2005年8月3日 申请日期2003年4月18日 优先权日2002年4月19日
发明者普拉卡什·科特, 卡尔蒂克·尚卡拉纳拉亚南, 拉金德拉·约德哈普卡, 西尔维奥·德文森蒂斯, 鲁特维克·杜什 申请人:计算机联合思想公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1