zhcn 技术 Windows 如何在 Tomcat 中启用、监控和管理 JMX

如何在 Tomcat 中启用、监控和管理 JMX

JMX(Java 管理扩展)是一项非常强大的技术,允许您管理、监视和配置 Tomcat MBean。

作为 Tomcat 管理员,您应该熟悉如何在 Tomcat 中启用 JMX来监控堆内存、线程、CPU 使用率、类以及配置各种 MBean

本文介绍如何使用 JConsole 启用并连接到 Tomcat。

如果没有,我假设您已经安装了 Tomcat。请参阅安装指南。

  • 导航到 Tomcat 的安装路径
  • 转到 bin 文件夹
  • 创建一个名为“setenv.sh”的文件。
  • 使用vi编辑器修改文件并添加以下内容
 CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" 
  • 使用“ :w ”保存文件
  • 将文件权限更改为可执行
 chmod 755 setenv.sh 

在启动Tomcat并验证JMX之前,我们先看一下上面的配置。

  1. Dcom.sun.management.jmxremote.port=9000 – 您可以根据需要更改端口号。
  2. Dcom.sun.management.jmxremote.ssl=false – 这意味着无需 SSL 即可连接
  3. Dcom.sun.management.jmxremote.authenticate=false – 这意味着使用 JMX 客户端连接到 Tomcat 实例时不需要身份验证。

让我们使用脚本文件startup.sh启动Tomcat。启动后,您可以使用 netstat 或 ps –ef grep 命令进行检查。

如何在 Tomcat 中启用、监控和管理 JMX
如何在 Tomcat 中启用、监控和管理 JMX

使用 netstat 进行验证

netstat –anlp | grep9000

 [root@localhost ~]# netstat -anlp |grep 9000
tcp6       0     0 :::9000                 :::*                   LISTEN     9372/java
[root@localhost ~]# 
如何在 Tomcat 中启用、监控和管理 JMX
如何在 Tomcat 中启用、监控和管理 JMX

使用 ps 命令检查

ps –ef |grep jmx

 [root@localhost ~]# ps -ef|grep jmx 
 root       9372     1 0 21:30 pts/0   00:00:04 java -Djava.util.logging.config.file=/home/chandan/Downloads/apache-tomcat-8.0.28/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.endorsed.dirs=/home/chandan/Downloads/apache-tomcat-8.0.28/endorsed -classpath /home/chandan/Downloads/apache-tomcat-8.0.28/bin/bootstrap.jar:/home/chandan/Downloads/apache-tomcat-8.0.28/bin/tomcat-juli.jar -Dcatalina.base=/home/chandan/Downloads/apache-tomcat-8.0.28 -Dcatalina.home=/home/chandan/Downloads/apache-tomcat-8.0.28 -Djava.io.tmpdir=/home/chandan/Downloads/apache-tomcat-8.0.28/temp org.apache.catalina.startup.Bootstrap start
root       9816   9781 0 21:46 pts/0   00:00:00 grep --color=auto jmx
[root@localhost ~]# 

Tomcat 现在启用了jmx,您可以使用 JMX 客户端进行连接

您可以使用任何客户端,但我们将使用 Java 附带的jconsole

使用 Jconsole 连接到 Tomcat JMX

  • 进入jconsole所在路径

提示:如果不确定,可以使用find命令进行搜索。

  • 运行 jconsole
 ./jconsole 

这将弹出 Java 监控和管理控制台。

  • 选择“远程进程”
  • 输入服务器主机和端口详细信息

jconsole连接
jconsole连接
jconsole连接

  • 点击“连接”

这将连接到 Tomcat 并为您提供非常漂亮的 CPU、内存和线程使用情况图表。这在故障排除时非常有用。

jconsole – 概述
jconsole - 概述
jconsole – 概述

您还可以从控制台运行 GC。

  • 单击“Memory”(内存)选项卡,您将看到“Run GC”(运行 GC)按钮。

jconsole内存
jconsole内存
jconsole内存

正如本文开头提到的,您还可以为您的类配置 MBean。

当您需要在运行时更改日志记录或某些参数时,通常会使用此方法。

现在,尝试一下 Jconsole 和 JMX。这是一个用于故障排除和监控的好工具。

如果您想了解有关 Tomcat 的更多信息, 请查看本教程。

JMX(Java 管理扩展)是一项非常强大的技术,允许您管理、监视和配置 Tomcat MBean。

作为 Tomcat 管理员,您应该熟悉如何在 Tomcat 中启用 JMX来监控堆内存、线程、CPU 使用率、类以及配置各种 MBean

本文介绍如何使用 JConsole 启用并连接到 Tomcat。

如果没有,我假设您已经安装了 Tomcat。请参阅安装指南。

  • 导航到 Tomcat 的安装路径
  • 转到 bin 文件夹
  • 创建一个名为“setenv.sh”的文件。
  • 使用vi编辑器修改文件并添加以下内容
 CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" 
  • 使用“ :w ”保存文件
  • 将文件权限更改为可执行
 chmod 755 setenv.sh 

在启动Tomcat并验证JMX之前,我们先看一下上面的配置。

  1. Dcom.sun.management.jmxremote.port=9000 – 您可以根据需要更改端口号。
  2. Dcom.sun.management.jmxremote.ssl=false – 这意味着无需 SSL 即可连接
  3. Dcom.sun.management.jmxremote.authenticate=false – 这意味着使用 JMX 客户端连接到 Tomcat 实例时不需要身份验证。

让我们使用脚本文件startup.sh启动Tomcat。启动后,您可以使用 netstat 或 ps –ef grep 命令进行检查。

如何在 Tomcat 中启用、监控和管理 JMX
如何在 Tomcat 中启用、监控和管理 JMX

使用 netstat 进行验证

netstat –anlp | grep9000

 [root@localhost ~]# netstat -anlp |grep 9000
tcp6       0     0 :::9000                 :::*                   LISTEN     9372/java
[root@localhost ~]# 
如何在 Tomcat 中启用、监控和管理 JMX
如何在 Tomcat 中启用、监控和管理 JMX

使用 ps 命令检查

ps –ef |grep jmx

 [root@localhost ~]# ps -ef|grep jmx 
 root       9372     1 0 21:30 pts/0   00:00:04 java -Djava.util.logging.config.file=/home/chandan/Downloads/apache-tomcat-8.0.28/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.endorsed.dirs=/home/chandan/Downloads/apache-tomcat-8.0.28/endorsed -classpath /home/chandan/Downloads/apache-tomcat-8.0.28/bin/bootstrap.jar:/home/chandan/Downloads/apache-tomcat-8.0.28/bin/tomcat-juli.jar -Dcatalina.base=/home/chandan/Downloads/apache-tomcat-8.0.28 -Dcatalina.home=/home/chandan/Downloads/apache-tomcat-8.0.28 -Djava.io.tmpdir=/home/chandan/Downloads/apache-tomcat-8.0.28/temp org.apache.catalina.startup.Bootstrap start
root       9816   9781 0 21:46 pts/0   00:00:00 grep --color=auto jmx
[root@localhost ~]# 

Tomcat 现在启用了jmx,您可以使用 JMX 客户端进行连接

您可以使用任何客户端,但我们将使用 Java 附带的jconsole

使用 Jconsole 连接到 Tomcat JMX

  • 进入jconsole所在路径

提示:如果不确定,可以使用find命令进行搜索。

  • 运行 jconsole
 ./jconsole 

这将弹出 Java 监控和管理控制台。

  • 选择“远程进程”
  • 输入服务器主机和端口详细信息

jconsole连接
jconsole连接
jconsole连接

  • 点击“连接”

这将连接到 Tomcat 并为您提供非常漂亮的 CPU、内存和线程使用情况图表。这在故障排除时非常有用。

jconsole – 概述
jconsole - 概述
jconsole – 概述

您还可以从控制台运行 GC。

  • 单击“Memory”(内存)选项卡,您将看到“Run GC”(运行 GC)按钮。

jconsole内存
jconsole内存
jconsole内存

正如本文开头提到的,您还可以为您的类配置 MBean。

当您需要在运行时更改日志记录或某些参数时,通常会使用此方法。

现在,尝试一下 Jconsole 和 JMX。这是一个用于故障排除和监控的好工具。

如果您想了解有关 Tomcat 的更多信息, 请查看本教程。