监视 Java 应用程序

System Center 中的 Java 应用程序性能监视器 (APM) - Operations Manager 允许监视 Java 应用程序,以获取有关应用程序性能和异常事件的详细信息,这些事件可以帮助你确定问题的根本原因。 使用适用于 Java 应用程序的 System Center 管理包性能监视器,可以使用 Operations Manager 应用程序顾问监视 Java 应用程序性能和异常事件。 使用 Operations Manager 应用程序顾问,可以调查性能事件的方法和资源计时、异常事件的堆栈跟踪、事件(例如平均请求时间、每秒请求数、JVM 内存和类加载程序)的堆栈跟踪,并运行一些标准应用程序性能监视器报告。 此外,还可以在 Java 应用程序服务器计数器上获取 Operations Manager 级别的警报。 请从 Microsoft 下载中心下载用于 Java 应用程序性能监视的管理包。

Java 应用程序性能监视与 .NET 应用程序性能监视在许多概念上是相同的。 但是,存在一些重要差异,包括:对象层次结构、使用替代和警报的方法(Java 应用程序性能监视器没有创作和配置模板,因此更改管理包替代的配置),并且不会在 Java 应用程序性能监视器报表中处理服务器级信息。

支持的配置

用于 Java 应用程序性能监视的管理包需要适用的 Windows Server 版本和 Operations Manager。

支持的配置:

  • Tomcat 5、Tomcat 6 和 Tomcat 7

    • Windows

    • Linux

  • Java JDK 5、Java JDK 6

  • Web 技术

    • GenericServlet

    • Struts

    • Struts2

    • Axis2

先决条件

若要运行用于 Java 应用程序性能监视的管理包,你必须配置用于 Java Enterprise Edition (JEE) 的管理包,以便进行深入监视。 此管理包监视 JEE 应用程序服务器,并提供初始的应用程序级别发现。 有关详细信息,请参阅Microsoft下载中心提供的适用于特定类型的应用程序服务器的 JEE 配置监视和 JEE 管理包指南。

如何监视 Java 应用程序

当你了解一个新的 Java 应用程序时,使用 Java 应用程序性能监视器获取基线度量值,然后逐渐纵向扩展部署。 下面是一些开始的设置,可帮助你了解新应用程序。 此外,最好在测试或开发环境中开始监视,在生产环境中实现基线配置。

新应用程序的监视设置

遵循此策略来监视新的 Java 应用程序有助于了解应用程序在环境中和客户的行为方式。

使用简单的受监视系统和短期设置开始监视

首先,简化配置:监视一台服务器上的一个应用程序。 第二,在初次配置 Java 应用程序性能监视以监视新的应用程序时,计划将你实施的设置保留足够长的时间,以便你了解一些趋势。 一天的数据应该为你提供有关应用程序性能和使用模式的见解。

使用默认设置和某些特定设置建立基线性能

通常,需要保留默认设置。 默认设置可确保看到应用程序出现任何问题,并至少对受监视的应用程序造成影响。

如果未引发任何性能或异常事件,可以使用以下步骤来了解基线性能的外观。

若要开始监视,以下是一些你可能想按照此处所述调整的设置:

  • 降低性能的阈值。 这有助于通过查看应用程序的当前性能特征来建立基线性能度量值。 有关性能阈值的详细信息,请参阅 How to Configure Monitoring for Java Applications

  • 检查所有异常。 你需要知道正在引发何种异常。 使用已知的异常处理程序会限制你收到的异常。

这可能会导致大量数据,而不是长期监视所需的数据。 最初,这种数据量将很有帮助,因为你将看到趋势,例如客户正在经历系统的路径类型以及正常性能的外观。

在数据收集完成后,使用 Application Advisor 报表(例如应用程序性能分析)来了解监视的应用程序的状况。 使用报告,你将看到通过系统进行最严重(最长运行)调用的平均持续时间,以及处理请求所花费的最大时间。 这可让你根据实际的应用程序性能巧妙地设置自定义的阈值。 你还将看到哪些函数的运行速度比其他函数快,并且你可以为关键方法创建特定的网页、Web 方法和函数事务,以便你可以确保它们在比整个应用程序更紧密的 SLA 下响应。 有关查看报表的详细信息,请参阅 Prioritizing Alerts by Using Application Advisor中有关如何确定 Application Advisor 报表的作用域以及运行该报表的说明。

调整设置并与基线进行比较

建立基线性能度量值后,开始调整设置以优化监视,以便捕获引发的异常类型。 通过报告所有异常,你将看到应用程序中是否存在任何默认异常处理程序,这些处理程序会捕获你希望接收警报的异常。 在每次调整后,你获得的数据都将更有意义,而且数量更少。

  • 删除自定义设置并根据收集的数据设置阈值。

  • 为任何应用程序级别“捕获所有”处理程序添加异常处理程序,以阻止异常超出应用程序。

  • 添加特殊事务以监视常用方法的性能,这些方法应遵守比整体应用程序更强硬的 SLA。

将新数据与基准进行比较。 例如,你将开始看到实时平均响应时间。 既然你知道了应用程序正在发送的不同性能异常,那么,你可以添加所要的特定命名空间,而不是监视所有命名空间。 应用程序将被配置为根据观察到的性能水平接受监视,而且,如果发生了超过正常水平的事情,应用程序将会收到警报。

将应用程序逐渐部署到受监视的服务器

使用新的监视配置监视应用程序一段时间后,当你觉得应用程序正常时,将运行应用程序的服务器数增加到 10,例如。 如果应用程序在该级别上健康运行,则将部署和监视范围扩大到更多服务器。 这种逐渐铺开的方法将帮助你满怀信心地监视该应用程序,并帮助确保系统健康运行。

操作员可以使用此信息执行的操作

使用此基本信息,操作员可以更好地了解应用程序或基础结构问题所在,并知道只有开发团队可以修复,或者操作员可以直接解决。

后续步骤

有关配置 Java 应用程序的监视的详细信息,请参阅 如何为 Java 应用程序配置监视。