Pandora FMS: Plugin Enterprise de monitorización de servidor DB2

257 views

Published on

Se trata de un plugin enterprise para monitorizar servidores DB2. Es capaz de comprobar el estado de la conexión a una instancia DB2 e informar al servidor de datos de pandora. Para más información puede visitar la siguiente pagina web: http://pandorafms.com/index.php?sec=Library&sec2=repository&lng=es&action=view_PUI&id_PUI=396

Published in: Software
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
257
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pandora FMS: Plugin Enterprise de monitorización de servidor DB2

  1. 1. Plugin de Monitorización de servidores DB2 Versión 1.0r1 12/12/2012 Page 1
  2. 2. Monitorización genérica de servidores DB2 OpenOffice/PDF Version 1st Edition, 12 Dec 2012 © Artica Soluciones Tecnológicas 2012 Índice de contenido 1 Monitorización de servidores DB2......................................................................................3 1.1. Introducción................................................................................................................3 1.2. Matriz de compatibilidad.............................................................................................4 1.3. Prerequisitos...............................................................................................................4 1.4. Configuración de DB2.................................................................................................4 2 Configuración del plugin.....................................................................................................5 3 Uso del plugin.....................................................................................................................6 3.1. Tokens de configuración.............................................................................................6 3.2. Creación del fichero de configuración:.......................................................................7 3.3. Creación de la politica................................................................................................8 Page 2
  3. 3. 1 MONITORIZACIÓN DE SERVIDORES DB2 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 DB2. De esta forma, este plugin local es capaz de trabajar haciendo uso de las propias herramientas internas de administración de DB2 a través del CLI. Este plugin realiza varias operaciones desde el plugin: • Obtención de datos de disponibilidad de un servidor DB2, dado un tipo de chequeo, y opcionalmente nombre del objeto concreto a monitorizar de todo el chequeo en cuestión. Se le proporciona una expresion regular para verificar que la respuesta sea correcta. Para realizar estas comprobaciones es necesario disponer de la herramienta db2, credenciales de acceso de la base de datos a monitorizar y la ruta a los binarios raíz del servidor DB2 ubicada dentro del PATH del sistema o del agente. • Verificación de disponibilidad de bases de datos en una instancia. Activación, conexión y verificación de estado en cualquier base de datos de la instancia, con o sin credenciales. • Verificación de disponibilidad de aplicaciones de bases de datos de una instancia. Comprobación del estado de conexión de cada aplicación asociada a una instancia de base de datos. • Datos sobre un filesystem o volumen lógico. Indicando el % de disco libre. • Parseo de un fichero log. Utilizando el plugin de parseo de logs básico de Pandora FMS. Se le debe proveer el path el plugin. • Obtención de datos de disponibilidad de un servidor DB2. Mediante la aplicación wsadmin (requiere configuración previa de este último). ◦ DB2 Connection Status ◦ DB2 Application Status ◦ DB2 Total Connected Application Count ◦ DB2 Total Disconnected Application Count ◦ DB2 Active Application Count El plugin tiene un fichero de configuración donde se pueden configurar todos esos chequeos. Se pueden realizar 1..n chequeos de los enumerados arriba. Nótese además que cada módulo incluirá una descripción extendida sobre su significado y su unidad de medición. Page 3
  4. 4. 1.2. Matriz de compatibilidad La matriz de compatibilidad del plugin es la siguiente Sistemas donde se ha probado • Solaris 10 SPARC V9 con DB2 10.1 Sistemas donde deberia funcionar • Mismo sistema o superior • Cualquier DB2 con capacidad de extracción de snapshot de los diferentes monitor switches de una instancia 1.3. Prerequisitos 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 DB2 necesitaremos disponer un usuario con privilegios (sea root, sea el usuario db2instx, etc) con las variables de entorno necesarias para el funcionamiento de la interfaz DB2 y la conexión contra las bases de datos de una instancia. La definición de este tipo de chequeos vendrá especificada a lo largo del documento. 1.4. Configuración de DB2 Para configurar el sistema correctamente de cara a la monitorización de DB2 mediante su interfaz en línea de comandos hacia Pandora, tendremos simplemente que asegurarnos de incluir dentro de las variables de entorno la instancia a la que conectarse, y la ruta a las librerías y binarios de DB2. Por ejemplo: Page 4
  5. 5. DB2INSTANCE=db2inst1 LD_LIBRARY_PATH=/export/home/db2inst1/sqllib/lib64:/export/home/db2inst1/sqllib/lib3 2 PATH=/usr/bin:/export/home/db2inst1/sqllib/bin:/export/home/db2inst1/sqllib/adm:/exp ort/home/db2inst1/sqllib/misc:/export/home/db2inst1/sqllib/db2tss/bin CLASSPATH=/export/home/db2inst1/sqllib/java/db2java.zip:/export/home/db2inst1/sqllib /java/db2jcc.jar:/export/home/db2inst1/sqllib/java/sqlj.zip:/export/home/db2inst1/sq llib/function:/export/home/db2inst1/sqllib/java/db2jcc_license_cu.jar:. 2 CONFIGURACIÓN DEL PLUGIN Una vez tenemos el plugin copiado al disco (mediante filecollections o a mano) y un fichero de configuración con los valores que queremos monitorizar, incluiremos la llamada de este plugin en el fichero pandora_agent.conf como un plugin local de agente. Dicho plugin introducirá generará toda la monitorización con esa simple llamada. pandora_agent.conf es el archivo de configuración del Agente Software de Pandora y donde se deben localizar todos los plugins de agente. Este archivo puede encontrarse por defecto en: /etc/pandora/pandora_agent.conf Y en sistema windows: c:archivos de programapandora_agentpandora_agent.conf Una vez localizado, escribiremos lo siguiente para crear la llamada al plugin de agente, en Unix: module_plugin /etc/pandora/collections/fc_x/Pandora_Plugin_DB2_vx.yrz.pl /etc/pandora/collections/fc_x/$HOSTNAME-db2.conf 2> plugin_error.log Es importante hacer una redirección de errores a /dev/null o a un log debido a que la ejecución de los chequeos DB2 implica una conexión con su interfaz para extraer los datos, proceso en el que algunos datos pueden aparecer en stderr. La no redirección de errores implicaría la no obtención de información en caso de un error en la ejecución del plugin o el fallo en la ejecución debido al conflicto entre dichos datos y el formato XML en el que la información es extraida para ser procesada por el Data Server en Pandora. Page 5
  6. 6. 3 USO DEL PLUGIN Usaremos un ejemplo basado en Filecollections y políticas para su despliegue en la monitorización de un servidor DB2 8.5 corriendo en un sistema Solaris 10 basado en SPARC v9. 3.1. Tokens de configuración Los tokens de configuración son los siguientes: 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 Page 6
  7. 7. db2_stats db2;<check_type>;<instance_name>;<database_name>;<app_name>;<system_username>; <db2_username>;<db2_password> Utilizando el CLI de DB2, se obtienen valores de estado del servidor en cuestión. Actualmente los chequeos soportados son: – check_dbconnect (usuario y contraseña opcionales, app_name no utilizado. Obtiene información acerca de la conexión de DB2 contra una base de datos de una instancia y su estado) – check_application (usuario y contraseña opcionales. Obtiene información acerca del estado de una aplicación, en caso de nombrarla en app_name, de todas las aplicaciones, en caso de asignar * a app_name o información general sobre el número de aplicaciones totales, conectadas o desconectadas, dejando app_name en desuso) Por ejemplo: db2_stats db2;check_application;db2instl;SAMPLE;db2stmm;db2instl;; En este ejemplo que usa el chequeo check_application, se comprueba el estado de la aplicación db2stmm, dentro de la base de datos SAMPLE de la instancia db2instl, utilizando como usuario del sistema con privilegios de acceso aquel con el mismo nombre de la instancia. 3.2. Creación del fichero de configuración: Creamos un fichero llamado por ejemplo: • zbea-db2.conf Su contenido es el siguiente: logparser /var/opt/pandora/etc/pandora/plugins/grep_log log /tmp/db2backup.log;DB2_BackupStatus;successful db2_stats db2;check_dbconnect;db2instl;SAMPLE;;db2instl;; #db2_stats db2;check_application;db2instl;SAMPLE;db2stmm;db2instl;; db2_stats db2;check_application;db2instl;SAMPLE;*;db2instl;; db2_stats db2;check_application;db2instl;SAMPLE;;db2instl;; Nótese que al usar el * en un chequeo de tipo check_application, es necesario comentar o eliminar los chequeos contra objetos únicos, ya que con el * ya nos encargamos de extraer la información del estado de todas y cada una de las aplicaciones que corren en dicha instancia de base de datos simultáneamente. Page 7
  8. 8. Creamos la FC llamada “DB2” con ID fc_1355338194 y copiamos el plugin, los scripts de los que depende y los ficheros de configuración: 3.3. Creación de la politica Crearemos un modulo de tipo local en la política con el siguiente aspecto: Asociaremos el file collection a la política: Page 8
  9. 9. Aplicamos la política y esperamos a que nos aparezcan los módulos. Notese que existen otros modulos en el agente que no tienen que ver con el plugin. Ahora vamos a trabajar con la herramienta de operaciones masivas, y modificar los umbrales para algunas métricas, como las de consumo de CPU a nivel de sistema y de usuario: Podemos hacer lo mismo para agregar alertas a todos los modulos de tipo PROCESS_STATUS. Aunque tuvieran nombres iguales (e internamente busquen cosas diferentes ) no habrá que hacerlo uno por uno. La misma operación se podria hacer adoptando módulos en la politica. Page 9

×