jvisualvm 远程监控centos上的elasticsearch碰到的问题
2017-04-21 15:08
344 查看
今天在使用jvisualvm 远程监控centos上的elasticsearch碰到了一系列的问题,担心以后忘记了,现在做一个总结
remote 环境:elasticsearch ip:10.10.3.248
local jdk: 1.8
1.jvisualvm 监控远程的的虚拟机需要在远程机器上运行jstatd,所以在10.10.3.248 的java的bin目录下运行jstatd, 如不出意外会出报以下的错:
Could not create remote object
access denied (“java.util.PropertyPermission” “java.rmi.server.ignoreSubClasses” “write”)
java.security.AccessControlException: access denied (“java.util.PropertyPermission” “java.rmi.server.ignoreSubClasses” “write”)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
at java.security.AccessController.checkPermission(AccessController.java:884)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.System.setProperty(System.java:792)
at sun.tools.jstatd.Jstatd.main(Jstatd.java:139)
这时因为没有授权,在java的bin目录下执行vim jstatd.all.policy 然后写入下面的内容,详情参见
http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstatd.html
grant codebase “file:${java.home}/../lib/tools.jar” {
permission java.security.AllPermission;
};
jvisualvm 的官方介绍 参见:http://docs.oracle.com/javase/8/docs/technotes/guides/visualvm/overview_tab.html
然后 :wq保存
然后再运行 ./jstatd -J-Djava.security.policy=jstatd.all.policy 这次应该不会报错了。
2.接下来又有新的问题,这次我在jvisualvm里remote点右键添加10.10.3.248之后又发现cpu没有监控图像,提示’Not supported for this JVM’,这里原来是因为没有在elasticsearch 的启动参数上加上jmx的参数
于是,在elasticsearch的conf/jvm.options里加上下面这几句话
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=6666
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
然后将%java_home%/jre/lib/management/jmxremote.password.template 复制一份为jmxremote.password 然后把该文件的归后两行给去掉注释即可
并且还要给jmxremote.password 授权为只读 chmod 666 jmxremote.password 必须为只读不然会报错的。
即下面这两行前的#号去掉
monitorRole QED
controlRole R&D
3.接下来在jvisualvm里的remote结点10.10.3.248里点右键添加Add Jmx Connection,如下图
接下来稍微等一会儿就会出现一个如下图红框所示的jmx连接
若接下来仍然不能连接提示:
service:jmx:rmi 无法连接到10.10.3.248 那么请执行hostname -i 检查hostname 如下:
hostname -i
出来的结果必须是本机ip:比如 10.10.3.213 如果结果中有其它的ip如127.0.0.1等,则连接不上,请修改host去掉127.0.0.1
若仍连接不上请关闭防火墙:/bin/systemctl stop iptables.service 我用的是centos7,如果是别的centos6请使用相应版本的关闭防火墙的命令
接下来点击这个jmx连接就会在右边出现熟悉的cpu的信息了。
remote 环境:elasticsearch ip:10.10.3.248
local jdk: 1.8
1.jvisualvm 监控远程的的虚拟机需要在远程机器上运行jstatd,所以在10.10.3.248 的java的bin目录下运行jstatd, 如不出意外会出报以下的错:
Could not create remote object
access denied (“java.util.PropertyPermission” “java.rmi.server.ignoreSubClasses” “write”)
java.security.AccessControlException: access denied (“java.util.PropertyPermission” “java.rmi.server.ignoreSubClasses” “write”)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
at java.security.AccessController.checkPermission(AccessController.java:884)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.System.setProperty(System.java:792)
at sun.tools.jstatd.Jstatd.main(Jstatd.java:139)
这时因为没有授权,在java的bin目录下执行vim jstatd.all.policy 然后写入下面的内容,详情参见
http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstatd.html
grant codebase “file:${java.home}/../lib/tools.jar” {
permission java.security.AllPermission;
};
jvisualvm 的官方介绍 参见:http://docs.oracle.com/javase/8/docs/technotes/guides/visualvm/overview_tab.html
然后 :wq保存
然后再运行 ./jstatd -J-Djava.security.policy=jstatd.all.policy 这次应该不会报错了。
2.接下来又有新的问题,这次我在jvisualvm里remote点右键添加10.10.3.248之后又发现cpu没有监控图像,提示’Not supported for this JVM’,这里原来是因为没有在elasticsearch 的启动参数上加上jmx的参数
于是,在elasticsearch的conf/jvm.options里加上下面这几句话
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=6666
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
然后将%java_home%/jre/lib/management/jmxremote.password.template 复制一份为jmxremote.password 然后把该文件的归后两行给去掉注释即可
并且还要给jmxremote.password 授权为只读 chmod 666 jmxremote.password 必须为只读不然会报错的。
即下面这两行前的#号去掉
monitorRole QED
controlRole R&D
3.接下来在jvisualvm里的remote结点10.10.3.248里点右键添加Add Jmx Connection,如下图
接下来稍微等一会儿就会出现一个如下图红框所示的jmx连接
若接下来仍然不能连接提示:
service:jmx:rmi 无法连接到10.10.3.248 那么请执行hostname -i 检查hostname 如下:
hostname -i
出来的结果必须是本机ip:比如 10.10.3.213 如果结果中有其它的ip如127.0.0.1等,则连接不上,请修改host去掉127.0.0.1
若仍连接不上请关闭防火墙:/bin/systemctl stop iptables.service 我用的是centos7,如果是别的centos6请使用相应版本的关闭防火墙的命令
接下来点击这个jmx连接就会在右边出现熟悉的cpu的信息了。
相关文章推荐
- jvisualvm远程监控 visualgc插件 不受此jvm支持问题
- Terracotta开发控制台监控远程服务器“Timed-out”的问题
- 使用ssh工具远程登录centos中文乱码问题
- CentOS6.5下MySQL无法远程连接的问题
- 设定CentOS的网络时碰到的一个小问题
- Tivoli_oracle采用客户端远程监控问题
- 在CentOS 4安装ZendStudioServer可能碰到的问题
- 解决CentOS6.4 用SSH远程连接时显示中文乱码的问题
- window下jconsole监控weblogic及远程不能访问的问题
- 安装双系统,win7后用U盘安装centos 5.5碰到的问题及解决方案
- Centos7下安装mysql5.6.21碰到的问题
- 一个远程监控问题
- centos6.2 远程使用VI卡住的问题
- 关于JRMC远程监控的问题
- JVisualVM远程监控
- Terracotta开发控制台监控远程服务器“Timed-out”的问题
- centos下远程桌面的设置及问题处理
- jvisualvm结合jstatd进行远程监控
- jvisualvm 远程监控配置方式
- virtualbox安装centos6.5碰到的问题