Cómo configurar el servidor Rsyslog Debian 10/11

Cómo configurar el servidor Rsyslog Debian 10/11

 

Rsyslog es un programa de registro de código abierto que utiliza la red IP para enviar todos los archivos de registro a un servidor de registro centralizado. Es una versión mejorada de Syslog en Linux. Permite a los administradores del sistema monitorear todos los servidores desde una sola ubicación.

Rsyslog funciona en un modelo cliente/servidor que recibe registros de clientes remotos en el puerto 514 o cualquier puerto personalizado configurado sobre el protocolo TCP/UDP. También admite bases de datos (MySQL, PostgreSQL) que se utilizan para almacenar registros.

En esta guía, aprenderemos cómo instalar y configurar Rsyslog en Debian 10/11

Paso 1: Instalar el servidor Rsyslog

Para comenzar, instale el paquete Rsyslog del Repositorio Debian en su máquina servidor. Correr:

$ sudo apt-get install rsyslog -y

Una vez que se complete la instalación, verifique que Rsyslog se esté ejecutando correctamente como se muestra:

$ sudo systemctl status rsyslog

El servicio Rsyslog ahora está en funcionamiento en su máquina servidor.

Paso 2: configurar el servidor Rsyslog

Ahora que se está ejecutando, configure Rsyslog para que se ejecute como un servidor en su sistema Debian. Abra el archivo de configuración que es /etc/rsyslog.conf .

$ sudo vim /etc/rsyslog.conf

Localice las líneas a continuación y elimínelas para la recepción de registros UDP y TCP de clientes remotos.

# provides UDP syslog reception

module(load="imudp")

input(type="imudp" port="514")

# provides TCP syslog reception

module(load="imtcp")

input(type="imtcp" port="514")

A continuación, debemos especificar la plantilla que utilizará el demonio Rsyslog para almacenar los registros entrantes de los sistemas cliente. Agregue las siguientes líneas al final de su archivo de configuración.

$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"

*.* ?remote-incoming-logs

Cómo configurar el servidor Rsyslog Debian 11

Reinicie rsyslog para que los cambios surtan efecto.

$ sudo systemctl restart rsyslog

Rsyslog escucha en el puerto 514. Puede modificar el puerto predeterminado en el archivo de configuración. Para verificar que el demonio rsyslog está escuchando en el puerto 514, ejecute el siguiente comando ss.

$ sudo ss -tunlp | grep 514

Paso 3: configurar el cortafuegos para rsyslog

El demonio rsyslog ahora está configurado en el servidor. Si está detrás del firewall UFW, permita el puerto 514 para que el servidor pueda recibir mensajes de registro de los clientes. Ejecuta los comandos:

$ sudo ufw allow 514/tcp

$ sudo ufw allow 514/udp

Reinicie el firewall para que se apliquen las nuevas reglas. Correr:

$ sudo ufw reload

Paso 4: configurar el cliente Rsyslog

A continuación, configure el cliente Rsyslog para enviar mensajes de registro al servidor Rsyslog. Asegúrese de que RSyslog esté correctamente instalado en su máquina cliente.

Primero, abra el archivo de configuración

$ sudo nano /etc/rsyslog.conf

Copie y pegue las siguientes líneas al final del archivo:

#Enable sending system logs over UDP to rsyslog server

*.* @rsyslog-server-ip:514

#Enable sending system logs over TCP to rsyslog server

*.* @@rsyslog-server-ip:514

La configuración anterior indica al cliente que envíe archivos de registro al servidor rsyslog utilizando los protocolos TCP y UDP. Reemplace rsyslog-server-ip con la dirección IP de su servidor.

Si el servidor remoto falla y necesita mantener sus registros, puede configurar el búfer de la cola del disco agregando las siguientes líneas al archivo de configuración del cliente.

##Set disk queue when rsyslog server will be down:

$ActionQueueFileName queue

$ActionQueueMaxDiskSpace 1g

$ActionQueueSaveOnShutdown on

$ActionQueueType LinkedList

$ActionResumeRetryCount -1

Guarde y cierre el archivo. Vuelva a cargar el servicio rsyslog para que se apliquen los cambios.

 $ sudo systemctl restart rsyslog

Paso 5: Ver los archivos de registro de los Clientes

Los archivos de registro de Rsyslog se guardan en la carpeta /var/log/ de su servidor. Para ver los registros del cliente, use el siguiente comando ls:

$ ls /var/log/

De manera predeterminada, los archivos de registro del cliente se almacenan en una carpeta con el nombre del host del sistema cliente. En mi caso, el sistema cliente tiene el nombre de host debian.

Cómo configurar el servidor Rsyslog Debian 11

A continuación, ejecute el siguiente comando para ver los registros contenidos en el directorio del cliente.

$ sudo ls -l /var/log/debian/

Cómo configurar el servidor Rsyslog Debian 11

También puede ver los registros en tiempo real en su terminal. Veamos los registros del usuario raíz. Ejecute el comando:

$ sudo tail -f /var/log/debian/sudo.log

Cómo configurar el servidor Rsyslog Debian 11

Conclusión

El servidor rsyslog ahora está configurado en Debian 11. Ahora puede configurar varios clientes para enviar mensajes de registro al servidor centralizado.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.