searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

java进程远程监控(JMX,jstat形式)

2023-12-07 02:14:11
16
0

jstat形式

一、添加配置文件 jstatd.all.policy

Visual GC提示”不受此JVM支持“,可以使用此方法解决。

一、添加配置文件 jstatd.all.policy

[root@localhost /]# cd /home/ctgcdt/jdk/jdk1.8.0_321/bin/

[root@localhost bin]# vim jstatd.all.policy

grant codebase "file:/home/ctgcdt/jdk/jdk1.8.0_321/lib/tools.jar"

{

permission java.security.AllPermission;

};

注:若没有配置 JDK 环境变量,file 后面添加 tool.jar 的绝对路径

二、启动

$JAVA_HOME/bin下执行以下命令(前台)启动,也可以后台启动命令,默认监听1099端口。

[root@localhost bin]#

./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.1.1 -p 3333 -J-Djava.rmi.server.logCalls=true

./jstatd -J-Djava.security.policy=jstatd.all.policy -p 19998

参数说明:

  • -J-Djava.security.policy=jstatd.all.policy =号后面的是文件的绝对路径;
  • -J-Djava.rmi.server.logCalls=true 打开日志,如果客户端有连接过来的请求,可以监控到,便于排错;
  • -J-Djava.rmi.server.hostname=192.168.134.128 指明本机 hostname 对应的本机地址,确保该地址可以给客户机访问。因为有的服务器 hostname 对应的 ip 不一定是外网能连上的,最好在这里直接明确指定;
  • -p 3333 指定服务的端口号,默认是1099。也是可选参数。

注意:后面两个参数可以省略

三、使用 visualvm 以jstat形式连接

jvisualvm 添加 ip 为192.168.1.1 端口为 3333 的远程机器,这样可以使用jstatd方式远程监控JVM。

**四、SpringBoot开启JMX

-Djava.rmi.server.hostname=10.0.15.8

-Dcom.sun.management.jmxremote.port=1099

-Dcom.sun.management.jmxremote.authenticate=false

-Dcom.sun.management.jmxremote.ssl=false

 

jmxremote.password 在jdk/jre/lib/management/下,jmxremote.password.template复制,去掉.template后缀

在配置JMX远程访问的时候,设置jmxremote.password文件权限,修改该文件时添加写权限,chmod +w jmxremote.password

放开角色信息那俩行的注释,保存,

monitorRole QED
controlRole R&D

再使用chmod 0400 jmxremote.password

0条评论
0 / 1000
姚****华
4文章数
0粉丝数
姚****华
4 文章 | 0 粉丝
原创

java进程远程监控(JMX,jstat形式)

2023-12-07 02:14:11
16
0

jstat形式

一、添加配置文件 jstatd.all.policy

Visual GC提示”不受此JVM支持“,可以使用此方法解决。

一、添加配置文件 jstatd.all.policy

[root@localhost /]# cd /home/ctgcdt/jdk/jdk1.8.0_321/bin/

[root@localhost bin]# vim jstatd.all.policy

grant codebase "file:/home/ctgcdt/jdk/jdk1.8.0_321/lib/tools.jar"

{

permission java.security.AllPermission;

};

注:若没有配置 JDK 环境变量,file 后面添加 tool.jar 的绝对路径

二、启动

$JAVA_HOME/bin下执行以下命令(前台)启动,也可以后台启动命令,默认监听1099端口。

[root@localhost bin]#

./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.1.1 -p 3333 -J-Djava.rmi.server.logCalls=true

./jstatd -J-Djava.security.policy=jstatd.all.policy -p 19998

参数说明:

  • -J-Djava.security.policy=jstatd.all.policy =号后面的是文件的绝对路径;
  • -J-Djava.rmi.server.logCalls=true 打开日志,如果客户端有连接过来的请求,可以监控到,便于排错;
  • -J-Djava.rmi.server.hostname=192.168.134.128 指明本机 hostname 对应的本机地址,确保该地址可以给客户机访问。因为有的服务器 hostname 对应的 ip 不一定是外网能连上的,最好在这里直接明确指定;
  • -p 3333 指定服务的端口号,默认是1099。也是可选参数。

注意:后面两个参数可以省略

三、使用 visualvm 以jstat形式连接

jvisualvm 添加 ip 为192.168.1.1 端口为 3333 的远程机器,这样可以使用jstatd方式远程监控JVM。

**四、SpringBoot开启JMX

-Djava.rmi.server.hostname=10.0.15.8

-Dcom.sun.management.jmxremote.port=1099

-Dcom.sun.management.jmxremote.authenticate=false

-Dcom.sun.management.jmxremote.ssl=false

 

jmxremote.password 在jdk/jre/lib/management/下,jmxremote.password.template复制,去掉.template后缀

在配置JMX远程访问的时候,设置jmxremote.password文件权限,修改该文件时添加写权限,chmod +w jmxremote.password

放开角色信息那俩行的注释,保存,

monitorRole QED
controlRole R&D

再使用chmod 0400 jmxremote.password

文章来自个人专栏
开发问题总结
4 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0