Este plugin avanzado permite monitorizar facilmente los logs, con más opciones que el analizador por defecto incluido en los agents. Para más información visite la siguiente pagina web: http://pandorafms.com/index.php?sec=Library&sec2=repository&lng=en&action=view_PUI&id_PUI=297
5. 3 REQUISITOS
El plugin tiene como requisitos para poder funcionar:
• Elaborar la configuracion en un fichero de configuración, al que el plugin tenga acceso (se le
pasa como parámetro).
• Poder escribir ficheros temporales (por cada log analizado) para almacenar la última
posición de lectura, inodo o firma md5 (para identificación de rotado). Por defecto se usa el
directorio /tmp pero este es un parámetro que se puede especificar en el fichero de
configuración.
• Poder leer los ficheros a procesar con el usuario con el que se ejecuta Pandora, o llamar a un
script que a su vez llame el plugin con todos sus parámertos, para que este pueda leer
completamente el log. En caso de que se use un script externo, este tendrá que tener
permisos para que el plugin pueda generar sus ficheros índice (ver punto anterior)
Page 5
7. 5 MÓDULOS DE AGENTES SOFTWARE GENERADOS
Se creara un modulo por cada uno de los parametros que lo indiquen en el fichero de configuracion
necesario para su ejecucion.
El plugin viene parametrizado por un fichero de configuracion externo. Este fichero de
configuracion tiene una serie de parámetros “generales”, una serie de parametros especificos para
cada log, y una serie de parametros específicos para cada bloque de expresion regular.
Page 7
9. 7 MONITORIZACIÓN
El plugin viene parametrizado por un fichero de configuracion externo. Este fichero de
configuracion tiene una serie de parámetros “generales”, una serie de parametros especificos para
cada log, y una serie de parametros específicos para cada bloque de expresion regular.
A fin de poder entender bien cada elemento, se presenta a continuación un fichero de configuracion
de ejemplo:
Fichero de configuración de ejemplo
# Include, to load extenal/aditional configuration files
# include /tmp/my_other_configuration.conf
# Directory where temporal indexes will be stored (/tmp by default)
#index_dir /tmp
# Log problems with the logparser, (/tmp/pandora_logparser.log by default)
#logfile /tmp/pandora_logparser.log
log_begin
log_module_name errores_apache
# This force to process all the log at the beginning
log_force_readall
#log_location_exec /tmp/miscript.sh | cut -f 2
log_location_file /var/log/apache2/error_log
log_description This is a nice sample of how powerful is the new logparser
# log rotation detection mode (md5 or inode change), inode by default
# log_rotate_mode md5
# log_rotate_mode inode
#log_type return_lines
log_type return_ocurrences
#log_type return_message
log_regexp_begin
log_regexp_rule Critical - ($1)-($2)
log_regexp_rule Critical - ($1)
#log_regexp_severity NORMAL
#log_regexp_severity WARNING
log_regexp_severity CRITICAL
log_return_message Encontrado error CRITICO en bloque $1 seccion $2
log_action <mycommand>
log_regexp_end
log_regexp_begin
log_regexp_rule Error -($1)-($2) [0-9a-zA-Z]*
log_regexp_severity WARNING
log_return_message Otro bonito texto de error
log_regexp_end
log_regexp_begin
log_regexp_rule Filesdoessnotsexist
log_regexp_severity WARNING
log_regexp_end
Page 9
10. log_end
log_begin
log_force_readall
log_module_name hits_apache
log_location_file /var/log/apache2/access_log
log_description Access log from Apache, we will get the integria access
log_type return_lines
log_regexp_begin
log_regexp_rule pandora.css
log_regexp_severity WARNING
log_return_message Dispongo de barcos
log_regexp_end
log_end
7.1. Parametros generales
7.1.1. include
Hace una llamada a otro fichero de configuración. Se pueden anidar sin límite, y su orden de carga
es secuencia. Es importante llamar a los ficheros con rutas absolutas.
7.1.2. index_dir
Utiliza ese directorio para guardar los ficheros índices. El plugin debe poder escribir y leer en dicho
directorio.
7.1.3. logfile
Fichero log del plugin.
7.2. Parametros específicos de log
7.2.1. log_begin y log_end
Establecen las marcas de principio y fin de definición de un fichero logparser.log
7.2.2. log_module_name
Nombre del modulo que generará el plugin.
7.2.3. log_description
Descripción del módulo que hace referencia al fichero log .
Page 10
11. 7.2.4. log_type
Tipo de modulo de log, puede ser de tres tipos:
• return_ocurrences: Devuelve un dato numérico con el nº de ocurrencias.
• return_lines: Devuelve las líneas del log que hacen match.
• return_message: Devuelve un mensaje especificado por el fichero de configuración.
7.2.5. log_rotate_mode
Puede ser de tipo inode o de tipo md5. Esto es el tipo detección que se hace para saber si un log ha
rotado o no.
7.2.6. log_force_readall
Cuando este token está presente, el parser de log procesa todo el log desde el principio si todavia no
lo ha hecho (es la primera vez que lo abre o detecta una rotación). NOTA: Puede generar grandes
volúmenes de datos.
Cuando este token no está presente, el parser de log no procesa todo el log desde el principio al
ejecutarlo la primera vez, si no que guarda la posicion final la primera vez y lo empieza a ejecutar a
partir de ahi.
7.2.7. log_location_exec
Ejecuta el comando espeficicado para obtener el nombre (absoluto!) del fichero a procesar.
7.2.8. log_location_filename
Especifica el nombre (absoluto) del fichero log a procesar.
7.3. Parametros específicos de la regexp
7.3.1. log_regexp_begin y log_regexp_end
Establecen las marcas de principio y fin de definición de una expresion regular para la definicion del
fichero log dentro de la cual están.
Page 11
12. 7.3.2. log_regexp_rule
Definen la expresion regular. NOTA: no se usan los marcadores / / sino directamente la expresion
regular extendida (Tipo Perl). Algunos ejemplos
Filesdoessnotsexist → Busca “File does not exist”
[0-9]*serrores → Busca cadenas del tipo “043 errores”
7.3.3. log_regexp_severity
Enviará en el XML una severidad, puede ser WARNING; CRITICAL o NORMAL (en mayúsculas). Es
OPCIONAL.
7.3.4. log_regexp_message
Texto que enviará al encontrar al menos una ocurrencia (si encuentra varias solo enviará un
mensaje). Se pueden usar los modificadores $1 ..$2 para campos previamente identificados con una
expresion regular que haga búsqueda de campo sintaxis () →
7.3.5. log_regexp_action
Comando que ejecutará al encontrar al menos una ocurrencia (si encuentra varias solo ejecutará
una vez).
Al definir un log se pueden definir varios bloques de expresiones regulares. Cada bloque de expresion
regular puede tener ademas varias expresiones regulares. En el caso de coincidencia múltiple, se hará
un conteo de cada incidencia, pero sólo se enviará un mensaje o ejecutará una acción. En caso de estar
definidas varias, se ejecutará la que haga el último “match”.
Page 12