博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VisualVM监控远程主机
阅读量:4603 次
发布时间:2019-06-09

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

参考博客

https://blog.csdn.net/u010004317/article/details/82948040

https://blog.csdn.net/lienfeng6/article/details/78676760

一、在服务器上部署JMX服务

1.进入tomcat的bin目录,修改catalina.sh文件

#tomcat的bin目录,修改catalina.sh: #vim catalina.sh # 添加如下配置: CATALINA_OPTS="$CATALINA_OPTS -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 -Djava.rmi.server.hostname=149.129.124.xx" # -Dcom.sun.management.jmxremote.ssl 是否开启ssl传输,设为false即可 # -Dcom.sun.management.jmxremote.authenticate 是否校验,设为false即可 # -Dcom.sun.management.jmxremote.password.file 远程登录的账号管理文件,下文会讲到如何获取 # -Dcom.sun.management.jmxremote.access.file 同上 # -Djava.rmi.server.hostname 这个很重要,如果不填的话,可以重启成功,按时客户端的jvisual是无法远程连接上的,这里的IP必须是公网IP,公网IP

2.进入tomcat的conf 编辑server.xml文件,添加jmx的端口监听

3.添加jmx的访问控制文件

# 进入tomcat/conf的目录 # 执行以下命令 cp 复制两个文件cp $JAVA_HOME/jre/lib/management/jmxremote.password.template jmxremote.password cp $JAVA_HOME/jre/lib/management/jmxremote.access jmxremote.access vi jmxremote.password # 取消下面两行的注释,取消注释表示你可以使用这两个账号进行远程登录, 使用就打开,不使用可以不打开#monitorRole QED #controlRole R&D # 也可以自定义账号,格式如 username passwd,如我想要添加一个名称叫root的账号,密码是root@123 vim jmxremote.password # 在最后一行添加 root root@123# 修改完jmxremote.password文件,还要修改jmxremote.access文件,添加权限 zexin readwrite chmod 600 jmxremote.password chmod 600 jmxremote.access

4.添加catalina-jmx-remote.jar包到tomcat的lib目录下

在maven仓库下载,找到对应的版本

https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-catalina-jmx-remote

5.连接测试结果

二、安装jstat服务

1. 安装好JMX后,点击 Visual GC 会显示不受JVM支持,需要安装jstat服务

2. JDK的bin目录下,配置安全策略

cd $JAVA_HOME/bin # 新建安全策略文件 vim jstatd.all.policy # 添加如下内容: grant codebase "file:${java.home}/../lib/tools.jar" {     permission java.security.AllPermission; }; # 原文说明,我不么深入研究,有些文章会在$JAVA_HOME/jre/lib/security/java.policy直接修改,本人我是不推荐的,能不动 到原来的配置文件进来就不要碰到,而且在java.policy直接修改,赋予的权限太高,也不安全。

3.启动jstat

cd $JAVA_HOME/bin # 启动命令:(启动成功后,没有报错且有日志输出就是正常的) ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=149.129.124.xx -J-Djava.rmi.server.logCalls=false# 解释: # -J-Djava.rmi.server.hostname=149.129.124.xx 这里要填的是公网IP # -J-Djava.rmi.server.logCalls=true 是否开启日志,第一次配置最好开启,可以确定是否启动成功,如果是已经配置很多次了,能确保成功的,建议就把该日志关掉,因为该日志的产生量不小,容易撑爆硬盘 # 在生产环境的配置如下(去掉日志打印,加入后台运行),这里我在监控的时候,通过输入pid发现不行,不知道怎么回事,后面再查看下问题所在: ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=149.129.124.xx &

4.查看效果(在非后台模式启动下查看的)

 

转载于:https://www.cnblogs.com/jtfr/p/11127644.html

你可能感兴趣的文章
SP1026 FAVDICE - Favorite Dice 数学期望
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
【矩阵+十进制快速幂】[NOI2013]矩阵游戏
查看>>
Java一个简单的文件工具集
查看>>
蓝牙BLE扫描成功,log中打印出扫描到的设备
查看>>
一般处理应用页中绑定方法代码段
查看>>
无限鼠标没反应了
查看>>
CSU - 1356 Catch(dfs染色两种写法,和hdu4751比较)
查看>>
zabbix监控php-fpm的性能
查看>>
温故知新 div + css笔记
查看>>
针对降质模型中的模糊SR
查看>>
POJ1142Smith Numbers一道简单的数学题
查看>>
UIButton(改变Title和image位置)
查看>>
Linux-使用之vim编译安装出现的问题
查看>>
codevs 3314 魔法森林
查看>>
mac os x mysql 出现./mysql: unknown variable 'sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABL 问题...
查看>>
桐桐的贸易--WA
查看>>
历届试题 高僧斗法
查看>>
linux命令系列 stat & touch
查看>>
[Tools] Webstorm Github的配置与使用
查看>>