[英]Adding remote VMs in Java VisualVM
如果我打开jvisualvm
并转到“ File >> Add Remote Host
jvisualvm
提示我创建一个新的远程服务器条目。 我输入主机名myapp01.example.org
,然后看到该服务器显示在左侧“ Applications
树的“ Remote
部分下。 右键单击该服务器,然后单击Add JMX Connection
,我看到以下对话框:
假设我在myapp01.example.org:8443
运行了一个Java应用程序(将WAR部署到Tomcat)。 要通过SSH进入服务器,我使用用户名skroob
和密码12345
(嘿,这是我的行李箱!):
ssh skroob@myapp01.example.org
skroob@myapp01.example.org's password: 12345
当我如下填写对话框时:
myapp01.example.org:8443
: myapp01.example.org:8443
skroob
12345
我收到以下错误:
无法使用service:jmxLrmi:/// jndi / rmi://myapp01.example.org:8443 / jmxrmi连接到skroob@myapp01.example.org:8443
我相信这可能是因为我没有将JMX配置为在Tomcat本身上公开。 也许我只是输入了错误的信息。 也许两者都有。 无论哪种方式:
jstatd
正确配置呢? 这不是指定JMX连接的方式。 对于tomcat,最好的方法是创建bin / setenv.sh文件。这是最好的方法,因为已经设置了Apache脚本来查找它并在存在时调用它。
在这里可以设置任何特定于安装的参数。
您将走得像这样:
#
# PORT for debug
export JPDA_ADDRESS='8000'
echo start with 'jpda start' parameters to enable debugging. Tomcat will listen on $JPDA_ADDRESS
CATALINA_OPTS="\
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=1299 \
-Dcom.sun.management.jmxremote.authenticate=true \
-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password \
-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access \
-Dcom.sun.management.jmxremote.ssl=false
jmxremote.access:
monitorRole readonly
controlRole readwrite
jmxremote.password:此文件必须由启动Tomcat或JMX的ID进行只读处理! 即chmod 400 jmxremote.password
monitorRole readpass
controlRole changepass
基本上,您将设置2个JMX用户ID。 可以访问暴露的吸气剂的一种。 另一个也可以使用setter和mbean的方法。 在实践中,通常需要提供后者,因此您不仅可以外观。
所以...在上面的对话框中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.