Pandora FMS: Plugin Enterprise de Apache Tomcat

12
Pandora FMS Manual Administrador Plugin Apache Tomcat

description

Se trata de un plugin enterprise que permite monitorizar servidores web Tomcat utilizando mod_status. Para más información visite la siguiente pagina web: http://pandorafms.com/index.php?sec=Library&sec2=repository&lng=es&action=view_PUI&id_PUI=275

Transcript of Pandora FMS: Plugin Enterprise de Apache Tomcat

Page 1: Pandora FMS: Plugin Enterprise  de Apache Tomcat

Pandora FMSManual Administrador

Plugin Apache Tomcat

Page 2: Pandora FMS: Plugin Enterprise  de Apache Tomcat

Manual Administrador Plugin Apache Tomcat

© Artica Soluciones Tecnológicas 2005­2012

Índice de contenido1Histórico de cambios..........................................................................................................................32Introducción........................................................................................................................................43Matriz de compatibilidad ...................................................................................................................54Documentación que debe entregar el Área que requiere la monitorización.......................................65Módulos disponibles para Tomcat......................................................................................................76Uso y configuración del plugin..........................................................................................................8

6.1.Plugin Agent (forma local) .......................................................................................................86.2.Monitorización SNMP.............................................................................................................106.3.Monitorización JMX................................................................................................................11

Page 3: Pandora FMS: Plugin Enterprise  de Apache Tomcat

1 HISTÓRICO DE CAMBIOS

Fecha Autor Cambio Versión

09/05/12 Tomas Primera versión del plugin v1r1

21/12/12 Tomas Corregido bug v1r2

14/01/12 Tomas Corregido bug v1r3

Page 3

Page 4: Pandora FMS: Plugin Enterprise  de Apache Tomcat

2 INTRODUCCIÓN

Partiendo de la base de que ya tenemos instalado y configurado tanto Pandora como el servidor Apache Tomcat, vamos a explicar como obtener información sobre el estado del servidor y de las aplicaciones que corren sobre él.

Existen diferentes métodos para conseguir nuestro objetivo, desde el uso plugins agente para la inclusión de los módulos que monitoricen esta información ofrecida por páginas web en el servidor de Pandora, hasta el uso de SNMP y programas dedicados a este fin como JMX mediante jconsole:

Page 4

Page 5: Pandora FMS: Plugin Enterprise  de Apache Tomcat

3 MATRIZ DE COMPATIBILIDAD 

La matriz de compatibilidad de la monitorización Tomcat es la que se muestra a continuación:

Sistemas donde se ha probado • Tomcat 6.0.35

Sistemas donde debería funcionar • Tomcat 6.x y superiores

Page 5

Page 6: Pandora FMS: Plugin Enterprise  de Apache Tomcat

4 DOCUMENTACIÓN QUE DEBE ENTREGAR EL ÁREA QUE REQUIERE LA MONITORIZACIÓN

La documentación que tiene que entregar el área que solicita la monitorización es:

• Username: usuario para autenticarse en Tomcat• Password: contraseña para autenticarse en Tomcat• IP address: Dirección IP del servidor Tomcat a monitorizar.

Page 6

Page 7: Pandora FMS: Plugin Enterprise  de Apache Tomcat

5 MÓDULOS DISPONIBLES PARA TOMCAT

Los módulos que devuelven la ejecución de este plugin son los siguientes:

• ConnectorName:JK_THREADS_BUSY

• ConnectorName:JK_THREAD_COUNT

• ConnectorName:JK_MAX_THREADS

• TOMCAT_FREE_MEM

• TOMCAT_MAX_MEM

• TOMCAT_TOTAL_MEM

Page 7

Page 8: Pandora FMS: Plugin Enterprise  de Apache Tomcat

6 USO Y CONFIGURACIÓN DEL PLUGIN

6.1. Plugin Agent (forma local) 

En este ejemplo vamos a suponer que tenemos instalados el server Pandora y el servidor Tomcat en diferentes máquinas, con todos los programas de monitorización instalados debidamente (Pandora Agent, JMX con jconsole)

Necesitamos un script que extraiga la información de la página XML que contiene los datos del Apache Tomcat.

Para la extracción de estos datos es necesario:

– Disponer de wget en cada uno de los servidores a monitorizar.– Disponer de los permisos necesarios para que desde la propia máquina se pueda hacer un 

wget a la página en cuestión (un usuario y contraseña en tomcat­users.xml habilitado para acceder al contenido de dicha página).

– Habilitar el acceso a dicha página así como roles que asignar a usuarios para que puedan obtener su contenido.

En nuestro caso usamos un Turnkey Apache Tomcat en el cual encontramos dicha página en:

http://<Tomcat-IP-Address><Puerto>/manager/status?XML=true

Nota: puerto por defecto de Tomcat es 8080

Dicho script va a almacenar ésta página en un archivo temporal y va a extraer los valores correspondientes para cada dato que queramos monitorizar y los va a presentar en formato XML listo para ser introducido en Pandora.

Muy importante debera agregar un conector mas del que ya tiene por defecto el servidor Apache Tomcat, ya que el plugin solo funciona correctamente a partir de dos o mas conectores habilitados en Tomcat. Por ejemplo esta configuración:

/etc/tomcat<version>/server.xml

Page 8

Page 9: Pandora FMS: Plugin Enterprise  de Apache Tomcat

El script es el siguiente:

pandora_tomcat.pl

Una vez tenemos el script con los valores que queremos monitorizar, lo incluímos en el pandora_agent.conf como un plugin agente. Dicho plugin introducira un módulo para cada uno de esos valores, visible en la interfaz web del servidor Pandora.

Nota: Importante Cambiar los permisos del plugin y darle permiso de ejecucion.

Ante la inclusión de nuevos conectores en el servidor Tomcat, el programa actuará en respuesta añadiendo nuevos módulos de forma dinámica con información sobre cada nuevo conector.

Los conectores Java son APIs que proporcionan una interfaz entre un programa Java y otras aplicaciones o servidores. Dichos conectores hacen mostrar al programa Java el otro servidor o aplicación como un Enterprise JavaBean (EJB), proporcionando una compatibilidad entre ambos.

Así, cada módulo estará identificado por el nombre de conector más el tipo de dato que recoge.

/etc/pandora/pandora_agent.conf

module_plugin <ruta­plugin> ­­user=username ­–password=userpass http://<TomcatServer­IP­Address>:<Puerto>/manager/status?XML=true <plugin­name>

Page 9

Page 10: Pandora FMS: Plugin Enterprise  de Apache Tomcat

6.2. Monitorización SNMP

Puedes usar uno de los muchos adaptadores SNMP­JMX para monitorizar Apache Tomcat.

Entre ellos los más destacables son:

– Westhawk SNMP

– Sun JDMK

Cada uno de ellos con sus correspondientes configuraciones nos permiten convertir las 

notificaciones JMX en SNMP Traps y extraer la información del estado del servidor.

Sería cuestión de introducir las OIDs de los MIBs generados por el adaptador con su 

correspondiente valor y tipo de dato en el servidor de Pandora y ya podríamos monitorizarlo.

Otra forma de monitorización alternativa es mediante el uso de JMX.

Page 10

Page 11: Pandora FMS: Plugin Enterprise  de Apache Tomcat

6.3. Monitorización JMX

Page 11

Page 12: Pandora FMS: Plugin Enterprise  de Apache Tomcat

JMX (Java Management Extensions) ofrece las herramientas para implementar soluciones 

distribuidas, modulares, dinámicas y basadas en web para administrar y monitorizar dispositivos, 

aplicaciones y redes controladas por servicios, especializado para Java.

JMX usa un adaptador HTTP para mostrar la información que gestiona de forma visible en la web.

Nosotros podemos aprovecharnos de la extracción que el adaptador HTTP realiza de los datos 

parseándolos en un formato XML compatible con Pandora.

De todos modos es preferible usar los otros dos métodos y dejar esto como una alternativa.

Hay una forma más facil de monitorizar el servidor Tomcat usando JMX, si usamos el comando 

twiddle, un cliente JMX que actúa entre otras formas recopilando los diferentes datos de los 

MBeans del servidor, en un formato <nombre­dato>=<dato> una vez se ejecuta. Con él podemos 

recoger información de los atributos de los Mbeans que contienen la información del estado del 

sistema y de los conectores.

Page 12