linux tomcat开启jmx监控,Tomcat开启JMX监控
发布日期:2022-02-18 13:19:55 浏览次数:8 分类:技术文章

本文共 2966 字,大约阅读时间需要 9 分钟。

搭建模拟环境:

操做系统:centos7

内存:1G

jdk:1.8.0_131

tomcat:8.0.48

环境准备咱们这里就不直接演示了,直接配置tomcat的jmx

一、进入到tomcat的bin目录下

# cd /opt/tomcat/apache-tomcat-8.0.48/bin/java

二、编辑配置文件

# vim catalina.shlinux

三、在下图中上面添加参数

1caf6d4315f867864538ca5f63eb629e.png

参数添加后的样子apache

3.一、此配置链接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"

配置后的截图:bootstrap

2bcd2d8b23bc412995e88ec5b8b84591.png

参数说明:vim

hostname:是监控tomcat所在服务器的ip地址windows

jmxremote.port:端口号,是要开启的监控端口号centos

jmxremote.ssl:是否要开启ssl链接tomcat

authenticate: false表示监控不须要用户和密码服务器

3.二、须要配置用户名、密码:

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"

配置后的截图:测试

cba9927a446dfb45ffa254c03a6c8eb5.png

参数说明:

authenticate:为true开启帐号验证

access.file:权限文件路径

password.file:密码文件路径

3.三、当没有配置密码验证的时候,不须要此步操做,当启用用户、密码验证后须要操做此步骤

3.3.一、找到jdk安装目录

若是不知道安装到目录那个地方能够经过命令查找:

# java -verbose

7dd2f92806b45a8b767282edda045b2a.png

3.3.二、切换到jdk目录中

fc99298cd9e08ddd8510e38282592938.png

进入# cd jre/lib/management/

在文件目录下会有jmxremote.access  jmxremote.password.template文件,拷贝到tomcat的conf目录下

# cp jmxremote.* /opt/tomcat/apache-tomcat-8.0.48/conf/

3.3.三、修改jmxremote.access文件

70c14ce0054be89a226ba94037c1967a.png

3.3.四、重命名密码文件:

# mv jmxremote.password.template jmxremote.password

3.3.五、编辑密码文件

# vim jmxremote.password

b040f8eb34552d7e09b49581329aa6dc.png

3.3.六、编辑完文件后,要修改access文件和password文件权限,否则tomcat启动不起来

# chmod 600 jmxremote.*

四、启动tomcat

[root@ha bin]# ./startup.sh

Using CATALINA_BASE:/opt/tomcat/apache-tomcat-8.0.48Using CATALINA_HOME:/opt/tomcat/apache-tomcat-8.0.48Using CATALINA_TMPDIR:/opt/tomcat/apache-tomcat-8.0.48/temp

Using JRE_HOME:/usr

Using CLASSPATH:/opt/tomcat/apache-tomcat-8.0.48/bin/bootstrap.jar:/opt/tomcat/apache-tomcat-8.0.48/bin/tomcat-juli.jar

Tomcat started.

770e3135bc714a7e88b722a817ee0dea.png

4.一、作完上面操做,使用jdk自带的jvisualvm.exe链接,能够在windows下测试

7fc5d2f4b62bb6a81ff7dd764d0b7b00.png

8629cddb5c2b5802076bcd81de24618c.png

71e708752109fd2dd8473d3ead9ad8bb.png

249d2baa421c5ecfacd3f97b02609f3f.png

1d42cc064ce1223874fa7a5aa7d4cb04.png

双击打开jmx链接

92cbe8e3478284b5f5d0b2aecc89bd21.png

122989a2bd745e508999a64da4c06f7e.png

4.二、重启tomcat,测试jmx是否还能够链接上

# ./shutdown.sh

4.2.一、再次链接jmx查看是否能够链接上

数据监控图都查看不了,链接不上

7e070ca182e53c6d43a93c5a01cd5f70.png

c919adb62327ba39a6605bfa5d1a83fb.png

为什会出现这个问题?

网上给出的结论是:

tomcat的jmx远程健康是须要两个端口,一个是注册端口,一个是服务端口,以前配置指定的9999端口是注册端口,tomcat在启动的时候会随机指定一个服务端口,因为咱们注册端口只有一个,因此在重启服务后,注册端口没有变化,服务端口已经变了,再次经过注册端口链接已经链接不上以前的服务端口了,没有办法指定服务端链接,服务端口是随机的。

有一种方法是设置jmx固定的注册端口和服务端口,经过jar包实现

五、登陆tomcat官网(注意,个人tomcat版本是1.8.0的官网上只有1.8.5的也可使用)

根据本身的tomcat版本找到JMX Remote jar

d9679b49311f7436d266ff92d587885a.png

六、把下载下来的上传到tomcta的lib目录下

获取jar包的链接也能够直接wget到lib目录下

# wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.50/bin/extras/catalina-jmx-remote.jar

fd29afba3edb6357d7a98d098103e28a.png

七、编辑tomcat的conf目录下的server.xml文件

# vim server.xml

添加下面内容:

2a7634980a59e2d7a3935d619cbb87a8.png

八、编辑tomcat的bin目录下catalina.sh

# vim catalina.sh

删除参数:

-Dcom.sun.management.jmxremote.port=9999

9f1afe3c81ab639572ea369e388047f2.png

九、重启tomcat测试,jmx注册端口为10001,服务端口为10002

ab1ee7d577cc2738066d81b1685ca212.png

dc352e5d06e3fddc1ead4fdbee57dec4.png

aedbd226cda51e3486ca62d92847f86d.png

10f86d00a3ae73dea62539ca6cf41a91.png

2eb69211f0235064685ffa695daf587a.png

十、重启tomcat再次链接测试

当咱们双击以前建立的jmx远程链接的时候会发现也链接不上,这是为何呢,这里咱们要注意上面链接中的pid号,通过查询,咱们发现这个pid号就是linux中tomcat的pid号,当咱们重启tomcat后,会产生新的pid号,因此咱们想要链接就要新建一个链接

384afe902806ae3ddb3a9ff4d6603c6d.png

06569d60d28bb145263e4d14f832c611.png

十一、咱们再次新建jmx链接的时候会获取新的pid号

cedf055939ded9cdd2c467a565983dee.png

42aca2872ca171e1ad109342d6cbcd44.png

十二、到这里咱们就测试成功了,这样在咱们使用zabbix使用jmx监控tomcat的时候就不用担忧tomcat重启jmx端口链接不上了

转载地址:https://blog.csdn.net/weixin_28926205/article/details/116606914 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:hp-ux查看oracle版本,HP-UX VXFS ORACLE数据库恢复
下一篇:网络异常存放在linux下那个目录中,Linux期末复习

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年07月13日 23时51分00秒