Rsyslog es un sistema de gestión de registros (logs) altamente configurable y robusto que se utiliza para recolectar, procesar y almacenar registros de diferentes fuentes. Este artículo te guiará a través de la configuración de un servidor Rsyslog en Debian 12, proporcionando comandos detallados y ejemplos prácticos para que los principiantes puedan seguir sin problemas.

Prerrequisitos

Antes de comenzar, asegúrate de que tu sistema cumple con los siguientes requisitos:

  1. Acceso root: Necesitarás privilegios de superusuario para instalar y configurar Rsyslog.
  2. Actualización del sistema: Asegúrate de que tu sistema esté actualizado.
   sudo apt update && sudo apt upgrade -y

Instalación de Rsyslog

Rsyslog suele estar instalado por defecto en Debian. Puedes verificar si ya está instalado ejecutando:

rsyslogd -v

Si no está instalado, puedes instalarlo con el siguiente comando:

sudo apt install rsyslog -y

Configuración de Rsyslog como servidor de logs

Para configurar Rsyslog como servidor de logs centralizado, sigue estos pasos:

Paso 1: Habilitar la recepción de logs remotos

Edita el archivo de configuración principal de Rsyslog:

sudo nano /etc/rsyslog.conf

Descomenta las siguientes líneas para habilitar la recepción de logs vía UDP y TCP:

# Provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")

# Provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")

Paso 2: Configurar plantillas de log

Añade una plantilla personalizada para almacenar los logs recibidos de manera organizada. Por ejemplo, para almacenar los logs remotos en /var/log/remote:

$template RemoteLogs,"/var/log/remote/%HOSTNAME%/%PROGRAMNAME%.log"

Paso 3: Filtrar y dirigir los logs remotos

Añade reglas para que los logs recibidos sean almacenados usando la plantilla anterior:

*.* ?RemoteLogs
& ~

Guarda y cierra el archivo.

Paso 4: Crear el directorio de logs remotos

Asegúrate de que el directorio donde se almacenarán los logs remotos exista y tenga los permisos adecuados:

sudo mkdir -p /var/log/remote
sudo chmod 755 /var/log/remote

Paso 5: Reiniciar Rsyslog

Para aplicar los cambios, reinicia el servicio Rsyslog:

sudo systemctl restart rsyslog

Configuración del cliente Rsyslog

Para enviar logs desde un cliente a tu servidor Rsyslog, edita el archivo de configuración de Rsyslog en el cliente:

sudo nano /etc/rsyslog.conf

Añade la siguiente línea al final del archivo, reemplazando server-ip con la dirección IP de tu servidor Rsyslog:

*.* @@server-ip:514

Guarda y cierra el archivo, luego reinicia el servicio Rsyslog en el cliente:

sudo systemctl restart rsyslog

Verificación

Para asegurarte de que los logs están siendo recibidos y almacenados correctamente en tu servidor, puedes revisar el contenido del directorio /var/log/remote:

ls /var/log/remote

Deberías ver subdirectorios con los nombres de los hosts desde donde se están enviando los logs.

Si estás buscando un proveedor confiable para tus necesidades de hospedaje en la nube, considera Shape.host. Ofrecen servicios de Linux SSD VPS que son ideales para alojar tu servidor Rsyslog y otros servicios críticos. Con Shape.host, puedes asegurar que tus aplicaciones y servicios se ejecuten en un entorno de alta disponibilidad y rendimiento.