Búsqueda de sitios web

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

  1. Requisitos previos
  2. Instalar Rsyslog
  3. Configurar el servidor Rsyslog
  4. Configurar el cliente Rsyslog
  5. Ver registro de cliente
  6. 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.

Artículos relacionados: