Red Hat Training

A Red Hat training course is available for RHEL 8

13.3.2. Configuración del registro remoto en un servidor a través de TCP

Siga este procedimiento para configurar un sistema de reenvío de mensajes de registro a un servidor a través del protocolo TCP. El complemento omfwd permite el reenvío a través de UDP o TCP. El protocolo por defecto es UDP. Como el complemento está incorporado, no es necesario cargarlo.

Requisitos previos

  • El paquete rsyslog se instala en los sistemas cliente que deben informar al servidor.
  • Ha configurado el servidor para el registro remoto.
  • El puerto especificado está permitido en SELinux y abierto en el firewall.

Procedimiento

  1. Cree un nuevo archivo en el directorio /etc/rsyslog.d/ llamado, por ejemplo, remotelog.conf, e inserte el siguiente contenido:

    *.* action(type="omfwd"
          queue.type="linkedlist"
          queue.filename="example_fwd"
          action.resumeRetryCount="-1"
          queue.saveOnShutdown="on"
          target="example.com" port="30514" protocol="tcp"
         )

    Dónde:

    • queue.type="linkedlist" habilita una cola LinkedList en memoria,
    • queue.filename define un almacenamiento en disco. Los archivos de copia de seguridad se crean con el prefijo example_fwd en el directorio de trabajo especificado por la directiva global precedente workDirectory,
    • la configuración de action.resumeRetryCount -1 evita que rsyslog deje de enviar mensajes al reintentar conectarse si el servidor no responde,
    • habilitado queue.saveOnShutdown="on" guarda los datos en memoria si rsyslog se apaga,
    • la última línea reenvía todos los mensajes recibidos al servidor de registro, la especificación del puerto es opcional.

    Con esta configuración, rsyslog envía mensajes al servidor pero mantiene los mensajes en la memoria si el servidor remoto no está localizable. Sólo se crea un archivo en el disco si rsyslog se queda sin el espacio de cola de memoria configurado o necesita cerrarse, lo que beneficia el rendimiento del sistema.

  2. Reinicie el servicio rsyslog.

    # systemctl restart rsyslog

Verificación

Para verificar que el sistema cliente envía mensajes al servidor, siga estos pasos:

  1. En el sistema cliente, envíe un mensaje de prueba:

    # logger test
  2. En el sistema del servidor, vea el registro /var/log/messages, por ejemplo:

    # cat /var/log/remote/msg/hostname/root.log
    Feb 25 03:53:17 hostname root[6064]: test

    Donde hostname es el nombre del host del sistema cliente. Tenga en cuenta que el registro contiene el nombre del usuario que introdujo el comando logger, en este caso root.

Recursos adicionales