通过Tomcat开启JMX监控的方法图解

通过Tomcat开启JMX监控的方法图解,第1张

通过Tomcat开启JMX监控的方法图解

详细介绍了Tomcat开启JMX监督,并按照图文并茂的方式给大家做了详细的介绍,有一定的参考价值,可以借鉴。

构建模拟自然环境:
计算机 *** 作系统:centos7
运行内存:2GB
JDK:1.8.0_131

自然环境是提前准备好的,所以我们不马上在这里进行测试。我们会立即装备tomcat的jmx。

1.转到tomcat的bin文件目录。

#CD/opt/Tomcat/Apache-Tomcat-8.0.48/bin/

2.编写环境变量

#vimcatalina.sh

3.将主要参数添加到下图的顶部。

主要参数添加后的样子。

3.1.该设备已连接到jmx,但没有帐户密码:

CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.100.117 -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

装备后截图:

主要参数表明:

Hostname:是tomcat所属网络服务器的详细ip地址。

Jmxremote.port:端口号,即要打开的监控端口号。

Jmxremote.ssl:是否要打开ssl连接?

Authenticate:false表示客户和登录密码不用于监督。

3.2.必须提供登录名和登录密码:

CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.100.117 -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access"

装备后截图:

主要参数表明:

验证:为true打开帐户验证。

Access.file:管理权限文件的路径

Password.file:密码文件路径

3.3.如果没有提供登录密码验证,则不需要此步骤。客户开通,登录密码认证完成,这个流程必须实际 *** 作。

3.3.1.找到jdk安装文件目录。

如果你不知道该把文件目录安装到哪里,你可以根据说明进行搜索:

#Java-详细

3.3.2.转换到jdk文件目录

转到#cdjre/lib/management/

JMXremote.accessJMXremote.password.template文档将出现在文件名下,并将其复制到tomcat的conf文件目录中。

#cpjmxremote。*/opt/Tomcat/Apache-Tomcat-8.0.48/conf/

3.3.3.更改jmxremote.access文档

3.3.4.重命名密码文件:

#mvJMXremote.password.templateJMSremote.password

3.3.5.写入密码文件。

#vimjmxremote.password

3.3.6、写完文档后,更改access文档和密码文件权限,否则tomcat不会启动。

#chmod600jmxremote。*

4。启动tomcat

[root@habin]#./startup.sh UsingCATALINA_BASE:/opt/tomcat/apache-tomcat-8.0.48 UsingCATALINA_HOME:/opt/tomcat/apache-tomcat-8.0.48 UsingCATALINA_TMPDIR:/opt/tomcat/apache-tomcat-8.0.48/temp UsingJRE_HOME:/usr UsingCLASSPATH:/opt/tomcat/apache-tomcat-8.0.48/bin/bootstrap.jar:/opt/tomcat/apache-tomcat-8.0.48/bin/tomcat-juli.jar Tomcatstarted.

4.1.做了以上实际 *** 作后,在windows下应用jdk内置的jvisualvm.exe连接就可以检测到了。

双击打开jmx联接

4.2.重新启动tomcat,检查jmx是否仍然可以连接。

#./shutdown.sh

4.2.1.再次加入jmx查询。有可能加入吗?

无法查询和连接监控图表。

为什么会出现这个问题?

在互联网上获得的结果是:

Tomcat的jmx远程控制健康需要两个端口,一个是应用程序注册端口,一个是服务项目端口。以前特定的9999端口是应用程序注册端口,tomcat在启动时会任意指定一个服务项目端口。因为只有一个应用程序注册端口,所以在重新启动服务项目后,应用程序注册端口没有发生变化。服务项目端口已经更改,根据应用程序重新注册端口连接,以前的服务项目端口不能再连接。没有办法指定服务器端连接,服务项目端口是任意的。

一种方式是设置jmx固定的应用注册端口和服务项目端口,按照jar包完成。

5.登录tomcat官网(注意我的tomcat版本号是1.8.0,只能在线使用1.8.5)

地址:https://tomcat.apache.org/

根据tomcat版本号查找JMX远程jar。

6.将免费下载上传到tomcta的lib文件目录下。

获得jar包的连接,你可以立即wget到lib文件目录。

#wgethttp://mirror.bit.edu.cn/Apache/Tomcat/Tomcat-8/v8.5.50/bin/extras/catalina-JMX-remote.jar

7.在tomcat的conf文件目录中编写server.xml文件。

#vimserver.xml

添加以下内容:

<ListenerclassName="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="10001"rmiServerPortPlatform="10002"/>

8.在tomcat的bin文件目录中写入catalina.sh。

#vimcatalina.sh

删除主要参数:

-DCOM.sun.management.JMXremote.port=9999

9.重新启动tomcat检测。jmx应用程序注册端口是10001,服务项目端口是10002。

10.重新启动tomcat进行重新连接检测。

当我们双击鼠标之前建立的jmx远程桌面连接时,会发现无法连接。为什么?这里要注意上面连接中的pid号。经过检查,我们发现这个pid号是linux中tomcat的pid号。在我们重启tomcat之后,将会创建一个新的pid号,所以如果我们想要连接的话,我们需要创建一个新的连接。

1.如果您再次创建jmx连接,您将获得一个新的pid号。

12.到了这里,我们已经测试成功,所以我们担心应用zabbix来监管tomcat时,tomcat重启后无法连接jmx端口。

摘要

以上是我根据Tomcat打开JMX监督的方式给大家的详细介绍,期待对大家有所帮助!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/774682.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存