Configuration connexion VisualVm

De EjnTricks

L'utilisation de VisualVm nécessite la mise en place de connexion sur les process à auditer. Cet article présente la mise en place de ces configurations.

Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Icon-memory.png Local

Dans cet exemple, la JVM auditée est celle montée par l'application en elle même. Par défaut, l'application est disponible dans la partie Local de l'arbre de navigation. Il suffit de double cliquer sur l'icône pour ouvrir l'audit de l'instance:


Hardware-icon.png Remote

Le premier mode d'audit à distance étudie, utilise la fonctionnalité de jmxremote sur une JDK. Pour cela, il faut l'activer ce mode sur l'instance à auditer. Dans cet exemple, l'instance auditée correspond à un serveur Tomcat hébergé sur une serveur Ubuntu.

Configuration JmxRemote

Il faut modifier le script de démarrage de Tomcat ouvrir le port d'écoute. Par défaut, les arguments suivants de la machine virtuelle suffisent:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=7091
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

Avec ces arguments, un port d'écoute est ouvert sur le numéro 7091 et ne nécessitant pas de compte d'authentification.

Cependant, cela n'a pas été suffisant sur le serveur Ubuntu. Un article sur le support JAVA indique que l'ajout suivant est nécessaire:

-Djava.rmi.server.hostname=192.168.XXX.XXX

Pour la mise en place de ces arguments sous Tomcat, le fichier setenv.sh est modifié,, comme décrit ici, permettant ainsi de ne pas impacter les scripts standards.

export CATALINA_OPTS="-Dappserver.home=$CATALINA_HOME -Dappserver.base=$CATALINA_BASE -Xms1024m -Xmx1024m 
-Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -XX:MaxPermSize=256m -Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.XXX.XXX"

Connexion JmxRemote

Pour ajouter une connexion, il est nécessaire de déclarer une nouvelle machine distante. Pour cela, il faut cliquer sur l'élément Remote dans l'arbre de navigation et cliquer sur le sous menu Add Remote Host...


Une nouvelle fenêtre apparaît dans laquelle on peut indiquer le nom de la machine ou son adresse IP, ainsi qu'un nom pour l'affichage:


Une fois la machine déclarée, il faut ajouter la connexion JMX.


La configuration nécessite le nom ou l'IP de la machine, ainsi que le numéro de port ouvert. Celui ci correspond à la configuration com.sun.management.jmxremote.port en variable d'environnement de JVM.


Une fois déclarée, il suffit de double cliquer sur l'icône de la connexion: