Pandora: Documentation es: Monitorizacion logs

From Pandora FMS Wiki
Jump to: navigation, search

Volver a Indice de Documentacion Pandora FMS

1 Recolección de logs

1.1 Introducción

Pandora FMS es un sistema de monitorización que -básicamente- recoge eventos, e información de rendimiento, en datos numéricos. A veces se usa para monitorizar el resultado de ciertos comandos en forma de texto, lo mismo se utiliza para "buscar" determinadas expresiones o trozos de texto dentro de un log y devolver únicamente esa información, no todo el log.

También se puede usar pandora para contar el número de ocurrencias de una expresion en un log, o simplemente el número de lineas totales de un fichero. En cualquier caso eso seria monitorización numérica no monitorización o recolección de logs.

El gran problema de la recolección masiva de logs es el gran tamaño que ocupan. Estamos hablando de entornos que van desde los 100MB diarios hasta los cientos de MB diarios. Esto significa, por supuesto que esta información no puede ir almacenada en la Base de datos.

Hasta ahora, Pandora FMS no tenia una solución a este problema, pero con la versión 5.0, Pandora FMS Enterprise ofrece una solución para poder gestionar cientos de megas de datos diarios. Esta solución permite reutilizar los mismos agentes de la monitorización para la recolección específica de datos de logs, utilizando una sintaxis muy similar a la actual para la monitorización de logs.



Log-esquema-1.png



Los logs recogidos de los agentes (eventlog o ficheros de texto), son almacenados de forma "literal" (RAW) en el servidor de Pandora, en una carpeta indicada en la configuración.



Log-esquema-2.png



El servidor de pandora (Data server) recibe el XML del agente, que contiene información tanto de monitorización como de logs. Una la almacena en el disco (los logs) y la otra en la BBDD, como ha hecho siempre Pandora.



Log-esquema-3.png



Los datos de logs se almacenan en disco utilizando una jerarquía de directorios por fecha, de forma que permite al sistema localizar la información de forma rápida y eficiente.



Log-esquema-4.png



1.2 Configuración

Para empezar a usar la recolección de logs, debe primero activar esta en la consola 'Activate Log Collector', en la sección de setup Enterprise:


Activate logcollection.png


Luego, podemos configurar el comportamiento de la recolección de logs en la pestaña 'Log Collector', donde podemos configurar el directorio de almacenamiento (debe ser suficientemente grande, piense que los logs pueden ocupar terabytes de información en pocos días, en función de su sistema).


Log collection setup.png


Podemos configurar también el número de días máximo que queremos guardar esos logs, a partir de esa fecha se borrarán automáticamente en el proceso de limpieza de Pandora FMS.

Deberá reiniciar el servidor de Pandora FMS una vez activada la recolección de logs. El servidor que procesa los logs es el Data server, por lo que si quiere enviar una gran cantidad de datos y que esto no afecte a su rendimiento, puede configurar el disco mediante una sistema de archivos remoto de alto rendimiento (discos SAN) o via NFS. Monte un servidor de tipo "dataserver" en un servidor específico, con hardware potente para el procesamiento de logs, y envíe los agentes con más cantidad de datos a ese servidor en vez de a su servidor principal.

1.3 Visualización y búsqueda

En una herramienta de colección de logs, nos interesan principalmente dos cosas: buscar información, filtrando por fecha y/o fuentes de datos, y ver esa información dibujada en ocurrencias por unidad de tiempo. En este ejemplo, estamos buscando en la última semana, cualquier fuente de datos que contenga la expresion "named":


Vista de datos

Log view 1.png



Vista de ocurrencias a lo largo del tiempo

Log view 2.png


Existe una seria de filtros que podemos usar para mostrar la información: El más obvio es el rango de fechas (principio y fin), y otros como el modulo u origen de la informacion (definido a la hora de configurar el colector de logs en el agente) y el agente origen del log:


Log view filter.png


El campo más importante -y útil- para nosotros, será la cadena de búsqueda (search en la captura). Esto puede ser una simple cadena de texto, como en el caso anterior o una expresion regular, como por ejemplo una dirección ip:

192.168.[0-9]+.[0-9]+

Como vemos en la captura de pantalla siguiente, esto busca en el intervalo de fecha/hora definido (la ultima hora), para cualquier fuente de datos, cualquier dato que "parezca" una IP, dentro del rango 192.168.0.0/16


Event log 3.png


1.4 Configuración de los agentes

La recolección de logs se hace mediante los agentes, tanto en el agente Windows como en los agentes Unix (Linux, MacOsX, Solaris, HPUX, AIX, BSD, etc). En el caso de los agentes Windows, tambien se pueden obtener información del visor de eventos de windows, utilizando los mismos filtros que en el modulo de monitorización del visor de eventos.

Veamos dos ejemplos para capturar información de logs, en windows y en unix:

1.4.1 En Windows

module_begin
module_name Eventlog_System
module_type log
module_logevent
module_source System
module_end 
module_begin
module_name PandoraAgent_log
module_type log
module_regexp C:\archivos de programa\pandora_agent\pandora_agent.log
module_description This module will return all lines from the specified logfile
module_pattern .*
module_end

En ambos casos, la unica diferencia de un modulo de monitorización a la definición de una fuente de log, es:

module_type log 

Esta nueva sintaxis sólo la entiende el agente de la version 5.0, por lo que debe actualizar los agentes si quiere utilizar esta nueva funcionalidad enterprise.

1.4.2 Sistemas Unix

En Unix se utiliza un nuevo plugin, que viene con el agente de la versión 5.0. Su sintaxis es bien sencilla:

module_plugin grep_log_module /var/log/messages Syslog \.\*

Similar al plugin de parseo de logs (grep_log) el plugin grep_log_module envia la información procesada del log al colector de logs con el nombre de "Syslog" como origen del log. Utiliza la expresion regular \.\* (en este caso "todo") como patron a la hora de elegir que lineas enviamos y cuales no.


Volver a Indice de Documentacion Pandora FMS