Red Hat Training

A Red Hat training course is available for RHEL 8

13.3. Configurar el registro remoto a través de TCP

La aplicación Rsyslog le permite tanto ejecutar un servidor de registro como configurar sistemas individuales para que envíen sus archivos de registro al servidor de registro. Para utilizar el registro remoto a través de TCP, configure tanto el servidor como el cliente. El servidor recoge y analiza los registros enviados por uno o varios sistemas cliente.

Con la aplicación Rsyslog, puede mantener un sistema de registro centralizado en el que los mensajes de registro se reenvían a un servidor a través de la red. Para evitar la pérdida de mensajes cuando el servidor no está disponible, puede configurar una cola de acción para la acción de reenvío. De este modo, los mensajes que no se han podido enviar se almacenan localmente hasta que el servidor vuelva a estar accesible. Tenga en cuenta que estas colas no pueden configurarse para las conexiones que utilizan el protocolo UDP.

El plug-in 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.

13.3.1. Configuración de un servidor para el registro remoto a través de TCP

Siga este procedimiento para configurar un servidor para recoger y analizar los registros enviados por uno o más sistemas cliente.

Por defecto, rsyslog utiliza TCP en el puerto 514.

Requisitos previos

  • rsyslog está instalado en el sistema del servidor
  • Estás conectado como root en el servidor

Procedimiento

  1. Opcional: Para utilizar un puerto diferente para el tráfico de rsyslog, añada el tipo de SELinux syslogd_port_t al puerto. Por ejemplo, habilite el puerto 30514:

    # semanage port -a -t syslogd_port_t -p tcp 30514
  2. Opcional: Para utilizar un puerto diferente para el tráfico de rsyslog, configure firewalld para permitir el tráfico entrante de rsyslog en ese puerto. Por ejemplo, permita el tráfico TCP en el puerto 30514 en la zona zone:

    # firewall-cmd --zone=zone --permanent --add-port=30514/tcp
    success
  3. Cree un nuevo archivo en el directorio /etc/rsyslog.d/ llamado, por ejemplo, remotelog.conf, e inserte el siguiente contenido:

    # Define templates before the rules that use them
    ### Per-Host Templates for Remote Systems ###
    template(name="TmplAuthpriv" type="list") {
        constant(value="/var/log/remote/auth/")
        property(name="hostname")
        constant(value="/")
        property(name="programname" SecurePath="replace")
        constant(value=".log")
        }
    
    template(name="TmplMsg" type="list") {
        constant(value="/var/log/remote/msg/")
        property(name="hostname")
        constant(value="/")
        property(name="programname" SecurePath="replace")
        constant(value=".log")
        }
    
    # Provides TCP syslog reception
    module(load="imtcp")
    # Adding this ruleset to process remote messages
    ruleset(name="remote1"){
         authpriv.*   action(type="omfile" DynaFile="TmplAuthpriv")
          *.info;mail.none;authpriv.none;cron.none
    action(type="omfile" DynaFile="TmplMsg")
    }
    
    input(type="imtcp" port="30514" ruleset="remote1")
  4. Guarde los cambios en el archivo /etc/rsyslog.d/remotelog.conf.
  5. Asegúrese de que el servicio rsyslog se está ejecutando y está habilitado en el servidor de registro:

    # systemctl status rsyslog
  6. Reinicie el servicio rsyslog.

    # systemctl restart rsyslog
  7. Opcional: Si rsyslog no está habilitado, asegúrese de que el servicio rsyslog se inicie automáticamente tras el reinicio:

    # systemctl enable rsyslog

Su servidor de registro está ahora configurado para recibir y almacenar archivos de registro de los otros sistemas de su entorno.

Verificación

  • Pruebe la sintaxis del archivo /etc/rsyslog.conf:

    # rsyslogd -N 1
    rsyslogd: version 8.1911.0-2.el8, config validation run (level 1), master config /etc/rsyslog.conf
    rsyslogd: End of config validation run. Bye.

Recursos adicionales