Parámetros de configuración
El plugin se configura mediante un fichero de configuración externo. Este archivo de configuración tiene una serie de parámetros «generales» , una serie de parámetros específicos para cada registro, y un conjunto de parámetros específicos para cada bloque de expresión regular.
Parametros generales
- include
Hace una llamada a otro fichero de configuración. Se puede anidar sin límite, y su orden de carga es secuencial.
Es importante llamar a ficheros con rutas absolutas. - index_dir
Utiliza este directorio para almacenar los archivos de índice. El plugin debe poder escribir y leer en el directorio - logfile
Archivo de registro del plugin.
Parametros específicos de log
- log_begin y log_end
Establecer marcas de inicio y fin de la definición de un archivo logparser.log - log_module_name
Nombre del módulo generado por el plugin. - log_type
Tipo de módulo de registro, puede ser de tres tipos:
- return_ocurrencias: Devuelve un dato numérico con el número de ocurrencias.
- return_lines: Devuelve las líneas del log que sí coinciden.
- return_message: Devuelve un mensaje especificado por el fichero de configuración - log_rotate_mode
Puede ser de tipo inode o md5. Este es el tipo de detección se realiza para saber si un registro se rota o
no. - log_force_readall
Cuando este token está presente, el analizador de logs procesa todo el log desde el principio si no lo ha hecho ya
(Es la primera vez que se abre o detecta una rotación). NOTA: Puede generar grandes volúmenes de datos - log_location_exec
Ejecuta el comando especificado para obtener el nombre (ruta absoluta) del archivo a procesar. - log_location_filename
Especifica el nombre del archivo de registro (ruta absoluta) a procesar. - log_location_multiple
Permite especificar un archivo o varios archivos utilizando un comodín, por ejemplo:
/tmp/apache/file_log*
o
/tmp/system*/mail*
Usado en combinación con log_create_module_for_each_log creará un módulo diferente por cada fichero de registro
o pondrá toda la información de diferentes ficheros en el mismo módulo. - log_create_module_for_each_log
Si se utiliza con «log_location_multiple» forzará al plugin a generar un módulo diferente para cada archivo de registro de logs.
Definicion de expresiones regulares
Para entender cada elemento, a continuación se muestra un ejemplo de fichero de configuración.
# 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
# Sample of a single log match
log_begin
log_module_name Weekly
log_location_file /var/log/weekly.out
log_description Errors cannot find
log_type return_lines
log_regexp_begin
log_regexp_rule output
log_regexp_severity WARNING
log_return_message Cannot find process to run
log_regexp_end
log_end
# Sample of wildcard matching of several logfiles within the same module
log_begin
log_rotate_mode md5
log_module_name system_log
log_force_readall
log_location_multiple /var/log/system.log*
log_description Errors cannot find
log_type return_lines
log_regexp_begin
log_regexp_rule Cannot
log_regexp_severity WARNING
log_return_message Cannot find process to run
log_regexp_end
log_end
# Sample of several wildcard matching on the same file
log_begin
log_module_name hits_apache
log_location_file /var/log/apache2
log_description Access log from Apache, we will get the integria access
#log_create_module_for_each_log
log_type return_ocurrences
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 File\sdoes\snot\sexist
log_regexp_severity WARNING
log_regexp_end
log_regexp_begin
log_regexp_rule pandora_backend\.html
log_regexp_severity WARNING
log_return_message Something possible harmful happen
log_regexp_end
log_end
# Sample of wildcard matching of several logfiles with diferent dynamic modules
log_begin
log_rotate_mode inode
log_module_name test_log
log_force_readall
# If enabled, this token will create a different module using the module_name
# provided plus the full logfilename replacing / with " ".
log_create_module_for_each_log
log_location_multiple /tmp/log*/hola*
log_description Errors cannot find
log_type return_lines
log_regexp_begin
log_regexp_rule adios
log_regexp_severity WARNING
log_return_message Cannot find process to run
log_regexp_end
log_end