
本文共 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
三、在下图中上面添加参数
参数添加后的样子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
参数说明: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"
配置后的截图:测试
参数说明:
authenticate:为true开启帐号验证
access.file:权限文件路径
password.file:密码文件路径
3.三、当没有配置密码验证的时候,不须要此步操做,当启用用户、密码验证后须要操做此步骤
3.3.一、找到jdk安装目录
若是不知道安装到目录那个地方能够经过命令查找:
# java -verbose
3.3.二、切换到jdk目录中
进入# 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文件
3.3.四、重命名密码文件:
# mv jmxremote.password.template jmxremote.password
3.3.五、编辑密码文件
# vim jmxremote.password
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.
4.一、作完上面操做,使用jdk自带的jvisualvm.exe链接,能够在windows下测试
双击打开jmx链接
4.二、重启tomcat,测试jmx是否还能够链接上
# ./shutdown.sh
4.2.一、再次链接jmx查看是否能够链接上
数据监控图都查看不了,链接不上
为什会出现这个问题?
网上给出的结论是:
tomcat的jmx远程健康是须要两个端口,一个是注册端口,一个是服务端口,以前配置指定的9999端口是注册端口,tomcat在启动的时候会随机指定一个服务端口,因为咱们注册端口只有一个,因此在重启服务后,注册端口没有变化,服务端口已经变了,再次经过注册端口链接已经链接不上以前的服务端口了,没有办法指定服务端链接,服务端口是随机的。
有一种方法是设置jmx固定的注册端口和服务端口,经过jar包实现
五、登陆tomcat官网(注意,个人tomcat版本是1.8.0的官网上只有1.8.5的也可使用)
根据本身的tomcat版本找到JMX Remote jar
六、把下载下来的上传到tomcta的lib目录下
获取jar包的链接也能够直接wget到lib目录下
# wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.50/bin/extras/catalina-jmx-remote.jar
七、编辑tomcat的conf目录下的server.xml文件
# vim server.xml
添加下面内容:
八、编辑tomcat的bin目录下catalina.sh
# vim catalina.sh
删除参数:
-Dcom.sun.management.jmxremote.port=9999
九、重启tomcat测试,jmx注册端口为10001,服务端口为10002
十、重启tomcat再次链接测试
当咱们双击以前建立的jmx远程链接的时候会发现也链接不上,这是为何呢,这里咱们要注意上面链接中的pid号,通过查询,咱们发现这个pid号就是linux中tomcat的pid号,当咱们重启tomcat后,会产生新的pid号,因此咱们想要链接就要新建一个链接
十一、咱们再次新建jmx链接的时候会获取新的pid号
十二、到这里咱们就测试成功了,这样在咱们使用zabbix使用jmx监控tomcat的时候就不用担忧tomcat重启jmx端口链接不上了
转载地址:https://blog.csdn.net/weixin_28926205/article/details/116606914 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关于作者
