System Center 中的 Java 应用程序性能监视器 (APM) - Operations Manager 允许监视 Java 应用程序,以获取有关应用程序性能和异常事件的详细信息,这些事件可以帮助你确定问题的根本原因。 System Center 管理包的 Java 应用性能监控允许您使用 Operations Manager Application Advisor 监控 Java 应用程序的性能和异常事件。 使用 Operations Manager 应用程序顾问,您可以调查性能事件的方法和资源计时、异常事件的堆栈跟踪、Java 专用的事件计数器(例如平均请求时间、每秒请求数、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 应用程序配置监视和适用于您特定类型应用程序服务器的JEE 管理包指南,这些信息可在Microsoft 下载中心获取。
如何监视 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。
将新数据与基准进行比较。 例如,你将开始看到实时平均响应时间。 既然你知道了应用程序正在发送的不同性能异常,那么,你可以添加所要的特定命名空间,而不是监视所有命名空间。 应用程序将被配置为根据观察到的性能水平接受监视,而且,如果发生了超过正常水平的事情,应用程序将会收到警报。
将应用程序逐渐部署到受监视的服务器
在使用新的监视配置监视应用程序一段时间后,当你认为应用程序运行正常时,可以将运行和监视应用程序的服务器数量从1台增加到10台。 如果应用程序在该级别上健康运行,则将部署和监视范围扩大到更多服务器。 这种逐渐铺开的方法将帮助你满怀信心地监视该应用程序,并帮助确保系统健康运行。
操作员可以使用此信息执行的操作
使用此基本信息,操作员可以更好地了解应用程序或基础结构问题所在,并知道只有开发团队可以修复,或者操作员可以直接解决。
后续步骤
有关配置 Java 应用程序的监视的详细信息,请参阅 如何为 Java 应用程序配置监视。