Tabla de Contenidos

, ,

Monitorizar Servidores Tomcat desde Zabbix

Paso 1

Lo primero que haremos será habilitar Java Management Extension( JMX ) en el Tomcat que queramos monitorizar.

Para habilitar la monitorización por JMX debemos de editar el fichero catalina.sh en mi caso

vim /opt/tomcat/catalina.sh

CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

La opción Dcom.sun.management.jmxremote.authenticate=false deshabilita la autentificación y no debe usarse en producción.

En producción debemos de usar las opciones
-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 \

y crear los ficheros jmxremote.access y jmxremote.password copiando el jmxremote.access.template y cambiándole las contraseñas y los permisos para que sólo sea accesible al usuario que ejecute el Tomcat.

Si sólo queremos monitorizar temporalmente por JMX nuestro servidor

Ojo este método es sólo si no tenemos declarada la variable CATALINA_OPS en el catalina.sh ya que se borrara el valor por el que acabamos de declarar y perderíamos los valores que se hubieran definido con anterioridad
Para comprobar que está habilitado, la monitorización por JMX, podemos usar el programa jconsole que viene incluido con el paquete de desarrollo jdk

Paso 2

El siguiente paso es instalar en el servidor el paquete zabbix java gateway . Si zabbix lo hemos instalado desde los repositorios ejecutamos

yum install -y zabbix-java-gateway

Editamos el fichero /etc/zabbix/zabbix_server.conf Descomentamos las siguientes líneas JavaGateway, JavaGatewayPort y StartJavaPollers

Editamos el fichero /etc/zabbix/zabbix_java_gateway.conf

Descomentamos las siguientes opciones LISTEN_IP, LISTEN_PORT y START_POLLERS y ponemos los siguientes valores

Habilitamos el servicio zabbix-java-gateway

systemctl enable zabbix-java-gateway.service

Arrancamos el servicio

systemctl start zabbix-java-gateway.service

Reiniciamos el servicio del zabbix

systemctl restart zabbix-server

Paso 3

En este paso lo que haremos es añadir el host a monitorizar y asociarle una plantilla.

Nos descargamos la plantilla de https://www.zabbix.com/integrations/tomcat . Yo he utilizado la plantilla https://share.zabbix.com/official-templates/applications/tomcat-template.

La descargo y la importo al zabbix. Configuration→Templates botón de Import

Añadimos el host a monitorizar y le definimos el interface JMX

Le asociamos la plantilla que descargamos para monitorizarlo