Pas en mesure de se Connecter à un Hôte Distant à la VisualVM
Je suis nouveau sur le Java et je suis confronté à un problème de connexion à un Hôte Distant à la JVisualVM
.
J'ai cherché sur Internet et de suivre toutes les étapes mentionnées là, mais encore ne suis pas en mesure de résoudre le problème. Les étapes que j'ai suivies sont:
-
J'ai commencé la jstatd sur le serveur distant en créant d'abord une
jstatd.all.policy
fichier dans le$JAVA_HOME/bin
. Le fichier contient:grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission;};
-
J'ai commencé la
Jstatd
commejstatd -J-Djava.security.policy=jstatd.all.policy
-
J'ai commencé l'application Java sur l'ordinateur distant, comme :
java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false application_name
-
J'ai alors commencé comme instance de la
JVisualVM
sur ma machine locale et que j'ai ajouté l'hôte distant, il s'est connecté mais je n'ai pas pu voir tout les processus Java.
Quelqu'un peut m'aider avec cela.
Grâce.
OriginalL'auteur rushi | 2011-10-24
Vous devez vous connecter pour publier un commentaire.
J'ai rencontré des problèmes similaires lors de la connexion au serveur d'application Glassfish. Voir les solutions qui ont travaillé pour moi, car ils peuvent être de même pour Vous:
Susmentionnés adresse IP du serveur IP externe (peut sembler idiot, mais cela a fonctionné pour moi). Le principal problème dans mon cas était de JMX pointant vers le localhost et de bouclage. Dans les fichiers de configuration de l'adresse IP exacte doit être réglé à l'hôte distant. Je l'a décrit comme un "Problème 2' Dans mon blog: le traitement des problèmes de connexion
Si le Pare-feu bloc est un problème, alors je vous recommande d'essayer XMing avec le tunnel SSH (ce qui est simple à définir). Voici l'instruction, si Vous rencontrez des problèmes lors de l'installation:
L'utilisation à distance de VisualVM avec Xming (mon blog)
Plus grand avantage de l'utilisation de XMing est qu'il fonctionne presque toujours quand le SSH est activé. Vous avez juste à placer VisualVM fichiers sur l'hôte distant et l'exécuter en ligne de commande. XWindow montrera VisualVM Fenêtre sur Votre ordinateur local.
Il y a une chance qu'il est VisualVM question - essayez d'utiliser un autre outil juste pour vérifier ce qui est mal. Je recommande JConsole. Il fonctionne de manière similaire à VisualVM et j'ai aussi décrit les détails sur mon blog
OriginalL'auteur Jacek Milewski
Vous avez besoin pour commencer jstatd avec l'option supplémentaire qui pointe vers l'IP externe du serveur ou le nom d'hôte:
Réponse repose sur: https://java.net/projects/visualvm/lists/users/archive/2010-03/message/8
java.rmi.server.hostname
est ce qui a finalement obtenu ce travail pour moi.OriginalL'auteur Piotr Holubowicz
Pour se connecter à distance à un VM vous devez démarrer à distance VM avec des options spécifiques:
Après la VM est lancé, allez dans votre VisualVM et effectuez les opérations suivantes:
Plus de détails sur la Java de Surveillance et de Gestion de la Plate-forme peut être trouvé ici.
vérifiez le pare-feu sur les deux machines... peut-être que le trafic sur le port 9000 n'est pas permis...
J'ai désactivé le pare-feu sur ma machine locale et de la propriété intellectuelle de la table de paramètres sur l'hôte distant sont :
Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
google un peu pour trouver comment voir quels ports sont autorisés, et puis comment faire pour permettre à un port (9000 dans votre cas)... ou, si vous ne courez pas quelque chose sur les ports (80, 22, 443) - démarrer la machine virtuelle avec le port...
Je pense que c'est un problème de pare-feu. Pour le tester, désactiver le pare-feu sur l'hôte distant. Notez également qu'il ne suffit pas d'ouvrir le port 9000, JMX utilise supplémentaires alloués dynamiquement port pour la communication.
OriginalL'auteur davorp
Voici les étapes pour ce faire:
mvn exec:java -Djava.rmi.server.hostname=<remote_host_name> -Dexec.args="-pr 1099 -ph 1100 -pv 1101"
(utilisé pour "jstatd" type de connexion) (spécifier uniquement-Djava.rmi.server.hostname
si le nom d'hôte de votre hôte distant ne correspond pas à celui que vous voyez à partir de votre réseau local)-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=1102 -Dcom.sun.management.jmxremote.rmi.port=1102 -Djava.rmi.server.hostname=<remote_host_name>
(utilisé pour "JMX" type de connexion) (même remarque que pour le point précédent pour-Djava.rmi.server.hostname
)1099
,1100
,1101
et1102
1099
, vous pouvez changer cela dans les "Paramètres Avancés")<remote_host_name>:1102
" dans "Connexion d'entrée", et cochez la case "Ne nécessitent pas de connexion SSL"Disclaimer: je suis l'auteur de l'open source ejstatd outil.
OriginalL'auteur Anthony O.
Commencer jstatd dans nohup sur le serveur, qui doit être contrôlé et connecter
VisualVM
à la jstatd port, en suivant les étapes ci-dessous:Étape 1 : Créer
start-jstatd.sh
et de copier le contenu ci-dessous:Étape 2: Donner exécutable permission du fichier:
Étape 3: Commencer jstatd:
Étape 4: Ajouter un Hôte Distant dans
VisualVM
:Étape 5: Ajouter Connexion JMX à la Hôte Distant, comme le montre l'image ci-dessous et Cliquez sur le bouton OK:
OriginalL'auteur Arpit