Los archivos de registro son los archivos que guardan información sobre las actividades del sistema, como intentos de autorización y acceso, intentos de inicio y cierre, inicio y cierre del servicio, etc. Existen diferentes archivos de registro para diferentes tipos de actividades. Los archivos de registro facilitan la resolución de problemas y la supervisión de las actividades del sistema. Rsyslog es un programa de código abierto para el sistema operativo Linux que se puede configurar como servidor de registro y como cliente.
Aquí en LinuxAPT, como parte de nuestros Servicios de administración de servidores, ayudamos regularmente a nuestros clientes a realizar consultas de Rsyslog relacionadas.
En este contexto, analizaremos la configuración del servidor Rsyslog en Ubuntu OS 20.04 usando dos máquinas Ubuntu. En una máquina Ubuntu, configuraremos Rsyslog como servidor de registro y en la otra máquina; configuraremos Rsyslog como un cliente que enviará registros al servidor Rsyslog.
¿Cómo instalar Rsyslog en Ubuntu 20.04 LTS Focal Fossa?
1. Realice la actualización del sistema
Para comenzar, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando los siguientes comandos apt en la terminal:
$ sudo apt update
$ sudo apt upgrade
2. Instale Rsyslog en el sistema
De forma predeterminada, Rsyslog ahora está disponible en el repositorio base de Ubuntu. Ahora ejecutamos el siguiente comando a continuación para instalar el paquete del servidor Rsyslog en su sistema:
$ sudo apt install rsyslog
Una vez finalizada la instalación, inicie y habilite el servicio Rsyslog:
$ sudo systemctl start rsyslog
$ sudo systemctl enable rsyslog
$ sudo systemctl status rsyslog
Para verificar la instalación de Rsyslog y ver el estado de su servicio, ejecute el siguiente comando:
$ sudo systemctl status rsyslog
¿Cómo configurar el servidor Rsyslog en Ubuntu?
1. Configurar Rsyslog
Ahora que Rsyslog está instalado y ejecutándose, lo configuraremos como el servidor de registro.
Edite el archivo de configuración de Rsyslog etc/rsyslog.conf:
$ sudo nano /etc/rsyslog.conf
Agregue las siguientes líneas en el archivo de configuración de Rsyslog:
# Receive syslog over UDP
module(load="imudp")
input(type="imudp" port="514")
# Receive syslog over TCP
module(load="imtcp")
input(type="imtcp" port="514")
Luego, crearemos una plantilla que utilizará Rsyslog para almacenar los mensajes de syslog entrantes. Para hacerlo, agregue las siguientes líneas en el archivo de configuración de Rsyslog antes de la sección DIRECTIVAS GLOBALES:
$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
Luego guarde y cierre el archivo de configuración.
Ahora ejecute el siguiente comando para reiniciar el servicio de Rsyslog:
$ sudo systemctl restart rsyslog
También puede verificar si Rsyslog está escuchando el puerto TCP/UDP 514 usando el siguiente comando:
$ sudo ss -tunlp | grep 514
2. Configurar cortafuegos
Si su sistema tiene habilitado el firewall, deberá abrir el puerto TCP/UDP 514. El servidor Rsyslog utiliza este puerto para recibir los registros del cliente remoto. Ejecute estos comandos para abrir el puerto TCP/UDP 514 en el firewall de Ubuntu:
$ sudo ufw allow 514/tcp
$ sudo ufw allow 514/udp
Luego recarga el firewall:
$ sudo ufw reload
¿Cómo configurar el cliente Rsyslog en Ubuntu?
Ahora en el otro sistema Ubuntu, realizaremos la configuración para el cliente Rsyslog. Este cliente luego enviará sus registros al servidor de registro Rsyslog.
En la máquina ubuntu que desea configurar como cliente Rsyslog, primero instale Rsyslog (si aún no está instalado):
$ sudo apt install rsyslog
Luego edite el archivo de configuración de Rsyslog usando este comando:
$ sudo nano /etc/rsyslog.conf
Agregue las siguientes líneas al final del archivo de configuración de Rsyslog. Asegúrese de reemplazar 192.168.72.201 con la dirección IP de su servidor de registro Rsyslog:
#Send system logs to rsyslog server over RDP
*.* @192.168.72.201:514
#Send system logs to rsyslog server over TCP
*.* @@192.168.72.201:514
##Set disk queue to preserve your logs in case rsyslog server is experiencing any downtime
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
Guarde y cierre el archivo de configuración de Rsyslog.
Ahora ejecute el siguiente comando para reiniciar el servicio de Rsyslog:
$ sudo systemctl restart rsyslog
¿Cómo ver los archivos de registro del cliente en el servidor Rsyslog?
Una vez que haya terminado con todas las configuraciones descritas anteriormente, puede ver los archivos de registro enviados por los clientes al servidor Rsyslog. En su máquina servidor Rsyslog, ejecute el siguiente comando en la Terminal:
$ ls /var/log/
En el resultado del comando anterior, verá un directorio con el mismo nombre que el nombre de host de su sistema cliente.
Para ver los archivos de registro de la máquina cliente, enumere el contenido de este directorio:
$ sudo ls /var/log/directory