Connecter JVisualVM à un karaf distant

karaf-logo

Nous allons voir comment connecter JVisualVM à un serveur Karaf distant tournant sur une distribution Linux.

  • Environnement serveur :
  1. Debian 3.0.57 64 bits
  2. Java 1.7.0 update 60
  3. Karaf 3.0.2
  • Environnement client :
  1. Windows 7 64 bits
  2. Java 1.7.0 update 60

Pour commencer, il faut tout d'abord ouvrir le port JMX côté serveur. Dans notre cas, Karaf utilise par défaut le port 1099.

Vérifiez ensuite que la connexion se fait correctement via la commande suivante :

telnet host.name.fr 1099

où host.name.fr est le nom du serveur hébergeant l'instance de Karaf.

Ensuite, il faut configurer le service JMX de Karaf. Cela peut se faire de trois manières :

  • En modifiant le fichier KARAF_HOME/etc/org.apache.karaf.management.cfg
  • En modifiant le fichier système /etc/hosts
  • En configurant la JVM au lancement de Karaf via l'option java.rmi.server.hostname

Cette dernière solution est de loin la plus efficace et la moins fastidieuse. Il suffit en effet de modifier le fichier KARAF_HOME/bin/setenv et d'ajouter l'option java.rmi.server.hostname à la variable système JAVA_OPTS :

export JAVA_OPTS=”-Djava.rmi.server.hostname=host.name.fr”

Enfin, il ne reste plus qu'à connecter JVisualVM au Karaf :

  • Ajoutez un nouvel hôte distant :

AddRemote-

  • Entrez le hostname du serveur :

HostNameName

  • Ajoutez une nouvelle connexion JMX au serveur :

AddJmx

  • Paramétrez votre connexion avec l'URL du service JMX de Karaf :

JMXInfos

Et voilà, le  monitoring de votre Karaf devrait fonctionner.

Final

 

Un commentaire

  1. Avec ce niveau de JDK, on peut aussi utiliser (avantageusement IMHO) Java Mission Control pour le même résultat, mais plus de confort.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.