Débogage VisualVM de connexion à distance
Je suis en cours d'exécution de Tomcat 6 sur un serveur Linux dans Amazon cloud. Je suis en train d'essayer de vous y connecter avec VisualVM à partir de mon Mac à mon bureau. J'ai ouvert tous les ports TCP entre mon bureau et le serveur, mais je n'arrive pas à obtenir VisualVM rien à faire.
Sous linux, j'ai commencé à Tomcat avec:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9191
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
Sur mon Mac, je lance VisualVM et choisissez la commande Fichier -> Nouvelle Connexion JMX...
- Je entrer amazonhostname.com:9191 dans la boîte. Il dit: "l'Ajout de amazonhostname.com:9191..." et là pendant plusieurs minutes avant d'expirer.
À partir de mon Mac, je peux "telnet amazonhostname.com 9191" il va bien, et j'ai essayé quelques autres ports aléatoires, et ils ont tous travaillé. Je suis assez convaincu qu'il n'est pas un problème de firewall, à moins que je besoin pour ouvrir UDP ou ICMP ou quelque chose comme ça. (Vraiment?)
Il n'y a rien de catalina.ouvrez une session sur le serveur, ou le système de la console sur mon Mac, liées à jmx. netstat sur le serveur affiche 9191 et quelques autres ports ouverts sur toutes les interfaces.
Il n'y a pas de jstatd sur le serveur distant. C'est qu'un pré-requis pour JMX? (Je suis totalement nouveau pour Java et je ne suis même pas sûr de ce que ces choses signifient, mais je l'ai vu sur un blog quelque part. Je suis à saisir les pailles maintenant.)
L'autre chose que vous devez regarder, c'est le RMI le nom d'hôte - regardez: stackoverflow.com/questions/9985293/...
Jstatd n'est pas nécessaire. Greg a suggéré d'essayer d'ajouter -Djava.rmi.serveur.hostname=l'.public.ip de Tomcat arguments JVM.
Merci Tomas & Greg - rmi.serveur.nom d'hôte a fait le tour. J'en suis! Si l'un de vous veut réécrire votre commentaire en réponse, je vais l'accepter.
Vous devez écrire une réponse
OriginalL'auteur jsd | 2012-05-11
Vous devez vous connecter pour publier un commentaire.
Configurer le nom d'hôte de la propriété avant de la machine virtuelle démarre:
Ajouter les règles pertinentes à votre groupe de sécurité.
Je n'ai pas utilisé EB, mais savez-vous pourquoi ce n'est pas le cas (pour laisser ultérieure SI les chercheurs savoir)?
Je pense que l'-Dcom.soleil.de la gestion.à distance.ssl=false doit -Dcom.soleil.de la gestion.jmxremote.ssl=false
Il a été un long temps depuis que j'ai regardé ça, et je n'ai pas accès à cette base de code plus à vérifier, mais il semble que vous avez raison, j'ai mis à jour la réponse.
EB instances d'aller et venir en fonction de la charge. Il n'y a pas un moyen facile de contrôler les pré-déploiement de l'environnement avec par exemple des personnalisations. Vous obtenez une instance fondée sur une certaine image, et votre application déployée dans Tomcat. Tout le reste est assez opaque.
OriginalL'auteur Greg Kopff