Pages: [1] 2   Go Down
Author Topic: Crear módulos personalizados  (Read 1758 times)
0 Members and 1 Guest are viewing this topic.
Deckard
Jr. Member
**

Karma: 0
Offline Offline

Posts: 12


View Profile
« on: October 16, 2009, 11:25:45 AM »

Hola a todos.

Estoy usando pandora FMS sobre una Ubuntu server 9.04, con un agente corriendo sobre una Ubuntu server 8.04.2. El sistema está en funcionamiento, y el agente envía datos al servidor correctamente mediante tentacle. He agregado plantillas con módulos y funcionan correctamente.

El problema es que necesito crear módulos personalizados, es decir, ejecutar comandos desde consola para chequear logs, y servicios. Los he definido en el "pandora_agent.conf" de la siguiente forma:

# Apache Monitoring

module begin
module_name Apache
module_type generic_data
module_exec ps aux | grep apache | grep -v "grep" | wc -l
module_end

#Apache Error example
module begin
module_name ApacheError
module_type generic_data
module_exec tail -50 /var/log/apache2/access.log | grep "error" | wc -l
module_description Detecta errores en el servidor Apache
module_end


El problema es que estos datos no llegan al servidor, o por lo menos no los veo reflejados  en el interfaz web. Lo que quiero es crear una alerta sobre ellos.

He reiniciado el agente después de agregar los módulos al archivo y también he creado el archivo "pandora_user.conf", con lo siguiente:

VARIABLE=`tail -50 /var/log/apache2/access.log | grep "error" | wc -l`

echo "<module>"
echo "<name>ApacheError</name>"
echo "<data>VARIABLE</data>"
echo "<type>generic_data</type>"
echo "</module>"

No se me ocurre qué más hacer, a ver si alguien sabe qué ocurre.

Gracias.
Logged

Deckard
Jr. Member
**

Karma: 0
Offline Offline

Posts: 12


View Profile
« Reply #1 on: October 16, 2009, 11:30:16 AM »

Se me olvidó decir que la versión de pandora es la 2.1
Logged

chejov suzdal voshkov
Sr. Member
****

Karma: 8
Offline Offline

Posts: 175



View Profile WWW
« Reply #2 on: October 16, 2009, 12:53:53 PM »

primero de todo:

es module_begin (te falta el guión bajo)

yo he probado ese mismo modulo, tal cual lo has puesto tu y me funciona.

en todo caso, activa el debug y mira que te dice.
Logged


Deckard
Jr. Member
**

Karma: 0
Offline Offline

Posts: 12


View Profile
« Reply #3 on: October 16, 2009, 01:19:25 PM »

Gracias por responder.

Ya he solucionado el error en la sintaxis de module_begin, he activado el debug y he reiniciado el agente.

He consultado el xml generado en el directorio temporal, en la ruta que he visto en el log y parece que el módulo envía datos correctos. Así que no sé cúal puede ser el error.
Logged

chejov suzdal voshkov
Sr. Member
****

Karma: 8
Offline Offline

Posts: 175



View Profile WWW
« Reply #4 on: October 16, 2009, 02:27:22 PM »

si el el xml generado ahora te da la info el problema era de la sintaxis, quita el debug y en teoria ha de salirte ya.
Logged


Sancho Lerena
Administrator
Expert member
*****

Karma: 24
Offline Offline

Posts: 1151


I can see everything... with my glasses :-)


View Profile WWW
« Reply #5 on: October 16, 2009, 03:30:58 PM »

Te interesaría tener como tipo "generic_proc" en vez de generic_data, asi cuando sean 0 el monitor se te pondrá en rojo, independientemente de la alerta, y tb te generará un evento.
Logged

-- See you in the other screen.

Deckard
Jr. Member
**

Karma: 0
Offline Offline

Posts: 12


View Profile
« Reply #6 on: October 16, 2009, 03:49:57 PM »

He desactivado el debug y he puesto como tipo para el módulo "generic_proc", pero sigue sin funcionar.

A lo mejor me estoy haciendo un lío con los menús del interfaz web y no tiene tanto que ver con el archivo de configuración. Os explico:

Cuando entro en el interfaz web de Pandora, accedo al agente-->Modo gestión-->Módulos-->Módulos asignados, me aparece el módulo. Sin embargo, cuando voy al menú "Ver", el módulo no aparece ni en "SLA", ni en el menú "Datos" ni en el menú "Principal".

Como veo que reconoce el módulo al estar asignado empiezo a dudar si el tema es que tengo que asociarlo de otra manera con el agente.

Logged

chejov suzdal voshkov
Sr. Member
****

Karma: 8
Offline Offline

Posts: 175



View Profile WWW
« Reply #7 on: October 16, 2009, 04:05:48 PM »

en S.L.A. y en el Ver sólo aparecen los tipo proc.

es muy raro que apareciendo en modo gestión\ módulos, no te aparezcan en el de Datos.

Es posible que el sistema haya recibido en algún paquete del agente ese módulo, pero que por alguna razón no haya podido insertar o reconocer los datos.


si conservas el xml del debug, pegalo aqui.
Logged


Deckard
Jr. Member
**

Karma: 0
Offline Offline

Posts: 12


View Profile
« Reply #8 on: October 16, 2009, 04:10:23 PM »

Este es el xml:


<?xml version="1.0" encoding="UTF-8"?>
<agent_data os_name='Linux' os_version='UBUNTU 8.04' interval='300' version='2.1' timestamp='2009/10/16 14:22:02' agent_name='asterisk-dev'>
<module>
<name><![CDATA[Apache]]></name>
<type><![CDATA[generic_data]]></type>
<data><![CDATA[11]]></data>
</module>
<module>
<name><![CDATA[ApacheError]]></name>
<type><![CDATA[generic_data]]></type>
<data><![CDATA[0]]></data>
<description><![CDATA[Detecta errores en el servidor Apache]]></description>
</module>
<module>
<name><![CDATA[Syslog]]></name>
<type><![CDATA[async_string]]></type>
<datalist>
</datalist>
</module>
</agent_data>


Hay más módulos escritos encima pero estos son los que me interesan.
Logged

Sancho Lerena
Administrator
Expert member
*****

Karma: 24
Offline Offline

Posts: 1151


I can see everything... with my glasses :-)


View Profile WWW
« Reply #9 on: October 16, 2009, 04:18:01 PM »

A ver, si no me equivoco tienes en el .conf de tu agente:

#Apache Error example
module_begin
module_name ApacheError
module_type generic_data
module_exec tail -50 /var/log/apache2/access.log | grep "error" | wc -l
module_description Detecta errores en el servidor Apache
module_end

En la consola, deberias tener un modulo llamado "ApacheError", si no lo tienes es que el XML no ha llegado con ese modulo. SI lo tienes, pero no tienes datos es que ha lelgado la estructura sin datos, por eso te ha creado el modulo pero no ves nada.

1. ¿La fecha/hora del agente y del servidor es la misma?. Si esta mandando datos en el futuro o en el pasado es posible que no la veas por eso.

2. Prueba a hacer un modulo "dummy" como el sisguiente:

module_begin
module_name PruebaTonta
module_type generic_data
module_exec echo 2009
module_description Deberia devolver siempre 2009
module_end

Al modificar el .conf, y reiniciar el agente, deberia llevarte un modulo llamado PruebaTonta con valor 2009 siempre.


Logged

-- See you in the other screen.

Deckard
Jr. Member
**

Karma: 0
Offline Offline

Posts: 12


View Profile
« Reply #10 on: October 16, 2009, 04:36:37 PM »

La última configuración que has puesto es correcta, eso es exactamente lo que tengo.

El módulo "ApacheError" aparece en la consola, pero no hay datos sobre él, por lo que deduzco que cómo tú dices, ha llegado la estructura sin datos.

Respecto a la hora de los servidores, está desfasada en casi 3 minutos. El agente está un poco adelantado con respecto al servidor.

También he añadido el módulo "PruebaTonta", tal y como lo has puesto y no aparece por ningún sitio, ni siquiera  en los módulos asignados al agente.
Logged

Deckard
Jr. Member
**

Karma: 0
Offline Offline

Posts: 12


View Profile
« Reply #11 on: October 19, 2009, 04:09:37 PM »

Hola de nuevo. Perdón porque me había hecho un lío. El módulo de "ApacheError" que me aparece en la consola lo creé yo mismo haciendo pruebas y no me acordaba.

La situación es la siguiente: en el archivo "pandora_agent.conf" del agente hay un montón de módulos definidos (aparte de los míos), y en la web no aparecen reflejados ninguno de ellos, solamente los que yo agrego a mano a través del interfaz.

Por esto deduzco que la información del agente no llega correctamente al servidor, al menos la que defino en los archivos de configuración. Decir que cuando activo el debug, el xml se genera perfectamente y el resto de módulos predefinidos en el interfaz (como monitor http, smtp, etc.) recaban datos correctos y periódicos del agente. Por cierto, he ajustado la fecha y la hora de ambos servidores contra un mismo servidor ntp, así que no creo el desfase de hora tenga mucho que ver.

¿Alguna idea?
Logged

Sancho Lerena
Administrator
Expert member
*****

Karma: 24
Offline Offline

Posts: 1151


I can see everything... with my glasses :-)


View Profile WWW
« Reply #12 on: October 20, 2009, 08:17:35 AM »

Tienes tentacle server corriendo ene l servidor, esta correctamente configurado el tema de firewall, rutas, y demas ?

El agente puede llegar por el puerto 41121 a la IP del server ? (Comprueba resolucion tb).

A veces al instalar el agente es necesario reiniciar el servidor windows porque no coge bien la configuracion de la ruta de utilidades del agente, solo aveces (la magia de windows).
Logged

-- See you in the other screen.

Deckard
Jr. Member
**

Karma: 0
Offline Offline

Posts: 12


View Profile
« Reply #13 on: October 20, 2009, 09:52:46 AM »

Proceso servidor: /usr/bin/perl /usr/bin/tentacle_server -a 127.0.0.1 -p 41121 -s /var/spool/pandora/data_in -d

Así que supongo que está corriendo

Netstat -a | grep 41121
tcp        0      0 localhost:41121         *:*                     LISTEN

Así que supongo que el servidor escucha en ese puerto. Además, los datos de los módulos que creo desde el interfaz llegan correctamente, por lo que creo que no es tema del tentacle. Con respecto a lo de la resolución no sé a qué te refieres. Los servidores están en red local así que no están afectados por el firewall general, no tienen ningún otro firewall local, y las rutas creo que están todas bien.

Respecto a lo de reiniciar el servidor, ya lo he hecho y no he conseguido nada. Por cierto, los servidores llevan linux, no windows (eso debería ahorrar algunos problemas :)
Logged

Sancho Lerena
Administrator
Expert member
*****

Karma: 24
Offline Offline

Posts: 1151


I can see everything... with my glasses :-)


View Profile WWW
« Reply #14 on: October 20, 2009, 11:44:06 PM »

Me refería al servidor windows donde esta el agente, a veces al instalar el agente, se añade un path  al sistema y windows no lo coge hasta que no se reinicia, a veces si, a veces no, no sabemos de que depende, es la magia de windows :-)
Logged

-- See you in the other screen.

Pages: [1] 2   Go Up
Print
 
Jump to:  


SourceForge.net Logo  This site is monitored by Pandora FMS   ArticaST