JAVA本地远程连接linux程序监控状态
环境:
1.本地window
2.程序部署在centos
一,启动访问权限安全守护程序
在JAVA_HOME/bin目录下,新建文件:jstatd.all.policy ,注意路径
grant codebase "$JAVA_HOME/lib/tools.jar" { permission java.security.AllPermission; };
修改如下:
grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; };
启动:
screen jstatd -J-Djava.security.policy=jstatd.all.policy
二,JAVA启动参数设置
JAVA_OPTS='-Dcom.sun.management.jmxremote.port=5656 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false'
注:
- -Dcom.sun.management.jmxremote.port :这个是配置远程 connection 的端口号的,要确定这个端口没有被占用
- -Dcom.sun.management.jmxremote.ssl=false 指定了 JMX 是否启用 ssl
- -Dcom.sun.management.jmxremote.authenticate=false 指定了JMX 是否启用鉴权(需要用户名,密码鉴权)
2,3两个是固定配置,是 JMX 的远程服务权限的
三,可能遇到的问题
3.1 如果遇到无法远程连接问题。
查看 hostname -i
hostname对应的IP是不是远程连接的IP地址,如果不是则查看 cat /etc/host 添加ip 对本机对外IP的映射