一. Java配置远程监控jstatd
jstatd可以看作是jstat的远程版,在服务端开启jstatd后,jps、visual vm等客户端就可以远程连接到jstatd监控服务端的java进程。
-nr
不创建注册表,此选项一般忽略。
-p 端口
指定jstatd服务监听端口。
-n 自定义rmi服务名
指定自定义rmi服务名,默认服务名为“JStatRemoteHost”。
-J-JVM参数
传递给JVM的参数:
-J-Djava.security.policy=all.policy 安全策略,all.policy是一个文件。
如果使用绝对路径指定,可以是-J-Djava.security.policy=\etc\jstatd\all.policy
\etc\jstatd是自己创建的路径。
-J-Djava.rmi.server.logCalls=true console中显示日志,有助于排查问题。
-J-Djava.rmi.server.hostname=192.168.1.8
设置服务绑定的主机IP,这里有个点需要注意,
如果服务端在内网,客户端通过NAT访问服务端,服务端的本机IP可能是192.168.0.4,
客户端访问的IP:192.168.1.8,是服务端的外网IP,
那么这里需要绑定的IP应该是服务端的外网IP:192.168.1.8,
不然客户端虽然能telnet连上服务端的指定端口,但是会被拒绝服务。
一般启动选项可以如下配置:
jstatd -J-Djava.security.policy=jstatd.all.policy -p 9001 -J-Djava.rmi.server.hostname=192.168.1.8 -J-Djava.rmi.server.logCalls=true
指定端口为9001
&