一种应用运行监控方法及系统与流程

文档序号:13763489阅读:500来源:国知局
一种应用运行监控方法及系统与流程

本发明涉及应用监控技术领域,特别是涉及一种应用运行监控方法及系统。



背景技术:

随着计算机技术的发展,网络管理协议和网络管理软件逐渐增多。无论是从底层的协议实现还是从上层的管理软件来看,现有的这些网络管理协议和网络管理软件大多是面向操作系统、面向通用框架、面向通用设备的管理的实现。

而企业级的互联网+应用多是采用面向服务的体系结构(Service-Oriented Architectures:SOA),在这种体系结构下,很难通过现有的网络管理协议或者网络管理软件管理分布式应用资源,使得服务质量不高,所以,亟需一种应用运行监控系统管理分布式应用资源。



技术实现要素:

本发明的目的是提供一种应用运行监控方法及系统,以实现对分布式应用资源的监控和管理,提高服务质量。

一种应用运行监控方法,应用于管理器,所述管理器分别与管理平台和若干个应用代理通信连接,所述方法包括:

接收所述管理平台或者任意一个应用代理发送的针对目标应用资源的第一数据查询请求;

确定所述目标应用资源对应的目标应用代理;

向所述目标应用代理发送针对所述目标应用资源的第二数据查询请求,以使所述目标应用代理调用相应的指标生成器生成所述目标应用资源的监控数据,并向所述管理器返回所述监控数据;

接收所述目标应用代理返回的监控数据,并将所述监控数据返回给所述管理平台或者发送所述第一数据查询请求的应用代理。

在本发明的一种具体实施方式中,所述管理器还与终端机连接,所述方法还包括:

接收任意一个应用代理发送的报警请求;

根据所述报警请求,生成报警信息,并将所述报警信息发送给所述终端机。

在本发明的一种具体实施方式中,所述方法还包括:

通过各应用代理获得各应用资源的监控数据,根据获得的监控数据生成性能数据报告,并将所述性能数据报告广播给所述终端机。

一种应用运行监控系统,所述系统包括管理器、管理平台和若干个应用代理,所述管理器分别与所述管理平台和若干个所述应用代理通信连接,其中,

所述管理平台,用于向所述管理器发送针对目标应用资源的第一数据查询请求,接收并处理所述管理器返回的所述目标应用资源的监控数据;

除目标应用代理外的任意一个所述应用代理,用于向所述管理器发送针对目标应用资源的第一数据查询请求,接收所述管理器返回的所述目标应用资源的监控数据;

所述目标应用代理,用于在接收到所述管理器发送的针对所述目标应用资源的第二数据查询请求时,调用相应的指标生成器生成所述目标应用资源的监控数据,并将生成的监控数据返回给所述管理器;

所述管理器,用于接收所述管理平台或者除所述目标应用代理外的任意一个所述应用代理发送的针对目标应用资源的第一数据查询请求,确定所述目标应用资源对应的所述目标应用代理,向所述目标应用代理发送针对所述目标应用资源的第二数据查询请求,接收所述目标应用代理返回的监控数据,并将所述监控数据返回给所述管理平台或者发送所述第一数据查询请求的应用代理。

在本发明的一种具体实施方式中,所述系统还包括终端机,所述终端机与所述管理器连接,

所述管理器,还用于接收任意一个应用代理发送的报警请求;根据所述报警请求,生成报警信息,并将所述报警信息发送给所述终端机;

所述终端机,用于在接收到所述报警信息后,将所述报警信息通过预设的通知形式通知给管理员。

在本发明的一种具体实施方式中,

所述管理器,还用于通过各应用代理获得各应用资源的监控数据,根据获得的监控数据生成性能数据报告,并将所述性能数据报告广播给所述终端机。

在本发明的一种具体实施方式中,所述目标应用资源为外部应用资源,所述目标应用代理,具体用于通过协议适配器与所述目标应用资源连接,并调用相应的指标生成器生成所述目标应用资源的监控数据。

在本发明的一种具体实施方式中,

所述管理平台,还用于根据接收到的监控数据,生成各类应用指标,并对各类应用指标进行动态实时监控和静态定时监控。

在本发明的一种具体实施方式中,所述管理器包括监视服务管理模块、时间服务管理模块、关系服务管理模块、报警服务管理模块和维护服务管理模块。

在本发明的一种具体实施方式中,所述监视服务管理模块包括计数器监视子模块、度量监视子模块和字符串监视子模块。

应用本发明实施例所提供的技术方案,管理器分别与管理平台和若干个应用代理通信连接,可以接收管理平台和应用代理发送的针对目标应用资源的第一数据查询请求,并确定目标应用资源对应的目标应用代理,向目标应用代理发送第二数据查询请求,获得目标应用资源的监控数据,并返回给管理平台和发出第一数据查询请求的应用代理。实现了对分布式应用资源的监控和管理,提高了服务质量。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中应用运行监控系统的一种结构示意图;

图2为本发明实施例中应用运行监控系统的横向体系结构示意图;

图3为本发明实施例中应用运行监控系统的纵向体系结构示意图;

图4为本发明实施例中计数监视操作示意图;

图5为本发明实施例中管理器与应用代理之间交互命令流程图;

图6为本发明实施例中指标库结构的一种示意图;

图7为本发明实施例中一种应用运行监控方法的实施流程图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1、图2、图3所示,为本发明实施例所提供的一种应用运行监控系统的结构示意图,该系统可以简称为ARMMP,包括管理器、管理平台和若干个应用代理,管理器分别与管理平台和若干个应用代理通信连接。

其中,管理平台,用于向管理器发送针对目标应用资源的第一数据查询请求,接收并处理管理器返回的目标应用资源的监控数据;

除目标应用代理外的任意一个应用代理,用于向管理器发送针对目标应用资源的第一数据查询请求,接收管理器返回的目标应用资源的监控数据;

目标应用代理,用于在接收到管理器发送的针对目标应用资源的第二数据查询请求时,调用相应的指标生成器生成目标应用资源的监控数据,并将生成的监控数据返回给管理器;

管理器,用于接收管理平台或者除目标应用代理外的任意一个应用代理发送的针对目标应用资源的第一数据查询请求,确定目标应用资源对应的目标应用代理,向目标应用代理发送针对目标应用资源的第二数据查询请求,接收目标应用代理返回的监控数据,并将监控数据返回给管理平台或者发送第一数据查询请求的应用代理。

在本发明实施例中,每个应用代理可以对一个或多个应用资源进行监控,如图2、图3所示,应用代理可以对J2EE业务应用系统的内部应用资源进行监控,或者对Windows、Unix/Linux/Aix、Oracle、Weblogic、网络设备等外部应用资源进行监控。

对于内部应用资源,应用代理通过业务系统指标生成器可以直接生成内部应用资源的监控数据,对于外部应用资源,应用代理需通过协议适配器与外部应用资源连接,通过调用外部系统指标生成器生成外部应用资源的监控数据。

应用代理可以向管理器发送针对其监控的应用资源的注册请求,管理器响应该注册请求后,即可与该应用代理保持心跳,并进行信息和数据的交互。应用代理还可以向管理器发送针对其监控的应用资源的注销请求,管理器响应该注销请求后,即可与该应用代理断开连接。

管理平台和任意一个应用代理都可以向管理器发送针对目标应用资源的第一数据查询请求。

管理器接收到第一数据查询请求后,可以确定该目标应用资源对应的目标应用代理。具体的,在管理器内可以维护应用代理和应用资源的对应关系,当接收到针对目标应用资源的第一数据查询请求时,即可根据该对应关系确定该目标应用资源对应的目标应用代理。目标应用代理为与管理器连接的若干个应用代理中的一个。管理器确定目标应用代理后,可以向该目标应用代理发送针对目标应用资源的第二数据查询请求。

目标应用代理在接收到管理器发送的第二数据查询请求时,可以调用相应的指标生成器生成该目标应用资源的监控数据,并将生成的监控数据返回给管理器。如果目标应用资源为外部应用资源,则目标应用代理可以通过协议适配器与目标应用资源连接,调用相应的指标生成器生成目标应用资源的监控数据。

管理器再将该监控数据返回给管理平台或者发送第一数据查询请求的应用代理。

管理平台可以对接收到的监控数据进行分析和处理。具体的,可以根据接收到的监控数据,生成各类应用指标,并对各类应用指标进行动态实时监控和静态定时监控,并通过图形化形式展现监控结果。管理平台还可以对历史监控数据进行分析,输出图形化分析结果。另外,通过管理平台还可以实现各类应用和设备等应用资源的警戒线定义和健康检查,设置多元化报警方式。管理平台可以进行应用系统性能分析,输出应用系统负载均衡建议策略,并且,管理平台可以响应针对应用资源信息、报警信息或者日志信息等的查询请求。

参见图2、图3所示,在本发明的一个实施例中,该系统还可以包括终端机,该终端机与管理器连接。

管理器,还用于接收任意一个应用代理发送的报警请求;根据报警请求,生成报警信息,并将报警信息发送给终端机;

终端机,用于在接收到报警信息后,将报警信息通过预设的通知形式通知给管理员。

在实际应用中,终端机可以向管理器发送心跳请求,管理器响应终端机的心跳请求后,即可与该终端机建立连接。

在本发明实施例中,应用代理在对应用资源进行监控过程中,如果检测到指标异常,则可以主动报警给管理器。管理器接收到任意一个应用代理发送的报警请求后,可以根据该报警请求,生成报警信息,并将该报警信息发送给终端机。具体可以通过UDP数据包传送该报警信息。

终端机接收到报警信息后,可以将报警信息通过预设的通知形式通知给管理员。如通过响铃形式或者短信息形式通知。管理员可以根据报警信息进行相应问题的查看和解决。

在本发明的一个实施例中,管理器还用于通过各应用代理获得各应用资源的监控数据,根据获得的监控数据生成性能数据报告,并将性能数据报告广播给终端机。

在本发明的一种具体实施方式中,管理器可以包括监视服务管理模块、时间服务管理模块、关系服务管理模块、报警服务管理模块和维护服务管理模块。

监视服务管理模块,可以对应用资源的属性值进行定期监视,如果监视的属性值的变化超出了预先设定的范围,则可以生成一个通告,这样可以保证属性值始终处于一个特定的范围。监视服务管理模块可以包括计数器监视子模块、度量监视子模块和字符串监视子模块:

计数器监视子模块,用于监视计数器类型的属性值,通常为整型,且只能按一定规律递增。以图4所示为例,当计数器类型的属性值超出预先设定的范围(3,5)或(5,7)时,即可生成一个通告event;

度量监视子模块,用于监视度量类型的属性值,通常为实数,值可增大也可减小;

字符串监视子模块,用于监视字符串的属性值。

时间服务管理模块,可以在设定的时间和日期发出通告,也可以周期性的发出通告。时间服务管理模块为一个管理构建,通过时间服务管理模块可以为管理器建立一个可配置的备忘录,实现智能管理服务。

关系服务管理模块,可以维持系统内各主机各应用指标的关系,比如,对于不同应用资源的相同指标,需同时对相应的监控数据进行采集,并对监控数据进行统计,发现出现问题后,进行广播通知等。

报警服务管理模块,可以根据不同的问题级别自动灵活选择不同的报警方式。

维护服务管理模块,可以在发现问题后根据设置的动作类型和动作脚本,主动干预相关主机应用。

在本发明实施例中,应用代理可以分为两类:一类是WEB层应用代理,一类是EJB层应用代理。WEB层应用代理与管理器之间可以采用HTTP交互协议,EJB层应用代理与管理器之间可以采用T3交互协议。

如图5所示,管理器和应用代理之间的交互命令的功能描述可以参见表1:

表1

在本发明实施例中,被监控管理的应用资源的对象的集合可以称为指标库,每个对象可以作为一个JAVA对象,代表应用资源的某一方面的特征信息。指标库可以为一棵树形式,树根结点为ARMMP,被监控管理的应用资源及对象分别是树的各个分枝和叶子结点,如图6所示。

举例而言,如果要获取webrz的并发用户数,则可以通过“ARMMP.app.webrz.ConcurentUserCount”或者“1.1.2.1”标识获取。

如果要获取AIX小型机的物理内存利用率,则可以通过“ARMMP.server.AIX.PhysicalMemUtilization”或者“1.2.3.1”标识获取。

每个指标项的抽象数据结构可以描述如下:

指标项::={标识+类型+参数+值}

类型::={TABLE|VALUE}

应用本发明实施例所提供的系统,管理器分别与管理平台和若干个应用代理通信连接,可以接收管理平台和应用代理发送的针对目标应用资源的第一数据查询请求,并确定目标应用资源对应的目标应用代理,向目标应用代理发送第二数据查询请求,获得目标应用资源的监控数据,并返回给管理平台和发出第一数据查询请求的应用代理。实现了对分布式应用资源的监控和管理,提高了服务质量。

相应于上面的系统实施例,本发明实施例还提供了一种应用运行监控方法,该方法应用于管理器,管理器分别与管理平台和若干个应用代理通信连接。

参见图7所示,该方法可以包括以下步骤:

S110:接收管理平台或者任意一个应用代理发送的针对目标应用资源的第一数据查询请求;

S120:确定目标应用资源对应的目标应用代理;

S130:向目标应用代理发送针对目标应用资源的第二数据查询请求,以使目标应用代理调用相应的指标生成器生成目标应用资源的监控数据,并向管理器返回监控数据;

S140:接收目标应用代理返回的监控数据,并将监控数据返回给管理平台或者发送第一数据查询请求的应用代理。

为便于描述,将上述四个步骤结合起来进行说明。

管理平台和任意一个应用代理都可以向管理器发送针对目标应用资源的第一数据查询请求。

管理器接收到第一数据查询请求后,可以确定该目标应用资源对应的目标应用代理。具体的,在管理器内可以维护应用代理和应用资源的对应关系,当接收到针对目标应用资源的第一数据查询请求时,即可根据该对应关系确定该目标应用资源对应的目标应用代理。目标应用代理为与管理器连接的若干个应用代理中的一个。管理器确定目标应用代理后,可以向该目标应用代理发送针对目标应用资源的第二数据查询请求。

目标应用代理在接收到管理器发送的第二数据查询请求时,可以调用相应的指标生成器生成该目标应用资源的监控数据,并将生成的监控数据返回给管理器。如果目标应用资源为外部应用资源,则目标应用代理可以通过协议适配器与目标应用资源连接,调用相应的指标生成器生成目标应用资源的监控数据。

管理器再将该监控数据返回给管理平台或者发送第一数据查询请求的应用代理。

在本发明的一种具体实施方式中,管理器还与终端机连接,该方法还可以包括以下步骤:

接收任意一个应用代理发送的报警请求;

根据报警请求,生成报警信息,并将报警信息发送给终端机。

在本发明实施例中,应用代理在对应用资源进行监控过程中,如果检测到指标异常,则可以主动报警给管理器。管理器接收到任意一个应用代理发送的报警请求后,可以根据该报警请求,生成报警信息,并将该报警信息发送给终端机。具体可以通过UDP数据包传送该报警信息。

终端机接收到报警信息后,可以将报警信息通过预设的通知形式通知给管理员。如通过响铃形式或者短信息形式通知。管理员可以根据报警信息进行相应问题的查看和解决。

在本发明的一个实施例中,该方法还可以包括以下步骤:

通过各应用代理获得各应用资源的监控数据,根据获得的监控数据生成性能数据报告,并将性能数据报告广播给终端机。

应用本发明实施例所提供的方法,管理器分别与管理平台和若干个应用代理通信连接,可以接收管理平台和应用代理发送的针对目标应用资源的第一数据查询请求,并确定目标应用资源对应的目标应用代理,向目标应用代理发送第二数据查询请求,获得目标应用资源的监控数据,并返回给管理平台和发出第一数据查询请求的应用代理。实现了对分布式应用资源的监控和管理,提高了服务质量。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种应用运行监控方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1