Java Runtime监视器


Java Runtime 监控-概述

JJava Runtime Monitor在Java平台及其上运行的应用程序上提供了开箱即用的远程监控和管理。它监控性能指标,例如内存(JVM),垃圾回收(GC)和线程统计信息。可以关联阈值并生成告警。此外,还支持自动线程转储,堆转储和PerformGC等管理操作。Applications Manager支持的不同JVM供应商是Sun JVM,IBM JVM和Oracle JRockit JVM。

创建一个新的Java Runtime监视器

Java Runtime 监视器的先决条件:进一步了解要添加到Java Runtime 监控的应用程序中JVM参数。

使用REST API添加新的Java Runtine监视器:点击此处

  1. 点击新建监视器。选择Java Runtime
  2. 输入运行监视器的主机的IP地址主机名
  3. 输入网络的子网掩码
  4. 提供运行JDK的端口号(默认值:1099)。另外,您可以提供多个端口,以逗号分隔。
  5. 您可以输入自己的凭证详细信息,也可以在凭证管理中选择预配置的凭证详细信息。如果您希望输入自己的凭证,请为此监视器指定用户名和密码详细信息。
  6. 输入JNDI名称。例如,/ jmxrmi
  7. 要启用自定义的JMX URL,请选中启用JMX URL复选框,然后输入JMX URL。(URL的格式应为service:jmx:rmi:/// jndi / rmi:// HOST:PORT / jmxrmi。例如,jboss定制的jmx URL可以是-service:jmx:remoting-jmx:// HOST:PORT /和一个Websphere定制的jmx URL-service:jmx:wsrmi:// HOST:PORT /
  8. 如果启用了身份验证,请输入用户名和密码。
  9. 输入轮询间隔时间(以分钟为单位)。
  10. 如果要从管理服务器添加新监视器,请选择被管服务器
  11. 选择业务组,以相关联。您可以选择多个组来关联您的监视器。
  12. 点击添加监视器。这将从网络中发现监视器,然后开始监控它们。
注意:
  • 支持Java Runtime的JRE1.5及更高版本。如果JVM中存在HotSpotDiagnostic MBean,则可以支持堆转储操作。
  • 对JDK 1.8的支持:使用JDK 1.8 MetaSpace进行监控时,Applications Manager监控并显示称为MetaSpace和Compressed Class Space的新内存空间,而不是以前的永久世代(非堆)。
  • 如果即使启用JMX后也无法添加监视器,请尝试提供以下参数:
     -Djava.rmi.server.hostname =[YOUR_IP]

监控参数

  • 可用性标签提供了过去24小时或30天的可用性历史记录。
  • 性能选项卡提供了过去24小时或30天的健康状态和事件。
  • 列表视图使您可以执行批量管理配置

Java Runtime 监视器会检查监视器的可用性,响应时间,连接时间(Applications Manager在远程JVM上查找JMX代理所花费的时间)以及下面列出的许多其他参数。

概览

参数 描述
监控信息
Name JavaRuntime监视器的名称。
Health 指定JavaRuntime监视器的健康状况(正常,警告,严重)。
Type 指定要监控的类型。
Host name 指定运行Java虚拟机的主机。
Port 指定运行Java虚拟机的端口号。
Host OS 指定运行JavaRuntime监视器的主机的OS。
JVM 指定Java虚拟机名称和版本。
Vendor 指定Java虚拟机供应商名称。
Processor Count 指定可用于Java虚拟机的处理器数量。
Last Polled at 指定执行上次轮询的时间。
Next Poll at 指定计划下一次轮询的时间。
Availability 显示JavaRuntime监视器的当前状态-可用或不可用。
Connection Time 连接到Java虚拟机所花费的时间。
内存池
Eden Space (Heap Memory) 最初从中为大多数对象分配内存的池。
Survivor Space (Heap Memory) 包含已通过GCeden space对象的池。
Tenured Generation (Heap Memory) 包含survivor space中已存在一段时间的对象的池。
Java Heap JVM存储对象的空间。
Permanent Generation (Non-Heap)(for versions older than JDK 1.8) 保留虚拟机本身的所有反射数据,例如类和方法对象。对于使用类数据共享的JVM,这一代被分为只读和读写区域。
MetaSpace(for JDK 1.8) 用于表示类元数据的本机存储空间称为MetaspaceMetaSpace使用本机内存来存储元数据,并且会自动增长。
Compressed Class Space(for JDK 1.8) 压缩的类空间仅包含类元数据。
Code Cache (Non-Heap) 用于编译和存储本机代码的内存。
JIT Code Cache 内存将转换为汇编程序并存储为更高速度运行。
Nursery 新分配对象的单独空间。
类加载
Classes loaded 加载的类数。
Classes Unloaded 卸载类数。
JVM统计信息
CPU Load 指定由JVM引起的计算机负载的百分比。
0表示未创建任何负载,100表示​​所有负载均由JVM创建。
CPU Usage 这表示服务器上JVM的CPU使用率。
Max file descriptor 最大允许的打开文件描述符。仅适用于UNIX。
主机内存
Total Physical Memory 物理内存总量(以兆字节为单位)。
Free Physical Memory 可用物理内存量(以兆字节为单位)。
Total Swap Space 交换空间总量(以兆字节为单位)。
Committed Virtual Memory 保证正在运行的进程可用的虚拟内存量(以兆字节为单位)。

垃圾回收


参数 描述
垃圾回收
Time Spent/Min 大约消耗的时间(以毫秒为单位)。
Collections/Min 已发生的收集总数。
Thread Count 用于垃圾回收的线程数。
Last Start Time 此GC的开始时间。
Last End Time 此GC的结束时间。
Memory usage before GC 此GC开头的所有内存池的内存使用情况。
Memory usage after GC 此GC末尾所有内存池的内存使用情况。
GC time 执行垃圾回收所花费的时间。
Compile time 即时(JIT)编译所花费的时间。

线程

参数 描述
线程参数
Total threads started 自Java虚拟机启动以来创建和启动的线程总数。
Peak Threads 自Java虚拟机启动或重置峰值以来,活动线程峰值达到峰值。
Live Threads 当前正在运行的活动线程数。
Daemon Threads 当前正在运行的守护程序线程数。
Runnable Threads 在Java虚拟机中执行的线程处于这种状态。
Blocked Threads 等待监视器锁定而被阻塞的线程处于此状态。
Waiting Threads 无限期地等待另一个线程执行特定操作的线程处于此状态。
Timed waiting Threads 一个线程正在等待另一个线程执行操作的时间达到指定的等待时间。
Deadlocked 处于死锁状态的等待获取对象监视器的线程数。

配置

参数 描述
配置信息
Uptime Java虚拟机的正常运行时间。
Java Virtual Machine Java虚拟机实现名称。
Vendor Java虚拟机实施供应商。
Process ID 进程标识符是一些操作系统内核用来唯一标识进程的数字。
Name 代表正在运行的Java虚拟机的名称。
VM arguments 传递给Java虚拟机的输入参数,其中不包括main方法的参数。
Class path 系统类加载器用来搜索类文件的Java类路径。
Library path Java库路径。
Boot class path 引导类加载器用来搜索类文件的引导类路径。
JIT compiler 即时(JIT)编译器的名称
Objects Pending for finalization 完成终结的对象的大概数量。
Operating System 操作系统的名称。
Architecture 操作系统架构。
Processors Java虚拟机可用的处理器数。
Max Metaspace 包含所有其他大型类元数据的最大元空间,包括方法,字节码,常量池等。
Max non-heap 最大非堆=提交非堆+可用物理内存。

注意:同样在虚拟内存的情况下,我们仅考虑可用物理内存来计算最大Metaspace值。

下表列出了Applications Manager支持的不同JVM供应商以及它们监控的主要参数。

监控参数 Sun JVM IBM JVM JRockit JVM
Connection Time
Memory Usage
CPU Usage
CPU Load
System Memory
Process Memory
Heap Memory
Non Heap Memory
VM Statistics
Total Physical Memory
Free Physical Memory
Total Swap Space
Free Swap Space
Committed Virtual Memory
Garbage Collector- Summary
Garbage Collector - View impact for specific collector
Total Threads Started
Peak Threads
Live Threads
Runnable Threads
Blocked Threads
Waiting Threads
Timed Waiting Threads
Daemon Threads
Deadlocked
Configuration Details
JVM Actions

查看线程转储

在线程选项卡下有一个选项可以查看线程转储历史记录。点击线程选项卡中的查看线程转储链接。线程转储页面将在新窗口中打开,您将能够查看当前的线程转储详细信息。关闭此窗口后,线程转储详细信息将移动到线程历史记录部分下。您可以随时在此部分中查看此信息。

报表

我们提供查看实时和任何存在于配置信息部分的属性,历史数据的选项配置选项卡。点击配置选项卡下的任何属性。这将打开一个名为历史数据的新窗口,其中提供了有关这些属性的更多信息。

历史数据窗口中有两个选项卡-历史报表和全局视图。

历史报表:此选项卡提供基于所选时间段的所选属性的历史报表。您也可以使用选择属性下拉框并查看其他属性的报表。

全局视图:此选项卡在多个监视器上显示所选属性的当前值。要查看有关监视器中存在的其他属性的信息,请使用选择属性下拉框并更改属性。

如果要查看多个属性的数据,请点击窗口左上角的自定义列链接。这将带您进入编辑全局视图页面。在此页面中,可以使用按监视器类型筛选下拉框来更改监视器类型,选择要显示的指标,并以监视器或业务组为基础显示监视器。选择选项后,点击显示报表按钮以在全局视图选项卡中查看那些信息。

注意:如果未在安装Applications Manager的计算机上建立jmx连接,请使用此密钥并重新启动应用程序:
-Djava.rmi.server.hostname = YOUR_IP

帮助链接以供参考