Configuración en Pandora
CONFIGURACIÓN
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.