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
vim /opt/tomcat/catalina.sh
- Añadimos la siguiente línea
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
- 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
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"
- 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
yum install -y zabbix-java-gateway
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
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