Las plantillas modifican y dan formato a la salida generada por rsyslog. Permiten especificar cualquier formato que un usuario pueda desear. También se utilizan para la generación dinámica de nombres de archivos. La siguiente es la sintaxis para crear una plantilla:
$template TEMPLATE_NAME,"text %PROPERTY% text", [OPTION]
Los campos se describen de la siguiente manera:
Campo | Propósito |
---|---|
$plantilla | Directiva que define una plantilla |
NOMBRE_PLANTILLA | Nombre de la plantilla |
“texto” | Texto de plantilla real entre comillas |
%PROPIEDAD% | Contenido de mensaje específico rodeado de signos de porcentaje |
OPCIÓN | Especifica opciones que modifican la funcionalidad de la plantilla |
Las plantillas se pueden utilizar para generar nombres de archivos dinámicos. Especifique una propiedad como parte de la ruta del archivo para crear un nuevo archivo para cada propiedad única. Por ejemplo, use el generado por tiempo propiedad para generar un nombre de archivo único para cada mensaje rsyslog:
$template DynamicFile,“/var/log/%timegenerated%-test.log”
Especifique el nombre de la plantilla en una regla para modificar la salida de rsyslog. Los archivos dinámicos están representados por una plantilla y un prefijo de signo de interrogación (?). Ejemplo:
*.* ?DynamicFile
Propiedades
Puede usar propiedades dentro de una plantilla para hacer referencia a contenidos específicos de un mensaje rsyslog. Utilice la siguiente sintaxis para definir una propiedad dentro de una plantilla:
%PROPERTY_NAME[:FROM_CHAR:TO_CHAR:OPTION]%
Los campos se describen de la siguiente manera:
Campo | Propósito |
---|---|
NOMBRE_PROPIEDAD | Nombre de una propiedad |
FROM_CHAR y TO_CHAR | Rango de caracteres sobre los que actúa la propiedad especificada |
OPCIÓN | Opciones de propiedad |
Puede encontrar una lista de propiedades y descripciones disponibles en http://www.rsyslog.com/doc/property_replacer.html.
1. La siguiente propiedad representa el texto completo del mensaje de un mensaje rsyslog:
%msg%
2. El siguiente ejemplo representa los dos primeros caracteres del texto del mensaje:
%msg:1:2%
3. La siguiente propiedad representa el nombre de host en un mensaje rsyslog:
%hostname%
4. La siguiente propiedad representa la instalación del mensaje en forma de texto:
%syslogfacility-text%
Plantilla:Ejemplo
El siguiente ejemplo define una plantilla llamada clase que formatea un mensaje rsyslog para mostrar la marca de tiempo del mensaje, la instalación en forma de texto, la prioridad en forma de texto, el nombre de host y el texto del mensaje, y termina con una nueva línea:
$template class, "Time: %timestamp%, Facility: %syslogfacilitytext%, Priority: %syslogpriority-text%, Hostname: %hostname%, Message: %msg%\n"
Para usar la plantilla para mensajes /var/log/logfile, incluya el nombre de la plantilla de la siguiente manera:
*.* /var/log/logfile;classCentOS / RedHat:guía para principiantes sobre la administración de archivos de registro
Comprender las acciones de rsyslog
Comprender las opciones de filtro de rsyslog