tomcat监控 — JMX方式(1)

线上的系统总会出现运行变慢的情况,它又不能像在本地开发那样可以直接进行调试,那就必须进行远程监控,下面就说一下tomcat的监控配置。

本文是 tomcat7为例,其它版本的tomcat也是一样的。

参数的说明:

#启动jmx远程管理
-Dcom.sun.management.jmxremote
#提供服务的网卡ip地址,不配置表示允许所有网卡提供服务。注意是服务器的ip,不是允许连接的客户端ip啊,这个和redis一样的
-Djava.rmi.server.hostname=10.211.55.6
#提供服务的端口
-Dcom.sun.management.jmxremote.port=9999
#是否使用ssl安全协议
-Dcom.sun.management.jmxremote.ssl=false
#是否使用身份认证
-Dcom.sun.management.jmxremote.authenticate=false
#身份认证的账号密码
-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password
#身份认证的账号的权限
-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access”

更详细的配置可以看 https://blog.csdn.net/dongdong2980/article/details/78476393

由于服务器都是在内网,并且我也配置了防火墙,所有为了方便,下面使用不开启身份认证进行配置。

-Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=10.211.55.6
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

一、以windows服务方式运行

在windows 服务器,tomcat 一般都是按照成服务运行,这时候就算直接在服务器上打开监控工具,如jvisualvm、jconsole,也是看不到本地监控进程的。 jconsole

网上很多教程都是叫人改tomcat服务注册列表参数,但是其实有更简单的方法,就是直接使用tomcat7w 这个软件配置。 这个软件是在tomcat的bin目录下,直接命令行运行 tomcat7w.exe //ES//tomcat的服务名 就可以了。

该软件可以配置tomcat的很多参数,包括内存等等。 我们把参数粘贴到下面红框位置,再点击确定,重启tomcat就可以。注意:每一行后面不用带空格,不然读取数字会报错

重启完tomcat以后用jconsole测试一下能不能连接,注意:如果你设置了连接的服务器ip,那么就只能用该ip连接

二、以 catalina 脚本运行(一般是linux)

如果我们是使用startup.bat 或者 是startup.sh启动tomcat,最后也是使用 catalina 脚本的 start 方法启动tomcat,那么在本地进程哪里就可以看到的。

linux就是以catalina 脚本运行的,但是由于生产环境的linux一般不安装可视化桌面的,所以图形化的监控工具不能在本地使用,那么必须要配置远程监控,让我们在其它的机器中,如windows的电脑中监控。

在tomcat 的bin目录下的setenv.bat或者setenv.sh文件添加下面的内容,没有就新建该文件。

  • linux 的是setenv.sh 文件,加入下面内容
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=10.211.55.6 -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

保存文件,授予执行权限: sudo chmod a+x setenv.sh

  • windows 是 setenv.bat,加入下面内容
set "CATALINA_OPTS=-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=10.211.55.6 -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

重启tomcat,关闭防火墙,在另外一个电脑上使用jconsole测试连接,方法参考上面。


上面的配置在关闭防火墙的时候是可以远程连接,但是,一旦打开防火墙只有哪怕开放了配置的端口(9999),也是不能连接的,下一篇文章就讲一下怎么解决这个问题。

转载于:https://my.oschina.net/hgp/blog/1843421

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值