Cómo instalar y configurar el servidor y el cliente Rsyslog en Ubuntu 24.04
Este tutorial existe para estas versiones del sistema operativo.
- Ubuntu 24.04 (Noble Numbat)
- Ubuntu 18.04 (Castor biónico)
En esta página
- Requisitos previos
- Instalar Rsyslog
- Configurar el servidor Rsyslog
- Configurar el cliente Rsyslog
- Ver registro de cliente
- Conclusión
Rsyslog en Ubuntu es un demonio de registro del sistema potente y flexible que se utiliza para recopilar, filtrar, almacenar y reenviar mensajes de registro generados por el sistema operativo y las aplicaciones. Es una versión mejorada del servicio syslog tradicional, que proporciona funciones adicionales como registro de alto rendimiento, capacidades de filtrado avanzadas y compatibilidad con múltiples protocolos de registro, incluidos TCP, UDP y RELP (Protocolo de registro de eventos confiable). Rsyslog puede manejar mensajes de registro de varias fuentes y dirigirlos a diferentes destinos como archivos, bases de datos o servidores remotos. Se utiliza ampliamente en sistemas de registro centralizados con fines de seguimiento, resolución de problemas y auditoría. Al permitir una configuración detallada, Rsyslog permite a los administradores de Ubuntu administrar de manera eficiente los registros del sistema y garantizar que la información importante se capture y almacene de forma segura.
Los registros son muy útiles para analizar y solucionar problemas relacionados con el sistema y las aplicaciones Linux. De forma predeterminada, todos los archivos de registro se encuentran dentro del directorio/var/log en los sistemas operativos basados en Linux. Hay varios tipos de archivos de registro, incluidos cron, kernel, usuarios y seguridad, y la mayoría de estos archivos están controlados por el servicio Rsyslog.
En este tutorial, explicaré cómo configurar el servidor Rsyslog en el servidor Ubuntu 24.04.
Requisitos previos
- Dos servidores con Ubuntu 24.04.
- Una dirección IP estática 192.168.0.101 está configurada en la máquina servidor Rsyslog y 192.168.0.102 está configurada en la máquina cliente Rsyslog.
- Se configura una contraseña de root en ambos servidores.
Instalar Rsyslog
Puede instalar Rsyslog ejecutando el siguiente comando:
apt install rsyslog -y
Después de instalar Rsyslog, puede verificar la versión de Rsyslog con el siguiente comando:
rsyslogd -v
También puede verificar el estado de Rsyslog con el siguiente comando:
systemctl status rsyslog
Deberías ver el siguiente resultado:
? rsyslog.service - System Logging Service
Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2024-08-22 04:28:55 UTC; 1min 31s ago
Docs: man:rsyslogd(8)
http://www.rsyslog.com/doc/
Main PID: 724 (rsyslogd)
Tasks: 4 (limit: 1114)
CGroup: /system.slice/rsyslog.service
??724 /usr/sbin/rsyslogd -n
Aug 22 04:28:53 ubuntu2404 systemd[1]: Starting System Logging Service...
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd. [v8.32.0]
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: rsyslogd's groupid changed to 106
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: rsyslogd's userid changed to 102
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: [origin software="rsyslogd" swVersion="8.32.0" x-pid="724" x-info="http://www.rsyslog.com"] start
Aug 22 04:28:55 ubuntu2404 systemd[1]: Started System Logging Service.
Configurar el servidor Rsyslog
Rsyslog ahora está instalado y ejecutándose. A continuación, debes configurarlo para que se ejecute en modo servidor. Puede editar el archivo /etc/rsyslog.conf.
nano /etc/rsyslog.conf
Primero, deberá definir el protocolo UDP, TCP o ambos.
Para utilizar conexiones UDP y TCP al mismo tiempo, busque y descomente las líneas siguientes:
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
A continuación, defina la subred, IP o dominio específico para limitar el acceso como se muestra a continuación:
$AllowedSender TCP, 127.0.0.1, 192.168.0.0/24, *.example.com
$AllowedSender UDP, 127.0.0.1, 192.168.0.0/24, *.example.com
A continuación, debe crear una plantilla para indicarle al servidor Rsyslog cómo almacenar los mensajes syslog entrantes. Agregue las siguientes líneas justo antes de la sección DIRECTIVAS GLOBALES:
$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
Guarde y cierre el archivo cuando haya terminado. Luego, verifique la configuración de Rsyslog para detectar cualquier error de sintaxis con el siguiente comando:
rsyslogd -f /etc/rsyslog.conf -N1
Deberías ver el siguiente resultado:
rsyslogd: version 8.32.0, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: End of config validation run. Bye.
Finalmente, reinicie el servicio Rsyslog con el siguiente comando:
systemctl restart rsyslog
Ahora, verifique que Rsyslog esté escuchando en TCP/UDP con el siguiente comando:
netstat -4altunp | grep 514
Debería obtener el siguiente resultado:
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 1332/rsyslogd
udp 0 0 0.0.0.0:514 0.0.0.0:* 1332/rsyslogd
Configurar el cliente Rsyslog
El servidor Rsyslog está instalado y configurado para recibir registros de hosts remotos.
Ahora, debe configurar el cliente Rsyslog para enviar mensajes syslog al servidor Rsyslog remoto.
Inicie sesión en la máquina del Cliente y abra el archivo de configuración de Rsyslog como se muestra a continuación:
nano /etc/rsyslog.conf
Agregue las siguientes líneas al final del archivo:
##Enable sending of logs over UDP add the following line:
*.* @192.168.0.101:514
##Enable sending of logs over TCP add the following line:
*.* @@192.168.0.101:514
##Set disk queue when rsyslog server will be down:
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
Guarde y cierre el archivo. Luego, reinicie el servidor Rsyslog para aplicar los cambios de configuración:
systemtcl restart rsyslog
Ver registro de cliente
En este punto, el cliente Rsyslog está configurado para enviar su registro al servidor Rsyslog.
Inicie sesión en el servidor Rsyslog y verifique el directorio /var/log. Debería ver la entrada con el nombre de host de sus máquinas cliente, incluidos varios archivos de registro:
ls /var/log/rsyslog-client/
Producción :
CRON.log kernel.log rsyslogd-2039.log rsyslogd.log sudo.log wpa_supplicant.log
Conclusión
En el artículo anterior, aprendimos cómo instalar y configurar el servidor Rsyslog en un servidor Ubuntu 24.04 y cómo configurar el cliente Rsyslog para enviar registros al servidor Rsyslog. No dudes en preguntarme si tienes alguna pregunta.