Sto eseguendo Tomcat 6 su un server Linux nel cloud di Amazon. Sto cercando di connettermi ad esso con VisualVM dal mio Mac nel mio ufficio. Ho permesso di aprire tutte le porte TCP tra il mio desktop e il server, ma non riesco a far funzionare VisualVM.Debug di connessione remota VisualVM
sulla macchina Linux, ho iniziato con Tomcat:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9191
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
Sul mio Mac, mi lancio VisualVM e scegliere File -> Nuovo JMX connessione ...
inserisco amazonhostname.com: 9191 nella scatola. Dice "Aggiungi amazonhostname.com:9191 ..." e resta seduto per diversi minuti prima di scadere.
Dal mio Mac, posso "telnet amazonhostname.com 9191" bene, e ho provato altre porte casuali, e hanno funzionato tutte. Sono abbastanza convinto che non si tratti di un problema con il firewall, a meno che non abbia bisogno di aprire UDP o ICMP o qualcosa del genere. (Davvero ??)
Non c'è niente in catalina.log sul server, o nella console di sistema sul mio Mac, relativo a jmx. netstat sul server mostra 9191 e alcune altre porte aperte su tutte le interfacce.
Non c'è jstatd sul server remoto. È un pre-requisito per JMX? (Sono totalmente nuovo a Java e non sono nemmeno sicuro di cosa significano queste cose, ma l'ho visto su un post di un blog.)
Avete fatto in modo che iptables non stia bloccando la connessione sulla vostra macchina Linux? EDIT: Vedo che puoi telnet - okay, grattalo. –
L'altra cosa che devi controllare è il nome host RMI: dai un'occhiata a: http://stackoverflow.com/questions/9985293/how-do-i-use-jconsole-to-connect-to-ec2 –
Jstatd non è necessario Come suggerito da Greg, provare ad aggiungere -Djava.rmi.server.hostname = the.public.ip agli argomenti JVM di Tomcat. –