# Configuración en Pandora

<span style="text-decoration: underline;">CONFIGURACIÓN  
</span>  
El fichero de configuración del plugin para monitorización de JMX se divide en bloques:

**Datos de conexión**

```
########################################################################
## Connection data
########################################################################
## URL endpoint of the target server
## Tomcat (example)
#server_url http://localhost:8080/jolokia
## Websphere (example)
#server_url http://localhost:49163/jolokia
## Weblogic (example)
#server_url http://192.168.70.237:7001/jolokia
## Product; product id of an specific technology
## (tomcat, jboss, weblogic, websphere, etc). By default the plugin uses autodetection
#product weblogic
## Timeout in seconds for an HTTP request (By default 180)
# timeout 180
```

*server\_url*   
Indica la dirección url donde está desplegada la aplicación Jolokia .

*product*   
Se recomienda definir este campo, ya que el proceso de autodetección puede llevartiempo. Indique el producto que se va a monitorizar: tomcat, jboss, weblogic, websphere,etc.

**Debug**

```
########################################################################
## Others
########################################################################
## Plugin log output will be fully verbose (with debug information)
#debug 1
```

*debug*   
Establezca el valor de este campo a 1 para ver información detallada en el log de ejecución del plugin. Por defecto en /tmp/pandora\_jmx\_plugin.log

**Alcance de la monitorización**

```
########################################################################
## Monitoring checks
########################################################################
## Server info checks
server_info
## OS info checks
os_info
## Monitor deployed web applications
webapp_info
## Include also monitoring for internal applications (console, consolehelp,...)
#include_internal_webapps 0
## This list will be used later by "servlets_list_info"
## check like a white list (only the following servlets will be checked)
## Tomcat monitoring
#use_only_servlets_begin
#WebModule=//localhost/examples,name=HelloWorldExample
#WebModule=//localhost/host-manager,name=HTMLHostManager
#WebModule=//localhost/examples,name=wsSnake
#use_only_servlets_end
## Websphere monitoring
#use_only_servlets_begin
#WebModule=DefaultCell01,name=jolokia_war
#WebModule=DefaultCell01,name=Helloworld_war
#use_only_servlets_end
## Weblogic monitoring
#use_only_servlets_begin
#WebModule=WL_PROXY,name=JspServlet
#use_only_servlets_end
# Servlets info
# (by default all Servlets deployed in the App server; will use use_only_servlets list
to restrict target Servlets checked)
#servlets_list_info
## Servlet monitoring, retrieve attributes from detected servlets
#servlet_attributes startTime loadTime,servletClass,requestCount,loadOnStartup
```

Puede configurar el plugin para reportar la información que necesite:  
  
*server\_info*  
  
Generar módulos con información del servidor JMX (1) o no (0).  
  
*os\_info*  
  
Agregar los módulos de monitorización del sistema operativo (1) o no (0).  
  
*webapp\_info*  
  
Monitorizar las aplicaciones desplegadas en el servidor JMX (1) o no (0). Si combina este parámetro con agent\_per\_instance , se crearán tantos agentes como aplicaciones tenga desplegadas. Esta funcionalidad se ha comprobado con Weblogic únicamente, su  
comportamiento puede no ser el esperado con otros servidores de aplicaciones.  
  
*include\_internal\_webapps*  
  
Incluir en la lista de aplicaciones web monitorizadas, las aplicaciones internas del servidor JMX (1) o no (0).  
  
*servlets\_list\_info*  
  
La monitorización basada en servlets nos permite recibir información de la disponibilidad de los mismos. Puede configurar servlets específicos a monitorizar especificando:  
  
*use\_only\_servlets\_begin*  
  
Se restringirá la monitorización de servlets a los especificados línea a línea tras esta etiqueta.  
  
*use\_only\_servlets\_end*  
  
Indica el final de la definición de servlets.  
  
Nota: Si utiliza servlets\_list\_info y no define el bloque use\_only\_servlets se analizarán todos los servlets disponibles.

**Inclusión de mbeans personalizados**

```
########################################################################
## Request of specifics attributes
########################################################################
# Example 1: Get an specific parameter ("used") from "HeapMemoryUsage" attribute from
the MBean "java.lang:type=Memory"
mbean_check_begin
mbean_check_name MemoryUsed
mbean_check_type generic_data
mbean_check_module_group Module group
mbean_check_description In Bytes
mbean java.lang:type=Memory
attribute HeapMemoryUsage
path used
mbean_check_end
# Tomcat server specific checks
#include jmx.tomcat.conf
# Websphere server specific checks
#include jmx.websphere.conf
# Weblogic server specific checks
#include jmx.weblogic.conf
# Kafka server specific checks
#include jmx.kafka.conf
```

Puede definir sus propios chequeos para recuperar información específica de mbeans. Para ello, defina tantos bloques de chequeo como necesite:

*mbean\_check\_begin*   
Especifica el inicio de un bloque de definición de chequeo de mbean específico.  
  
*mbean\_check\_name*  
  
Es el nombre del módulo tal y como aparecerá en Pandora FMS.  
  
*mbean\_check\_type*  
  
Indica el tipo de dato que se asignará al módulo en Pandora FMS.  
  
*mbean\_check\_module\_group*  
  
Puede personalizar el grupo de módulo que se aplicará a los monitores generados por la extracción de datos del mbean.  
  
*mbean\_check\_description*  
  
Es la descripción del módulo tal y como aparecerá en Pandora FMS.  
  
*mbean*  
  
Configure aquí el mbean a consultar.  
  
*path*  
  
Indique el path donde se aloja el mbean que desea consultar.  
  
*mbean\_check\_wmin*  
  
Indica el límite inferior del umbral Warning para el módulo.  
  
*mbean\_check\_wmax*  
  
Indica el límite superior del umbral Warning para el módulo.  
  
*mbean\_check\_wstr*  
  
Indica el texto como umbral de Warning para módulos de tipo string.  
  
*mbean\_check\_winv*  
  
Invierte la dirección de los umbrales Warning del módulo.  
  
*mbean\_check\_cmin*  
  
Indica el límite inferior del umbral Critical para el módulo.  
  
*mbean\_check\_cmax*  
  
Indica el límite superior del umbral Critical para el módulo.  
  
*mbean\_check\_cstr*  
  
Indica el texto como umbral de Critical para módulos de tipo string.  
  
*mbean\_check\_cinv*  
  
Invierte la dirección de los umbrales Critical del módulo.  
  
*mbean\_check\_end*  
  
Especifica el final de un bloque de definición de chequeo de mbean específico.

**Macro de detección dinámica de mbean \_jokeritem\_**  
Para poder monitorizar mbeans complejos, puede utilizar la macro \_jokeritem\_ de tal  
manera que se generen tantos módulos como datos provea el mbean:  
  
Ejemplo de configuración.

```
mbean_check_begin
mbean_check_name jms.messagescurrentcount._jokeritem_
mbean_check_module_group jvm.jms
mbean_check_type generic_data
mbean_check_description The current number of messages stored on this JMS server. This
number does not include the pending messages.
mbean com.bea:Name=_jokeritem_,ServerRuntime=_serverruntime_,Type=JMSServerRuntime
attribute MessagesCurrentCount
mbean_check_end
```

**Macro para la selección de server runtime**  
Ahora es posible seleccionar el servidor de runtime objetivo dinámicamente utilizando la macro \_serverruntime\_ .  
  
Ejemplo de configuración:

```
mbean
com.bea:Name=ThreadPoolRuntime,ServerRuntime=_serverruntime_,Type=ThreadPoolRuntime
```

*include*  
Puede especificar tantos archivos de configuración extra como necesite.

**Configuración de entrega de datos**

```
########################################################################
## Request of all list of JMX information
## (Warning!!! this output is very very verbose, so use this check carefully)
########################################################################
#list_all_mbeans
## Report style
as_agent_plugin 0
agent_per_instance 1
## Custom header
module_header jmx_check_
## agent configuration
#agent_name custom_agent_name
#agent_interval 300
#agent_group JMX
## Pandora Server configuration
transfer_mode tentacle
tentacle_ip your.pandora.server.ip
tentacle_port 41121
tentacle_opts
tentacle_client "tentacle_client"
temp /tmp
local_folder /var/spool/pandora/data_in
```

Puede configurar la entrega de los datos en Pandora FMS de varias formas:  
  
*list\_all\_mbeans*  
  
Generará un módulo con una lista en texto con todos los mbeans disponibles.  
  
*as\_agent\_plugin*  
  
Si está activo (1), volcará toda la información de módulos por pantalla en formato  
XML para ser ejecutado desde un agente. Si no lo está (0), entregará la información  
transfiriendo XML completos al servidor configurado como destino.  
  
*agent\_per\_instance*  
  
Si está activo (1), enviará la información de instancias como agentes individuales a  
Pandora FMS.  
  
● Si la monitorización está basada exclusivamente en mbeans, se agruparán por  
servlet.  
  
● Si la monitorización se basa en aplicaciones web (webapp\_info), se crearán tantos  
agentes como aplicaciones web tenga desplegadas.  
  
● Siempre se creará un agente que representa el propio servidor de aplicaciones.  
Si está desactivado (0), se enviará toda la información de módulos en un único  
agente (nombre del servidor de aplicaciones o el especificado en agent\_name ).  
  
*module\_header*  
  
Especifica una cabecera personalizada para los módulos generados por el plugin.  
  
*mode*  
  
Modo de transferencia de ficheros XML, puede ser:  
  
● local: copia los ficheros a local\_folder  
  
● tentacle: transfiere los ficheros a tentacle\_ip por tentacle\_port  
  
*tentacle\_ip*  
  
Dirección IP o FQDN donde Pandora FMS está trabajando.  
  
*tentacle\_port*  
  
Puerto donde el servicio Tentacle asociado a su servidor Pandora FMS está  
escuchando.  
  
*tentacle\_opts*  
  
Opciones extra para el cliente Tentacle.  
  
*tentacle\_client*  
  
Path donde encontrar el binario del cliente Tentacle.  
  
*local\_folder*  
  
Ubicación donde mover los archivos en el modo local.  
  
*temp*  
  
Ubicación temporal donde almacenar los archivos antes de enviarlos.