meta data de esta página
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 <sxh>vim /opt/tomcat/catalina.sh</sxh>
- Añadimos la siguiente línea
<sxh> CATALINA_OPTS=“-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false” </sxh>
- Reiniciamos el servicio del tomcat
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
- desde la consola ejecutamos <sxh>export CATALINA_OPTS=“-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false”</sxh>
- reiniciamos el servicio tomcat
Paso 2
El siguiente paso es instalar en el servidor el paquete zabbix java gateway . Si zabbix lo hemos instalado desde los repositorios ejecutamos <sxh>yum install -y zabbix-java-gateway</sxh>
Editamos el fichero /etc/zabbix/zabbix_server.conf Descomentamos las siguientes líneas JavaGateway, JavaGatewayPort y StartJavaPollers
- Como valor de JavaGateway ponemos la ip sel servidor donde hemos instalado el servicio. Como lo hemos instalado en el mismo servidor de zabbix el valor quedaría JavaGateway=127.0.0.1
- Como valor de JavaGatewayPort dejaremos el puerto que aparece y que NO es el mismo que usamos para conectar por jmx. JavaGatewayPort=10052
- Como valor de Java Pollers ponemos 5 . StartJavaPollers=5
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
- LISTEN_IP=127.0.0.1
- LISTEN_PORT=10052
- START_POLLERS=5
Habilitamos el servicio zabbix-java-gateway <sxh>systemctl enable zabbix-java-gateway.service</sxh>
Arrancamos el servicio <sxh>systemctl start zabbix-java-gateway.service</sxh>
Reiniciamos el servicio del zabbix <sxh>systemctl restart zabbix-server</sxh>
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