监视 Java 应用程序

重要

此版本的 Operations Manager 已终止支持。 建议 升级到 Operations Manager 2022

在 System Center - Operations Manager 中,可使用 Java 应用程序性能监视 (APM) 来监视 Java 应用程序,以获得有关应用程序性能和异常事件的详细信息,从而帮助找出问题的根本原因。 借助用于 Java 应用程序性能监视的 System Center 管理包,可使用 Operations Manager Application Advisor 监视 Java 应用程序性能和异常事件。 利用 Operations Manager Application Advisor,你可以调查性能事件的方法和资源计时、异常事件的堆栈跟踪、事件的 Java 特定计数器(例如 Average Request Time、Requests Per Second、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 应用程序服务器,并提供初始的应用程序级别发现。 有关详细信息,请参阅 如何为 Java 应用程序配置监视,以及 Microsoft 下载中心上提供的特定类型的应用程序服务器的 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 应用程序配置监视