Hola amigos. En esta publicación, hablaremos un poco sobre rsyslog en Debian 11. Además, le mostraremos cómo instalarlo y configurarlo, para que pueda trabajar desde los clientes. Comencemos.
¿Qué es rsyslog en Debian 11?
Rápidamente podemos decir que rsyslog es un demonio que se encarga de recopilar y centralizar la gestión de logs a través de las máquinas cliente.
Por lo general, estos registros se encuentran en /var/logs/
pero funciona para casi cualquier directorio que especifique en la configuración.
Una de las cosas sorprendentes de rsyslog es que es lo suficientemente versátil y robusto para usarse en entornos empresariales, pero también es tan liviano y simple que puede usarse en sistemas pequeños.
Además de esto, podemos elegir si almacenar los datos en un archivo de texto o en un administrador de base de datos como MariaDB. Por lo tanto, es fácil de usar y hoy le mostraremos cómo hacerlo.
Instalación de rsyslog en Debian 11 – Configuración del servidor de registro
En cuanto al servidor, puede instalar el paquete desde los repositorios oficiales de Debian 11. Para ello, una vez que te hayas conectado al servidor vía SSH, podrás actualizarlo.
sudo apt update
sudo apt upgrade
A partir de entonces, puede instalar el paquete ejecutando
sudo apt install rsyslog
Como Rsyslog funciona en los puertos TCP y UDP 514, debe asegurarse de que estos puertos estén abiertos en el firewall.
sudo ufw allow 514/tcp
sudo ufw allow 514/udp
Para aplicar estos cambios, debe reiniciar el firewall.
sudo ufw reload
Finalmente, debe verificar el estado del servicio ejecutando
sudo systemctl status rsyslog
De esta forma, sabremos que rsyslog está instalado y ejecutándose. Ahora tenemos que configurarlo.
Configurando el servidor rsyslog
La configuración principal de rsyslog reside en /etc/rsyslog.conf
archivo que tenemos que modificar. Siempre es una buena idea conservar una copia del original antes de hacer esto.
sudo cp /etc/rsyslog.conf /etc/rsyslog.conf.bak
Ahora edítalo
sudo nano /etc/rsyslog.conf
Y lo primero que tenemos que hacer, en este archivo, es habilitar los puertos donde va a funcionar la aplicación.
Entonces, al comienzo del archivo, elimine el comentario de la siguiente sección.
module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")
Además de esto, tenemos que definir una plantilla sobre cómo rsyslog recopilará los registros de los clientes. En este caso, al final del archivo, agregue estas dos líneas.
$template remote-incoming-logs,"https://1118798822.rsc.cdn77.org/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
Donde estamos definiendo los remote-incoming-logs
plantilla y los registros se almacenarán en /var/log
y para distinguirlos tenemos que usar el hostname y el nombre del programa que genera el log.
Esto es suficiente por ahora. Puede guardar sus cambios.
Para aplicarlos, simplemente reinicie el servicio de la aplicación.
sudo systemctl restart rsyslog
Realizar la configuración en los clientes
La configuración de Rsyslog en los clientes es bastante similar a la del servidor. Primero, debe instalar el paquete en su distribución.
Luego, abra los puertos TCP y UDP 514 en el firewall.
Y en el archivo de configuración rsyslog
sudo nano /etc/rsyslog.conf
Agregue al final del archivo la siguiente línea
*.* @rsyslog-ip-address:514
*.* @@rsyslog-ip-address:514
Recuerde, debe configurar la dirección IP del servidor Rsyslog. La primera línea se refiere a UDP y la segunda a TCP.
Además de esto, debe agregar la siguiente información al archivo.
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 2g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
Estas directivas son opciones que configuraremos en el envío de los logs.
Guarde los cambios y cierre el editor de texto.
Para aplicar los cambios, reinicie el servicio.
sudo systemctl restart rsyslog
Esta configuración es suficiente.
Conclusión
En esta publicación, aprendió cómo configurar rsyslog en Debian 11. De esta manera, puede centralizar sus registros y tener un servidor donde puede consultarlos todos.
Espero haberte ayudado.
Documentación de Rsyslog