Java 监控涉及监控在 Java 上运行的应用程序的关键性能指标,以及 支持 Java 应用程序的服务器。Java 监控可以帮助优化 Java 应用程序的性能,发现和识别以下问题: 导致常见的应用程序问题,并在问题影响最终用户之前解决问题。
Java 应用程序监控工具
Applications Manager 获取 Java 应用程序的实时性能监控、即时警报和详细报告,实现最佳性能并快速解决问题。
- 监视 Java 应用程序并解决性能问题
- 密切关注 Java 虚拟机(JVM)的运行状况和性能
- 深入了解 Java 应用程序服务器
- 监视 JMX 性能
- 主动故障管理和报告
监视 Java 应用程序并解决性能问题
通过应用程序管理器,IT基础设施配备了一个强大的Java性能监视工具,该工具具有深入的应用程序性能监视功能。这可以帮助管理员识别和解决开发、QA和生产环境中的应用程序性能问题。
- 应用程序中托管的轻量级事务监视代理 APM Insight 可实现此功能 实时监控,让管理员全面了解整个 Java 应用程序堆栈,包括数据库和服务。
- 获取代码级见解并发现应用程序崩溃的原因,排查问题并防止它不再发生。
- 监控 Java 应用程序以隔离错误代码并更快地修复这些问题并确保结束 用户不受影响。
密切关注 Java 虚拟机(JVM)的运行状况和性能
Java 虚拟机(JVM)是所有 Java 应用程序不可或缺的一部分,Java 监控工具套件还可以监控 JVM 指标。使用VM监控工具:
- 注意内存使用情况(包括堆和非堆内存):如果注意到堆内存使用持续增加,这可能表明对象没有被取消引用,因此可能导致OutOfMemory (OOM)错误,这可能导致应用程序突然崩溃。
- 获取广泛的线程详细信息:监视Java以关注繁忙和空闲线程的数量,这可以帮助管理员确保有足够的空闲线程来处理传入的用户请求。
- 监视Java垃圾收集(GC):如果垃圾收集发生得太频繁或花费了很长时间,它可能会使应用程序暂停,从而降低应用程序的响应性。监视GC中的对象数量和花费的时间可以帮助优化GC过程。
深入了解 Java 应用程序服务器
Java监视工具使管理员能够实时捕获基于Java的应用服务器(如Apache Tomcat、JBoss、IBM Websphere和Oracle WebLogic)的关键Java性能指标。
通过跟踪关键kpi来优化Java应用服务器性能:
- JDBC指标:密切关注JVM内存使用情况和JMS队列状态,以避免应用程序突然崩溃。
- JVM和JMS指标:密切关注JVM内存使用情况和JMS队列统计,以避免应用程序突然崩溃。
- 并发性:监控各种与线程相关的指标,防止线程池耗尽,分析线程转储以发现应用程序性能下降的原因。
- 内存指标:监控物理(CPU、磁盘)和虚拟(JVM)内存使用情况,并确保最佳资源分配。
监视 JMX 性能
Java应用程序监视器可以帮助管理员监视通过 JMX 公开管理信息的JMX控制台和 Java/J2EE 应用程序。它通过在JMX 控制台中查询 mbean 来促进 JMX 监视,并在发生故障时发出通知,以防止应用程序性能瓶颈。管理员还可以监视其他性能指标,例如Java JMX应用程序响应时间、内存使用情况和自定义mbean。配置自动补救操作—在违反阈值时调用MBean操作或执行自定义脚本。
主动故障管理和报告
Applications Manager的智能故障管理系统可帮助管理员跟踪和识别错误的根本原因,Java监视工具还可以检测Java应用程序中的性能异常,并帮助管理员更快地排除问题,从而减少MTTR。通过提供自动纠正操作的选项,有助于减少人工干预。
Java监视器使用户能够使用使用机器学习技术来预测使用情况的预测报告来抢占资源使用高峰,还提供统计报告,帮助管理员了解各种命令行参数和垃圾收集算法如何影响Java应用程序性能。
Java Web 事务监控
Java web事务监视代理为管理员提供了业务应用程序对最终用户的行为方式的可见性,它有助于更好地可视化端到端J2EE web事务,包括从url到SQL查询的所有组件的性能指标。这使DevOps团队能够识别和解决性能下降,无论它们来自哪里。
使用 Java 监控系统,可以通过 Apdex 评分、事务跟踪和 Java/ J2EEl 组件、EJB 的性能度量来度量用户满意度,并且可以跟踪URL执行的SQL语句。此外,为了识别性能瓶颈,可以查看 Java 方法调用的踪迹,以识别有问题的代码。
- 衡量数据库的性能
- 发现慢调用请求记录
- 分布式追踪
- 了解代码行为
- 使用线程分析精确定位问题区域
- 使用自动化服务映射大致了解应用程序架构
衡量数据库的性能
获取详细的性能指标,以确定缓慢的数据库调用、数据库使用情况和数据库的总体性能,并提供详细的图形和表格。列出数据库执行的web事务可以帮助管理员缩小并隔离导致性能下降的根本原因。
发现慢调用请求记录
获取显示为树结构的url的执行细节(跟踪),跟踪将绘制URL内部调用(方法)的顺序图,管理员还可以识别事务期间执行的SQL查询,从而识别性能最差的数据库查询。
分布式追踪
如果应用程序运行在微服务环境中,可以使用分布式跟踪功能来跟踪跨各种平台和语言从一个服务到另一个服务的调用。在发生错误时,管理员可以快速了解哪个服务受到了影响,并与相应的团队协作来修复它。
了解代码行为
通过监视对DB调用、服务调用或用户定义框架调用的命中频率,来排除由于命中过载导致的性能下降,当管理员想要检查特定代码段是否正常工作时,这可能很有用。
应用程序管理器的Java web事务监控工具允许管理员为应用程序配置可在运行时跟踪的自定义应用程序参数,这可以帮助管理员确定特定代码块的命中频率,确定可能需要优化的应用程序代码部分。
使用线程分析精确定位问题区域
借助线程分析解决生产中的问题,识别并隔离高 CPU 消耗线程和耗时的方法,避免应用程序性能下降,无需检查线程转储中的大量原始数据,即可轻松查明CPU峰值的根本原因。
使用自动化服务映射大致了解应用程序架构
可视化Java应用程序的拓扑结构,并获取有关应用程序所连接的所有外部组件状态的信息。使用 Service Map 的Graph View 选项根据不同的关键指标对组件进行排序,并获得最小、最大、平均和第95个百分位值。分析失败的请求并优化其运行状况,以增强Java应用程序的性能,管理员还将能够快速了解哪些其他组件可能受到失败服务的影响
使用 Java应用程序监视工具(像Application Manager)可以通过提供全面的见解来促进对Java应用程序及其技术的主动监视,从而帮助优化它们的性能。