Amazon ec2 VisualVM无法配置文件;“连接”和其他选项卡工作,但“采样器”选项卡给出:“连接”;未能创建JMX连接";

Amazon ec2 VisualVM无法配置文件;“连接”和其他选项卡工作,但“采样器”选项卡给出:“连接”;未能创建JMX连接";,amazon-ec2,profiling,visualvm,jvisualvm,Amazon Ec2,Profiling,Visualvm,Jvisualvm,我正在尝试使用VisualVM评测一个在EC2中运行的应用程序。VisualVM连接到远程机器,将向我显示概览、监视器和VisualGC选项卡(带数据),但当我选择采样器选项卡时,我得到: 没有。无法创建到目标应用程序的JMX连接。使用“添加JMX连接”操作附加到应用程序 我尝试添加JMX连接(到EC2公共地址,以及启动应用程序时使用的JMX端口),但没有成功 我可以在VisualVM Overview选项卡中看到我已经设置了应用程序的jmxsettings(并且扩展到VisualVM可以看到这

我正在尝试使用VisualVM评测一个在EC2中运行的应用程序。VisualVM连接到远程机器,将向我显示概览、监视器和VisualGC选项卡(带数据),但当我选择采样器选项卡时,我得到:

没有。无法创建到目标应用程序的JMX连接。使用“添加JMX连接”操作附加到应用程序

我尝试添加JMX连接(到EC2公共地址,以及启动应用程序时使用的JMX端口),但没有成功

我可以在VisualVM Overview选项卡中看到我已经设置了应用程序的jmxsettings(并且扩展到VisualVM可以看到这些设置):

我使用的是EC2安全模型,它允许从EC2到本地机器的所有端口都是开放的。 我在两台机器上运行完全相同的JVM。 我已经在EC2机器上运行了jstatd


不确定还要尝试什么。

是否使用SSL身份验证?如果你不想使用它,试着更换

-Dcom.sun.management.jmxremote.local.only=false


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

是否使用ssl身份验证?如果你不想使用它,试着更换

-Dcom.sun.management.jmxremote.local.only=false

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

您可以从本地jvisualvm连接到EC2 JMX端口,而无需打开EC2 JMX端口。我这样做的方式是使用ssh隧道。在本地计算机上运行以下命令:

ssh -i <aws .pem key>  ec2-user@<ec2-ip> -v -D 9010
在“无代理主机”下,不保留任何内容,然后单击“确定”

然后选择localhost并右键单击添加JMX连接,然后输入
localhost:9010
,您就完成了:)

您可以从本地jvisualvm连接到EC2 JMX端口,而无需打开EC2 JMX端口。我这样做的方式是使用ssh隧道。在本地计算机上运行以下命令:

ssh -i <aws .pem key>  ec2-user@<ec2-ip> -v -D 9010
在“无代理主机”下,不保留任何内容,然后单击“确定”


然后选择localhost并右键单击添加JMX连接,然后输入
localhost:9010
,您就完成了:)

谢谢您的建议,但它仍然无法连接。我甚至能够成功地从我的visualvm机器远程登录到远程地址和端口9010…因此我仍然无法理解为什么visualvm不能进行此连接。JMX协议很复杂,并且使用额外的连接。尝试再添加一个系统属性:
-Djava.rmi.server.hostname=
谢谢您的建议,但它仍然无法连接。我甚至能够成功地从我的visualvm机器远程登录到远程地址和端口9010…因此我仍然无法理解为什么visualvm不能进行此连接。JMX协议很复杂,并且使用额外的连接。尝试再添加一个系统属性:
-Djava.rmi.server.hostname=
Socks Proxy:  localhost  Port: 9010