java jmx 监控tomcat_JMX远程监控Tomcat配置详细操作

1.修改Tomcat下的bin/catalina.sh文件,在Execute The Requested Command上一行添加:

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

其中111.123.3.70为主机IP,9999为jmx的端口号(端口号值随便设置,必须先开启端口号能外部访问)

参考图:

f23d438d2524

2.切换到jdk下的management目录/下,复制jmxremote.password.template模板改名为jmxremote.password。

如图:

f23d438d2524

f23d438d2524

3.修改jmxremote.access最后一行增加一个账户并设置读写权限(如:可设置jmxzz readwrite)或者取消monitorRole,controlRole角色的注释.

如图:

f23d438d2524

4.修改jmxremote.password,最后一行增加一个用户和密码(如:可设置jmxzz jmxzz)

如图:

f23d438d2524

5.然后将jmxremote.access,jmxremote.password文件权限设置为600(如:chmod 600 jmxremote.access jmxremote.password)

6.重启tomcat

7.远程使用jconsole或者jvisualvm链接输入主机IP,端口,帐号,密码即可登录(如例子所示:主机IP111.123.3.70,端口9999,帐号jmxuser,密码jmxzz)

PS:

1.在catalina.sh中设置jmx远程配置最好使用CATALINA_OPTS,不要用JAVA_OPTS因为它任何命令时使用的Java运行时选项,当使用JAVA_OPTS时通过命令shutdown.sh停止时也会执行这个jmx配置启动jmx远程服务会导致报错提示9999已经被占用,那就需要在catalina.sh里面增加判断是开启才执行这命令相对麻烦。而CATALINA_OPTS只会在Java运行时选项在“开始”时使用,所以不影响shutdown.sh停止操作。

2.jmxremote.password中设置的远程访问帐号要与jmxremote.access里允许的帐号名相同,不然连接不成功.

3.设置端口号前要先开启端口号允许外部访问。

4.防火墙跟添加端口号相关命令:

查看防火墙状态:systemctl status firewalld

开启防火墙:systemctl start firewalld

关闭防火墙:systemctl stop firewalld

端口

添加

firewall-cmd --zone=public --add-port=9999/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)

重新载入

firewall-cmd --reload

查看

firewall-cmd --zone=public --query-port=9999/tcp(如果为yes说明成功了,如果为no,可以尝试执行重新载入再查看)

删除

firewall-cmd --zone=public --remove-port=9999/tcp --permanent

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值