Skip to main content

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 log, puede ser de tres tipos:
    - log_module: Devuelve las lineas del log en un módulo de tipo log.
    - return_occurrences: 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

  • log_regexp_begin y log_regexp_end
    Marca el principio y el final de la definición de una expresión regular para la definición del archivo de registro
    en el que se encuentran.
  • log_regexp_rule
    Defina la expresión regular. NOTA: no utilice marcadores / / Directamente la expresión regular extendida
    (tipo Perl). Ejemplos:
File\sdoes\snot\sexist → Find “File does not exist”
[0-9]*\serrores → Find strings “043 errores”
  • log_regexp_severity
    Envía en el XML una severidad, puede ser ADVERTENCIA, CRÍTICA o NORMAL (en mayúsculas). Es opcional.
  • log_return_message
    Texto que fue enviando para encontrar al menos una ocurrencia (si localizó varias solo enviará un mensaje). Usted
    puede utilizar los interruptores $ 1 .. $ 2 para los campos previamente identificados con una expresión regular para hacer la búsqueda
    campo → sintaxis ()
  • log_regexp_action
    Comando que se ejecuta para encontrar al menos una ocurrencia (si localiza varias se ejecuta una sola vez).
    Al definir un registro, puede definir varios bloques de expresiones regulares. Cada bloque de expresiones regulares
    contendrá sólo una regla regexp. En caso de coincidencias múltiples, contará cada ocurrencia,
    pero sólo enviará un mensaje o ejecutará una acción.


Para entender cada elemento, a continuación se muestra un ejemplo de fichero de configuración.

Linux

# Include, para cargar archivos de configuración externos/adicionales
# include /tmp/my_other_configuration.conf

# Directorio donde se almacenarán los índices temporales (/tmp por defecto)
#index_dir /tmp

# Registrar problemas con el logparser, (/tmp/pandora_logparser.log por defecto)
#logfile /tmp/pandora_logparser.log

#Ejemplo de creacion de modulo de tipo log
log_begin
log_module_name errors file
log_force_readall
log_location_file /var/log/errors.out
log_description get errors
log_type log_module
log_regexp_begin
log_regexp_rule (?i)error
log_regexp_severity CRITICAL
log_return_message Error
log_regexp_end
log_end

# Ejemplo de coincidencia en un unico archivo de registro
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

# Ejemplo de coincidencia en varios archivos de registro dentro del mismo módulo
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

# Ejemplo con distintos patrones dentro de un mismo archivo
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_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

# Ejemplo con varios patrones en varios ficheros de registro con diferentes módulos dinámicos
log_begin
log_rotate_mode inode
log_module_name test_log
log_force_readall
# Si se activa, este token creará un módulo diferente utilizando el module_name
# y el nombre completo del archivo de registro sustituyendo / por " ".
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


Windows

# Include external/additional configuration files
# include C:\PandoraFMS\conf\extra.conf

# Temporary index directory
index_dir C:\PandoraFMS\tmp\logparser

# Log file for logparser errors
logfile C:\PandoraFMS\logs\pandora_logparser.log


# Example: log module creation
log_begin
log_module_name errors_file
log_force_readall
log_location_file C:\Logs\errors.log
log_description get_errors
log_type log_module
log_regexp_begin
log_regexp_rule (?i)error
log_regexp_severity CRITICAL
log_return_message Error_detected
log_regexp_end
log_end


# Example: single log file matching
log_begin
log_module_name weekly_log
log_location_file C:\Logs\weekly.log
log_description weekly_errors
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


# Example: multiple log files in same module
log_begin
log_rotate_mode md5
log_module_name system_log
log_force_readall
log_location_multiple C:\Logs\system.log*
log_description system_errors
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


# Example: multiple patterns in one log file
log_begin
log_module_name apache_access
log_location_file C:\Logs\apache\access.log
log_description apache_access_log
log_type return_occurrences

log_regexp_begin
log_regexp_rule Error\-([0-9]+)
log_regexp_severity WARNING
log_return_message Apache_error_detected
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 Potential_issue_detected
log_regexp_end

log_end


# Example: dynamic modules for multiple files
log_begin
log_rotate_mode inode
log_module_name test_log_dynamic
log_force_readall

log_create_module_for_each_log
log_location_multiple C:\Logs\app*.log
log_description application_logs
log_type return_lines

log_regexp_begin
log_regexp_rule adios
log_regexp_severity WARNING
log_return_message Match_found
log_regexp_end

log_end