Pandora FMS Plugin JMX

Plugin para la monitorización de servidores de aplicaciones basadas en tecnología JMX.

Introducción

Ver.

Plugin para la monitorización de servidores de aplicaciones basadas en tecnología JMX.

Tipo: Plug-in de servidor

Matriz de compatibilidad

Desarrollado utilizando IBM WebSphere 8.5.5.13, y Weblogic 12.1.3.0.0 utilizando el agente
WAR Jolokia 1.5.0

Compatible con:

Websphere
Weblogic
Tomcat
WebSphere
JBoss
Kafka

Pre requisitos

Se requiere desplegar la aplicación Jolokia en el servidor de aplicaciones que queramos
monitorizar.

En el equipo que ejecutará el plugin, se requiere la instalación de las librerías jmx4perl .

Se realizan una serie de chequeos básicos “por defecto”, aunque se pueden
suprimir o personalizar.

Se dispone de una interfaz “abierta” para especificar consultas a Mbeans,
permitiendo gestionar la monitorización de los recursos Java.

Se requiere conexión con el servicio Tentacle asociado a su servidor de Pandora FMS (para
ejecuciones locales del plugin) bajo las siguientes condiciones:

● Si tiene as_server_plugin habilitado.
● Si tiene agent_per_instance habilitado.

El despliegue de este plugin por binarios no requiere ningún requisito especial.

Requiere la librería PandoraFMS::PluginTools.pm

Esta librería está disponible con la instalación del paquete Pandora FMS OpenSource.

Puede descargar la última versión de:

https://github.com/pandorafms/pandorafms/blob/develop/pandora_server/lib/PandoraFMS/PluginTools.pm

Configuración

 

INSTALACIÓN DE JOLOKIA

Descargue el agente Jolokia de la web oficial: https://jolokia.org/download.html

Securización del agente Jolokia (WAR)

Puede asignar políticas de seguridad para restringir tanto el acceso como el uso de las opciones disponibles en el agente Jolokia.

Estas restricciones pueden especificarse en un fichero XML de políticas. Este fichero está dividido en secciones con las que podrá controlar varios parámetros:

Restricciones basadas en IP
El acceso general puede ser permitido basándose en la dirección IP de un cliente HTTP. Esta restricción se especifica en la sección<remote> , contendrá elementos <host> . El origen puede ser una dirección IP, un nombre de host, o una red en formato CIDR.

El ejemplo siguiente permite el acceso desde localhost y todos los clientes de la red
10.0.0.0/16:

<remote>
<host>localhost</host>
<host>10.0.0.0/16</host>
</remote>

Restricciones de comandos

Puede restringir los comandos que se permitirán ejecutar de manera general, indicando aquellos que se permitan. Para ello se utilizará la sección <commands> especificando cada comando con un elemento <command> .

El ejemplo siguiente habilita los comandos READ, LIST, SEARCH y VERSION . El resto de comandos ( WRITE, EXEC ) no estarían disponibles:

<commands>
<command>read</command>
<command>list</command>
<command>version</command>
<command>search</command>
</commands>

Existen restricciones de consultas de mbeans y orígenes de peticiones. Puede consultar la ayuda completa en el siguiente enlace: https://jolokia.org/reference/html/security.html

Ejemplo de política de seguridad

En este ejemplo se permite la conexión desde localhost y la red 10.0.0.0/16. También se limitan los comandos disponibles a READ,LIST,VERSION y SEARCH

<?xml version="1.0" encoding="UTF-8"?>
<restrict>
<remote>
<host>127.0.0.1</host>
<host>localhost</host>
<host>10.0.0.0/16</host>
</remote>
<commands>
<command>read</command>
<command>list</command>
<command>version</command>
<command>search</command>
</commands>
<http>
<method>post</method>
</http>
</restrict>

Inclusión de una política de seguridad

Para reempaquetar una política en el archivo WAR del agente Jolokia deberá seguir los
siguientes pasos:

# Descargue el agente WAR
$ jolokia

Nota: Puede descargarlo manualmente de: http://search.maven.org/remotecontent?filepath=org/jolokia/jolokia-war/1.5.0/jolokiawar-1.5.0.war

# Descargue la plantilla de política de ejemplo
# en el directorio local como “jolokia-access.xml”
$ jolokia download --policy

Nota : Si ha recibido errores al ejecutar los pasos previos, puede descargar la política de ejemplo desde http://www.jolokia.org/templates/jolokia-access.xml

Edite la política y coloque el archivo jolokia-war-VERSION.war y el archivo jolokia-access.xml en el mismo directorio.

# Repack the to add the policy file 'jolokia-access.xml' form the cwd
$ jolokia repack --policy jolokia.war

Deberá recibir una salida similar a lo siguiente:

$ jolokia repack --policy jolokia-war-1.5.0.war
* Adding policy WEB-INF/classes/jolokia-access.xml to
jolokia-war-1.5.0.war

image-1626084627819.png

Puede realizar una verificación del contenido del fichero WAR con el siguiente comando:

# Show current state (policy file include: yes/no)
$ jolokia jolokia.war

Jolokia en WebSphere

Para instalar el proxy en IBM Websphere. Realizar los siguientes pasos:
Seleccione en el menú lateral:
Aplicaciones > Nueva aplicación

image-1626084718348.png

Seleccione el fichero WAR de Jolokia.

image-1626084740556.png

Pulse siguiente .

image-1626084759321.png

Mantenga las opciones por defecto y pulse siguiente.

image-1626084781286.png

Modifique el nombre de la aplicación por “jolokia”, no es necesario realizar más cambios en esta pantalla. Presione siguiente.

image-1626084805919.png

Active la casilla de verificación para mapear la nueva aplicación con el servidor deseado. Pulse siguiente.