Pandora: Documentation es: Plugin WebSphere

From Pandora FMS Wiki
Jump to: navigation, search

1 Plugin Enterprise WebSphere

1.1 Introducción

Este plugin se ha realizado con el propósito de definir una monitorización personalizada a la par que automática de servidores Websphere. De esta forma, este plugin local es capaz de trabajar haciendo uso de las propias herramientas internas de administración de Websphere a través del CLI.

Descarga Aqui: http://pandorafms.com/index.php?sec=Library&sec2=repository&lng=es&action=view_PUI&id_PUI=394

1.2 Módulos obtenidos

1.2.1 Datos de rendimiento

- Websphere WebContainer Active Thread Count

- Websphere WebContainer Thread Percent Maxed

- Websphere JVM Heap Size

- Websphere JVM Free Memory

- Websphere JVM Used Memory

- Websphere JVM UpTime

- Websphere JVM Process CPU Usage

- Websphere Active Global Transaction Count

- Websphere Active Local Transaction Count

- Websphere Average Global Transaction Time

- Websphere Average Local Transaction Time

- Websphere Global Committed Transaction Count

- Websphere Local Committed Transaction Count

- Websphere Global Rolledback Transaction Count

- Websphere Local Rolledback Transaction Count

- Websphere Global Timedout Transaction Count

- Websphere Local Timedout Transaction Count

1.2.2 Datos sobre Filesystem o volumen

- Configurables mediante el fichero de configuración se podrá obtener el % de disco libre.

1.2.3 Monitorización del log WebSphere

- Mediante el parseo de logs básico de PandoraFMS se podrá obtener información del log.(Indicar path del log)

1.3 Compatibilidad

Este plugin esta diseñado y testado para las versiones:

- WebsphereAppServer v8.5

- WebsphereAppServer v9

1.4 Requisitos

Se creará un fichero de configuración por servidor, y en cada fichero de configuración habrá que especificar:

- El nombre de proceso completo que queramos verificar para obtener su estado, memoria y CPU.

- El nombre completo del volumen que queramos monitorizar.

- El log y la cadena que queramos verificar en caso de buscar expresiones en un fichero log.

- Para obtener información sobre Websphere necesitaremos disponer de wsadmin dentro del PATH previamente en el servidor en cuestión. La definición de este tipo de chequeos vendrá especificada a lo largo del documento.

Para configurar el sistema correctamente de cara a la monitorización de Websphere mediante wsadmin en Pandora, tendremos simplemente que asegurarnos de incluir dentro del PATH la ruta donde wsadmin se encuentre ubicado, por defecto en la carpeta bin del servidor Websphere, así como el resto de variables de entorno necesarias para su funcionamiento. Por ejemplo:

WBSDIR=<path-to-WebsphereAppSvr-root> 
PATH=$PATH:$WBSDIR/bin

1.5 Instalación y Configuración

Se trata de un plugin de agente por lo tanto hay que copiarlo en la carpeta de plugins del agente. Para el correcto funcionamiento del plugin es necesaria la distribución de los siguientes ficheros:

- Pandora_Plugin_Websphere_vX.pl

- pmiinfo.jacl

- pmiinfo.sh

- wsadminConfigWrapper.sh

- <hostname>-websphere.conf

Una vez distribuidos la ejecución del mismo sería la siguiente:

module_plugin /etc/pandora/plugins/Pandora_Plugin_Websphere_vx.yrz.pl /etc/pandora/plugins/$HOSTNAME-websphere.conf 2> plugin_error.log


1.5.1 Tokens de Configuración

Los tokens de configuración son los siguientes:

timeout <x>

timeout (en segundos) para las peticiones HTTP (Global)

Ejemplo:

timeout 3

logparser <path_to_log>

Utiliza el logparser indicado en el path. Para usar la opción log (descrita en más adelante en este documento) es necesario configurar correctamente este token.

Ejemplo:

logparser /etc/pandora/plugins/grep_log

volume <web_server>;<X>

Monitorización de disco X, devuelve el espacio libre en %.

Ejemplo:

volume main_server;/opt

process <module_name>;<process_path>

Devuelve informacion sobre el proceso. Se especifica el nombre que queramos que aparezca en el modulo de pandora y el nombre del proceso (literal) en el sistema. Devolverá estado, consumo de memoria total (todas las intancias) y consumo de CPU total (todas las intancias) .

Ejemplo:

process webserver;webservd -d /opt/oracle/webserver7/admin-server


log <path_to_log>;<regexp to match>

Parsea un fichero log (p.e: /tmp/error.log) generando un modulo llamado “log_test” y buscando la expresion regular “error”. Para usar esta opción previamente se debe configurar correctamente el token “logparser” descrito anteriormente.

Ejemplo:

log /tmp/error.log;log_test;error

websphere_stats pminfo;<check_type>;<cell_name>;<server_name>;<hostname>;<SOAP Port>;<username>;<password>

Utilizando el CLI wsadmin de Websphere, se obtienen valores de rendimiento y estado del servidor Websphere. Actualmente los chequeos soportados son:

- check_threadpool (usuario y contraseña opcionales. Obtiene información acerca del pool de hilos seleccionado)

- check_jvm (usuario y contraseña opcionales. Obtiene información acerca del estado del JVM de la instancia)

- check_transactions (usuario y contraseña opcionales. Obtiene información acerca de la carga de transacciones de la instancia)

- check_all (usuario y contraseña opcionales. Obtiene información acerca de todos los chequeos anteriormente comentados)

Por ejemplo:

websphere_stats pmiinfo;check_all;cell03dmgr;server1;zoracle;8882;;

En este ejemplo que usa el chequeo check_all, se comprueban todas las métricas ofrecidas por el plugin para la instancia de Websphere server1, ubicada en la célula cell03dmgr, contactable via SOAP a través del puerto 8882 TCP del servidor zoracle y sin credenciales.

1.5.1.1 Ejemplo fichero de Configuración

Suponiendo que el hostname es zoracle, el fichero de configuración se llamara zoracle-websphere.conf.

Este podría ser un ejemplo de configuración con los parámetros anteriormente comentados:

#websphere_stats pmiinfo;check_transactions;cell03dmgr;server1;zoracle;8882;;
#websphere_stats pmiinfo;check_jvm;cell03dmgr;server1;zoracle;8882;;
#websphere_stats pmiinfo;check_threadpool;cell03dmgr;server1;zoracle;8882;;
#websphere_stats pmiinfo;check_threadpool;cell02default;server1;zoracle;8880;;
#websphere_stats pmiinfo;check_jvm;cell02default;server1;zoracle;8880;;
#websphere_stats pmiinfo;check_transactions;cell02default;server1;zoracle;8880;;
websphere_stats pmiinfo;check_all;cell03dmgr;server1;zoracle;8882;;
websphere_stats pmiinfo;check_all;cell02default;server1;zoracle;8880;;

1.6 FAQ

1.6.1 El plugin se ejecuta correctamente en la shell pero el agente no obtiene información

Ante este problema es muy probable que no este cogiendo correctamente los PATH del sistema en los que se ha añadido el directorio de websphere para que llame directamente al comando wsadmin.

La solución ante este problema pasa por modificar en el fichero wsadminConfigWrapper.sh la llamada a wsadmin, indicandole el PATH completo donde se encuentra el binario.

/IBM/WebSphere/AppServer/bin/wsadmin.sh -conntype SOAP -port $PORT2 -host $HOST2 -f ./$1 $2 $3