Quand java, JMX, cacti et snmp sont dans un bateau … ça c’était l’idée de départ, finalement, c’est beaucoup plus simple d’activer le snmp directement dans la jvm …
voici donc quelques notes pour faire de beau graphes de machines virtuelles java avec cacti.
Principe
Après avoir activer snmp sur la jvm, on configure le serveur snmp local pour faire proxy.
Mise en œuvre
Ajouter ces options pour le lancement de la jvm, pour tomcat ça ce passe dans /etc/default/tomcat5.5 ou /etc/default/tomcat6
-Dcom.sun.management.snmp.port=$PORT -Dcom.sun.management.snmp.acl.file=/etc/tomcatX/snmp.acl
Modifier le /etc/tomcatX/snmp.acl
acl = {
{
communities = public
access = read-only
managers = localhost
}
}
Changer les droits, la jvm est très strict à ce sujet
chmod 400 /etc/tomcatX/snmp.acl
chown tomcatX /etc/tomcatX/snmp.acl
Enfin ajouter dans /etc/snmp/snmpd.conf
proxy -v 2c -c public localhost:9161 .1.3.6.1.4.1.42
En vrac
Téléchargement de jmxquery : http://code.google.com/p/jmxquery/downloads/list à décompresser dans /usr/local/share/jmxquery-1.0/
mkdir /usr/local/share/jmxquery-1.0/
cd /usr/local/share/jmxquery-1.0/
wget http://jmxquery.googlecode.com/files/jmxquery-1.0.tar.gz
tar -xzvf jmxquery-1.0.tar.gz
chmod +x check_jmx
rm jmxquery-1.0.tar.gz
cd ../
ln -s jmxquery-1.0 jmxquery