AmazonのクラウドでLinuxサーバーでTomcat 6を実行しています。私は私のオフィスで私のMacからVisualVMで接続しようとしています。デスクトップとサーバーの間にすべてのTCPポートを開くことができましたが、VisualVMに何かをさせることができません。私はamazonhostname.com入力VisualVMリモート接続のデバッグ
...>新規JMX接続 - 私はVisualVMのを起動し、ファイルを選択し、私のMac上で
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9191
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
:Linuxボックスの
は、私はTomcatを開始しました9191 「amazonhostname.com:9191を追加しています...」と表示され、タイムアウトするまで数分待っています。私のMacからは、 "telnet amazonhostname.com 9191"をうまく使用でき、他のランダムポートを試してみました。 UDPやICMPなどを開く必要がない限り、ファイアウォールの問題ではないと確信しています。 (本当に??)
サーバーのcatalina.logや、Macのシステムコンソールにはjmxに関連するものはありません。サーバー上のnetstatは9191を表示し、他のいくつかのポートはすべてのインターフェイスで開きます。
リモートサーバーにjstatdはありません。これはJMXの前提条件ですか? (私はJavaに全く新しいですし、それらのことがどういう意味なのかはまだ分かりませんが、私はブログの投稿でどこかを見ました)。
iptablesがあなたのLinuxボックスの接続をブロックしていないことを確認しましたか?編集:私はあなたがtelnetを見ることができます - 大丈夫、それを傷つけることがわかります。 –
もう1つのことは、RMIのホスト名です。http://stackoverflow.com/questions/9985293/how-do-i-use-jconsole-to-connect-to-ec2 –
Jstatd必要ない。 GregがTomcatのJVM引数に-Djava.rmi.server.hostname = the.public.ipを追加するよう提案したため。 –