visualVM连接远程Java虚拟机
来源:互联网 发布:程序员 任务开发流程 编辑:程序博客网 时间:2024/05/16 16:16
1 配置前的准备
我们需要先检查linux的hostname匹配的IP,执行
hostname -i
如果匹配的结果是无法识别或者127.0.0.1, 则需要手动配置主机名和IP映射。假设要用于建立连接的IP是192.168.11.233,主机名是mylinux:
vi /etc/hosts
添加一行
192.168.11.233 mylinux
2 配置JMX
2.1 创建setenv.sh
进入tomcat/bin目录
vi setenv.sh
JAVA_OPTS="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.20.150.218设置权限
chmod +x setenv.sh
2.2 在server.xml中添加listener
进入tomcat/conf目录
vi server.xml
端口可根据实际情况修改,添加后的结构如下图
2.3 JMX访问控制文件
进入tomcat/conf目录,执行
cp $JAVA_HOME/jre/lib/management/jmxremote.password.template jmxremote.passwordcp $JAVA_HOME/jre/lib/management/jmxremote.access jmxremote.access然后
vi jmxremote.password取消以下两行注释
#monitorRole QED
#controlRole R&D
也可以自定义账号,按username password的格式添加一行,这样就需要同时修改jmxremote.access
vi jxmremote.access
在最下面添加
username readwrite
修改权限
chmod 600 jmxremote.password
chmod 600 jxmremote.access
2.4 添加catalina-jmx-remote.jar
下载地址 http://mvnrepository.com/artifact/org.apache.tomcat/tomcat-catalina-jmx-remote
下载后复制到 tomcat/lib目录
至此,配置工作完成,但是还需要把2.2中的两个端口加入到防火墙允许规则中
2.5 设置防火墙
vi /etc/sysconfig/iptables
在-A INPUT -j REJECT --reject-with icmp-host-prohibited前加入
service iptables restart在客户机上telnet 服务器的10001和10002端口,如果都通就正确了。
2.6 测试
在客户机上启动jvisualvm.exe,在左侧树形菜单的远程上右键 -> 添加远程主机,主机名填写服务器IP
确定后,远程下出现新的子节点,在子节点上右键 -> 添加JMX连接
连接输入(ipconfig)IP:10001,注意这个端口是2.2步骤中配置的rmiRegistryPort。勾选使用安全凭证,用户名和口令即2.3步骤中jmxremote.password文件内的用户名和对应密码。勾选保存安全凭证(不使用安全凭证也可登录)
本文的配置中未启用SSL,点确定后会提示“请确认不用SSL方式尝试连接”,选择“是”。如果一切顺利在服务器节点下出现JMX连接子节点,双击后即可打开功能界面。
尝试一下强大的Visual GC插件,很遗憾,提示"不受此JVM支持“,如果想使用这个插件,就需要配置jstatd连接方式,下面来看jstatd的配置。
3 配置jstatd
3.1 配置安全策略
vi $JAVA_HOME/jre/lib/security/java.policy在文件末位的 }; 前添加
permission java.security.AllPermission;
3.2 启动jstatd
cd $JAVA_HOME/bin./jstatd -J-Djava.security.policy=all.policy &
启动后会开启注册端口1099和一个随机的连接端口,注册端口也可通过-p参数指定,如./jstatd -J-Djava.security.policy=all.policy -p 10003 &
3.3设置防火墙
除了把1099添加到防火墙规则外,还需要找到另外一个随机端口,也加入到规则中 执行 netstat -anp | grep *jstatd可以看到除了1099,jstatd还监听了53040端口,把这个也加入到规则中,添加方法参照2.5 (注意:这个随机端口重启后会变化)
3.4 测试
启动VisualVM,因为在配置JMX时已经添加过服务器节点,如果配置正确,通常VisualVM会自动检测到jstatd连接并添加节点如果没有自动添加,可以检查端口是否能连通并尝试手动添加连接 VisualGC界面
此次JMX连接只输入IP和端口,就可以连接成功
- visualVM连接远程Java虚拟机
- java VisualVM远程连接Tomcat
- java VisualVM 远程连接linux的tomcat
- VisualVM远程连接
- VisualVM 连接远程JVM
- VisualVM 远程连接服务器
- VisualVM远程监控连接方法
- jconsole visualvm连接远程服务器
- java visualvm 远程监控 配置
- Java VisualVM 监控远程机器
- Java VisualVM监控远程JVM
- Java VisualVM监控远程JVM
- Java虚拟机性能管理神器 - VisualVM(5) 监控远程主机上的JAVA应用程序
- visualvm 另一种远程连接的方法
- VisualVM远程连接linux下的Tomcat
- 启用 jstatd 供远程VisualVM 连接
- Java VisualVM 远程连接(按照第7点配置tomcat即可)
- 使用Java VisualVM远程监控服务
- DNS安全认证的机制之DNSSEC(DNS安全扩展)
- mybatis批量插入
- android studio 签名问题
- SQL Server数据库学习之 —— 存储过程- 事务
- *TIMESTAMP列类型*
- visualVM连接远程Java虚拟机
- jquery中,操作radio
- express 整理
- java-Object类
- 控制docker-compose中服务的启动顺序
- 流式布局
- TokuDB与InonoDB引擎,作为slave的性能差别
- 数据分析学习进度条
- 联邦政府71%网站已通过SSL测试 我国政府网站安全令人堪忧