meta data de esta página
  •  

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
seguridad:monitorizacion:zabbix3:tomcat [022019/08/ 13:19] – [Paso 3] lcseguridad:monitorizacion:zabbix3:tomcat [182023/01/ 13:46] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
 +{{tag>zabbix tomcat jmx }}
  
 +===== 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 
 +<note warning>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.</note>
 +=== 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
 +
 +<note warning>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</note>
 +
 +
 +<note info>Para comprobar que está habilitado, la monitorización por  JMX,  podemos usar el programa **jconsole** que viene incluido con el paquete de desarrollo [[https://jdk.java.net/|jdk]]</note>
 +==== 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 {{ :seguridad:monitorizacion:zabbix3:import.png?nolink&1000 |}}
 +
 +{{ :seguridad:monitorizacion:zabbix3:import2.png?nolink&1000 |}}
 +
 +
 +Añadimos el host a monitorizar y le definimos el interface JMX
 +{{ :seguridad:monitorizacion:zabbix3:jmx1.png?nolink&1000 |}}
 +
 +Le asociamos la plantilla que descargamos para monitorizarlo 
 +{{ :seguridad:monitorizacion:zabbix3:jmx2.png?nolink&900 |}}