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
Opcional: Para utilizar un puerto diferente para el tráfico de
rsyslog
, añada el tipo de SELinuxsyslogd_port_t
al puerto. Por ejemplo, habilite el puerto30514
:# semanage port -a -t syslogd_port_t -p tcp 30514
Opcional: Para utilizar un puerto diferente para el tráfico de
rsyslog
, configurefirewalld
para permitir el tráfico entrante dersyslog
en ese puerto. Por ejemplo, permita el tráfico TCP en el puerto30514
en la zonazone
:# firewall-cmd --zone=zone --permanent --add-port=30514/tcp success
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")
-
Guarde los cambios en el archivo
/etc/rsyslog.d/remotelog.conf
. Asegúrese de que el servicio
rsyslog
se está ejecutando y está habilitado en el servidor de registro:# systemctl status rsyslog
Reinicie el servicio
rsyslog
.# systemctl restart rsyslog
Opcional: Si
rsyslog
no está habilitado, asegúrese de que el serviciorsyslog
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
-
Las páginas de manual
rsyslogd(8)
,rsyslog.conf(5)
,semanage(8)
, yfirewall-cmd(1)
-
Documentación instalada con el paquete
rsyslog-doc
en file:///usr/share/doc/rsyslog/html/index.html