Documento Original de Samuel Ruiz 1)
Con Zabbix podemos monitorizar un servidor tomcat mediante un agente JMX. Para ello debemos de realizar lo siguiente:
yum install java-1.6.0
rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-java-gateway-2.2.3-1.el6.x86_64.rpm
Podemos configurar el acceso mediante JMX de dos maneras
java \ -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=12345 \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ -jar /usr/share/doc/openjdk-6-jre-headless/demo/jfc/Notepad/Notepad.jar
java \ -Djava.rmi.server.hostname=x.x.x.x\ -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=12345 \ -Dcom.sun.management.jmxremote.authenticate=true \ -Dcom.sun.management.jmxremote.password.file=/etc/java-6-openjdk/management/jmxremote.password \ -Dcom.sun.management.jmxremote.access.file=/etc/java-6-openjdk/management/jmxremote.access \ -Dcom.sun.management.jmxremote.ssl=true \ -Djavax.net.ssl.keyStore=$YOUR_KEY_STORE \ -Djavax.net.ssl.keyStorePassword=$YOUR_KEY_STORE_PASSWORD \ -Djavax.net.ssl.trustStore=$YOUR_TRUST_STORE \ -Djavax.net.ssl.trustStorePassword=$YOUR_TRUST_STORE_PASSWORD \ -Dcom.sun.management.jmxremote.ssl.need.client.auth=true \ -jar /usr/share/doc/openjdk-6-jre-headless/demo/jfc/Notepad/Notepad.jar
Por último reiniciamos el Tomcat
Modificamos el archivo “/etc/zabbix/zabbix_server.conf” las siguientes líneas:
JavaGateway: IP del servidor zabbix. JavaGatewayPort: el puerto por el que escuchará zabbix. StartJavaPollers: le daremos el valor 5.
Reiniciamos el zabbix
service zabbix-server restart
Configuration→host→create host
Configuration→host→ítem→créate ítem
Estos ítems los podemos buscar con la aplicación jconsole, aunque cuando instalas JDK ( versión 1.5) podemos encontrar la herramienta jvisualVM que está mucho más completa.