SpringSource应用管理套件(AMS)发布

工程 | Jennifer Hickey | 2008年3月31日 | ...

自从SpringSource与Hyperic合作将我们的应用管理套件(AMS)产品推向市场以来,已经过去了忙碌的几个月。我很高兴地宣布SpringSource AMS的测试版现已向所有人开放。请花一点时间评估软件并在测试版论坛上发表您的想法。我们致力于为Spring驱动的应用程序提供最佳的应用程序管理体验,您的反馈意见非常宝贵!

12月在Spring体验大会上对SpringSource AMS表示感兴趣的人收到了宣布测试版发布的电子邮件。以下是该电子邮件中介绍SpringSource AMS并概述其一些附加功能的摘录

SpringSource应用管理套件(AMS)是一款全面的企业应用管理工具。它旨在管理和监控所有Spring驱动的应用程序、Spring运行时以及各种平台和应用服务器。SpringSource AMS基于Hyperic的HQ企业版构建,这是一个成熟的系统和应用程序管理解决方案。SpringSource AMS的附加功能包括:- 部署时自动发现Spring驱动的应用程序 - 自动监控在您的应用程序中运行的各种Spring、第三方和刻板组件。SpringSource AMS检测Spring Framework中的各种组件。只需将检测到的jar文件放入您的应用程序中,SpringSource AMS就会开始监控您的应用程序并通过JMX公开统计信息。无需额外的配置步骤! - 自动监控Spring运行时的组件,包括应用程序上下文和bean工厂

在这篇博客中,我将更详细地解释这些功能,讨论其背后的技术,并向您展示如何使用SpringSource AMS监控您的应用程序。

SpringSource AMS的关键功能

应用程序自动发现 SpringSource AMS在部署时自动发现您的Web和独立应用程序。它评估通过ApplicationContext创建的每个bean。如果它知道如何管理和监控该bean,它会将该bean导出为托管资源。此外,还有一些组件(例如DispatcherServlet)即使在ApplicationContext之外创建,SpringSource AMS也能通过使用AspectJ方面来建议创建而发现它们。AMS产品文档中可以找到托管Spring Framework组件的完整列表。

SpringSource AMS对您的应用程序及其包含的ManagedResources进行建模。每个ManagedResource都有一组固定的属性、控制操作和指标。这产生了一个简单一致的清单模型,该模型描述了您的整个应用程序。此模型会自动导出到JMX ModelMBeans。然后,任何JMX客户端(包括SpringSource AMS代理)都可以访问这些MBean,该代理从Spring驱动的应用程序检索数据以在SpringSource AMS仪表板上显示。

SpringSource AMS仪表板目前显示在Tomcat、WebLogic和WebSphere服务器以及独立应用程序中部署的Spring托管资源。Spring托管资源在JBoss服务器上的显示计划在SpringSource AMS的最终1.0版本中发布。如果您使用的是其他服务器并将单个应用程序部署到该服务器,则仍然可以通过在服务器启动时包含“spring.managed.application.name”系统属性来查看仪表板中的服务,这将导致发现名为“Spring Application”的服务器。如果您希望将来看到对其他服务器的支持,请在测试版论坛上告知我们。

监控 SpringSource AMS使用AspectJ方面在编译时进行编织以建议监控方法,从而执行大部分操作监控。这会给您的方法执行增加非常小的开销(在大多数情况下,只需在方法执行之前和之后快速记录时间戳)。对给定方法执行的指标数据(例如吞吐量和平均执行时间)的聚合是异步完成的。

SpringSource AMS还可以监控您的一些刻板组件——那些用@Controller、@Repository、@Transactional、@Component和@Service标记的组件。在发现这些组件后,SpringSource AMS会将它们包装在Spring AOP代理中(或将MethodInterceptor添加到现有代理中)。此代理用于收集组件每个方法的执行时间(以毫秒为单位)。然后,每个方法的平均执行时间将通过导出到JMX的清单模型提供。

入门

检测您的Spring驱动的应用程序 SpringSource AMS包含在您的应用程序中使用的Spring Framework 2.5.2的检测版本(spring-framework-instrumented-management.zip)。Spring Framework的组件使用代码挂钩和AspectJ编译器的编译时编织相结合的方式进行检测以进行管理。

要检测您的应用程序,只需将您现有的Spring Framework jar替换为spring-framework-instrumented-management.zip中包含的检测版本即可。您还需要将springsource-ams-instrumentation-agent.zip中的jar添加到您的类路径中。有关更多详细信息,请参阅AMS产品文档中的“使用AMS检测您的应用程序以进行管理”。

如果您在已经公开JMX MBeanServer和远程JMX连接器的容器(例如WebLogic或WebSphere)中运行,那么这就是您需要做的全部工作!Tomcat用户可以快速配置Tomcat以进行监控,如此处所述。SpringSource AMS还可以与独立应用程序一起使用,可以通过添加Tomcat设置中建议的相同系统属性或使用Spring JMX类(例如MBeanServerFactoryBean和ConnectorServerFactoryBean)来启用JMX连接。

如果您运行的是独立应用程序,则需要包含“spring.managed.application.name”系统属性,以便SpringSource AMS知道您的应用程序名称(例如,-Dspring.managed.application.name=PetClinic)。 使用SpringSource AMS仪表板 使用SpringSource AMS仪表板全面了解应用程序以及在其上运行的平台和容器的运行状况——对于单个节点或整个集群!只需按照springsource-ams-installer发行版中包含的安装指南中的说明操作,即可启动并运行AMS服务器和代理。

AMS代理在启动时自动发现您的应用程序服务器或独立Spring驱动的应用程序。您应该在仪表板上的自动发现portlet中看到已发现的服务器(可以通过登录到http://server:7080访问),如下图所示

AMS Server Discovery

选择“添加到清单”按钮将服务器添加到清单。这是您监控的每个服务器的一次性步骤。

将服务器添加到清单后,您可以通过从导航菜单中选择“资源”->“浏览”来访问它。配置Tomcat、WebLogic、WebSphere或Spring Application服务器的连接属性后,SpringSource AMS应该开始发现您的应用程序服务。它们将显示在“资源”视图下的“服务”中,还将显示在服务器的“监控”和“清单”选项卡中,如下图所示

AMS Service Inventory

服务名称将包含应用程序名称以方便分组。要将您的服务分组到应用程序中以便于查看,请从导航菜单中选择“资源”->“浏览”。然后从“工具”菜单中选择“新建应用程序”并创建一个新应用程序。

在应用程序视图中,选择“服务”楼层选项卡并单击“添加到列表”。然后,您应该会看到一个服务列表。您可以根据应用程序名称过滤服务并将它们添加到您的应用程序,如下所示

AMS Application

您现在可以开始查看指标、定义警报、运行报表等等!请参阅测试版下载中包含的AMS文档手册,以全面了解所有AMS功能。敬请期待更多博客文章,这些文章将重点介绍您可以使用AMS来防止应用程序停机、监控性能、实施服务级别协议以及更多方法。

下一步是什么?

SpringSource AMS还有更多计划。将来寻找更多Spring产品组合的检测版本。Spring Security和Spring Web Flow的检测版本应该随Spring Source AMS的最终1.0版本一起提供。还要寻找在应用程序模型中包含更多第三方组件,例如Apache ActiveMQ和Quartz。

我们需要您的反馈!您希望SpringSource AMS自动公开哪些类型的管理数据?您希望在仪表板中看到哪些具体的视图或报表?您希望产品具有哪些特定功能?作为唯一专门针对Spring应用程序的应用程序管理解决方案,我们希望使其对开发人员和运维人员都尽可能强大和易于使用!

获取Spring新闻通讯

通过Spring新闻通讯保持联系

订阅

领先一步

VMware提供培训和认证,以加快您的进度。

了解更多

获得支持

Tanzu Spring在一个简单的订阅中提供OpenJDK™、Spring和Apache Tomcat®的支持和二进制文件。

了解更多

即将举行的活动

查看Spring社区中所有即将举行的活动。

查看全部