Posts del SysAdmin

El archivo rsyslog.conf: la configuración

En el post anterior presentamos a rsyslog y el papel que juega en el registro de eventos del sistema. La configuración del servicio se realiza en el archivo rsyslog.conf, el cual reside en /etc. Aprender los puntos principales de esa tarea es el tema que nos ocupará en esta ocasión.

El archivo rsyslog.conf

Veamos en la Fig. 1 las siguientes líneas de /etc/rsyslog.conf donde las líneas que comienzan con # son ignoradas por el servicio.

  • kern.* indica todos los mensajes del kernel, sean de la severidad que sean.
  • *.info;mail.none;authpriv.none;cron.none se utiliza para registrar todos los mensajes informativos (info) sin importar cuál sea el recurso que los emite (de ahí el uso del comodín al principio) con la excepción de aquellos cuyo origen sea mail, authpriv, y cron.
  • Todos los mensajes de authpriv (autenticación privada) deben guardarse en /var/log/secure, mientras que para mail y cron el destino debe ser /var/log/maillog y /var/log/cron, respectivamente. Tal como en el primer ejemplo, el uso de * luego del punto nos dice que esta regla aplica para cualquier tipo de evento sin importar su severidad.
La sección de reglas en el archivo rsyslog.conf
Figura 1 – La sección de reglas en el archivo rsyslog.conf

El signo delante de /var/log/maillog (y otros) se utilizaba en versiones anteriores para omitir la sincronización con el archivo inmediatamente luego de cada escritura. Hoy es una opción prácticamente en desuso.

Más ejemplos

En la Fig. 2 vemos que todos los mensajes provenientes de local7 y aquellos con severidad igual o mayor a notice originados por local1 se guardarán en /var/log/boot.log y /var/log/mi.log, respectivamente. Este último, en particular, fue agregado a mano para propósitos ilustrativos.

Directivas personalizadas en el archivo rsyslog.conf
Figura 2 – Directivas personalizadas en el archivo rsyslog.conf

Con el comando logger podemos enviar mensajes personalizados a rsyslog manualmente o mediante scripts. Por ejemplo,

hará que se guarden en /var/log/mi.log (destino para local1.notice y de severidad mayor) los mensajes Este es un aviso y Esta es una advertencia, como vemos a continuación en la Fig. 3:

Envío de mensajes a destinos definidos en el archivo rsyslog.conf
Figura 3 – Envío de mensajes a destinos definidos en el archivo rsyslog.conf

En la imagen de arriba se puede apreciar la fecha y hora en la que sucedieron los eventos, el equipo que los originó (llamado server en este caso) y el usuario que los emitió (gacanepa).

Espero que este post les haya resultado útil. ¡Nos leemos en el próximo!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *