jstatd远程监控服务器配置
- 设置权限
vi $JAVA_HOME/jre/lib/security/java.policy 在文件末位的 }; 前添加
permission java.security.AllPermission;
或者使用命令来设置权限
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
- 启动jstatd服务
jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=172.29.2.152 -p1099 &
JMX配置
-
JMX为某个java实例的监控,可以查看线程,对Cpu及内存进行抽样,可以强制回收垃圾
-
java的启动语句里添加,下面例子是没有打开权限信息
-Djava.rmi.server.hostname=192.168.200.136
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.managementote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
- jmx的权限文件,
jmx的权限文件通常在
%JAVA_HOME/jre/lib/management/
jmxremote.password 及 jmxremote.access 两个文件,一个用于记录账号密码,一个用于设置权限 jmxremote.password 文件默认没有,复制jmxremote.password.template文件即可,最下面这两行反注释掉即可启用
# monitorRole QED
# controlRole R&D
账号为monitorRole,密码为QED,注意:jmxremote.password权限需为600,权限级别观察jmxremote.access文件底部,启动语句需要修改认证配置为true
-Dcom.sun.management.jmxremote.authenticate=true