Instalación
Para la extracción de estos datos es necesario:
- Disponer de curl en cada uno de los servidores a monitorizar. Con la instalación del agente de PandoraFMS se incluye esta utilidad
- Disponer de los permisos necesarios para que desde la propia máquina se pueda hacer un curl 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).
Se ha de configurar el usuario para que tenga el rol manager-script, que pueda ver también el listado de
instancias.
<user username="user" password="password" roles="manager-script" />
- 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
http://<Tomcat-IP-Address><Puerto>/manager/text/list
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.
En caso de tener algún problema, puede considerar agregar un conector más del que ya tiene por defecto el servidor Apache Tomcat. Por ejemplo esta configuración:
/etc/tomcat<version>/server.xml
Ejemplo de fichero de configuración:
## User grants needed:
## v6 - manager-script
## v7 - manager-script
## v8 - manager-script
## v9 - manager-script
host=ahorcado.lab.artica.es
port=8080
user=admin
pass=pandora
## set to 1 if you use https instead of http
https=0
## if you want to ignore host:port config default, you could define a custom url:
#custom_url=http://myserver:myport/mymap/
## Module personalization
MODULE_GROUP=Tomcat
MODULE_TAGS=Network,Application
MODULE_INTERVAL=1
## Extra identifier (identifies the modules of current instance)
instance=T6
####### Personalize execution
## values 1 (tomcat version <= 6.X) or 0 (tomcat version > 6.X)
#compatibility_mode=1
#---------------------
#- monitoring status -
#---------------------
enable_application_scan=1
enable_status_monitoring=1
#personalize each section
enable_thread_monitoring=1
enable_requestInfo_monitoring=1
enable_workers_monitoring=1
#----------
#- vminfo -
#----------
enable_vminfo_memory_information=1
#JVM
enable_jvm_memory_monitoring=1
enable_jvm_memorypool_monitoring=1
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: Considere cambiar los permisos del plugin y darle permiso de ejecución.
Ejecución del plugin:
module_plugin perl /path/to/file/pandora_tomcat.pl /path/to/file/pandora_tomcat.conf
Se distribuyen también binarios para su ejecución en Windows, ( pandora_tomcat_x86.exe y pandora_tomcat_x64.exe ) configurándose de la misma forma:
module_plugin <ruta-plugin>/pandora_tomcat_x86.exe username userpassword http://<TomcatServerIP-Address>:<Puerto>