GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar el servidor Rsyslog en Ubuntu 18.04 LTS

Los registros son muy útiles para analizar y solucionar cualquier problema relacionado con el sistema y las aplicaciones en 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, seguridad y la mayoría de estos archivos están controlados por el servicio Rsyslog.

Rsyslog es un sistema potente y seguro para el procesamiento de registros. El servidor Rsyslog recibe registros a través de la red desde varios servidores físicos o virtualizados y supervisa el estado de los diferentes servicios. Con el servidor Rsyslog, puede monitorear los registros de otros servidores, dispositivos de red y aplicaciones remotas desde la ubicación centralizada.

En este tutorial, explicaremos cómo configurar el servidor Rsyslog en el servidor Ubuntu 18.04.

Requisitos

  • Dos servidores con Ubuntu 18.04.
  • Se configura una dirección IP estática 192.168.0.101 en la máquina servidor Rsyslog y 192.168.0.102 en la máquina cliente Rsyslog.
  • Se configura una contraseña raíz en ambos servidores.

Instalar Rsyslog

De forma predeterminada, Rsyslog está instalado en el servidor Ubuntu 18.04. Si no está instalado, puede instalarlo ejecutando el siguiente comando:

apt-get install rsyslog -y

Después de instalar Rsyslog, puede verificar la versión de Rsyslog con el siguiente comando:

rsyslogd -v

Deberías obtener el siguiente resultado:

rsyslogd 8.32.0, compiled with:
	PLATFORM:				x86_64-pc-linux-gnu
	PLATFORM (lsb_release -d):		
	FEATURE_REGEXP:				Yes
	GSSAPI Kerberos 5 support:		Yes
	FEATURE_DEBUG (debug build, slow code):	No
	32bit Atomic operations supported:	Yes
	64bit Atomic operations supported:	Yes
	memory allocator:			system default
	Runtime Instrumentation (slow code):	No
	uuid support:				Yes
	systemd support:			Yes
	Number of Bits in RainerScript integers: 64

See http://www.rsyslog.com for more information.

También puede verificar el estado de Rsyslog con el siguiente comando:

systemctl status rsyslog

Debería 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 2019-10-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

Oct 22 04:28:53 ubuntu1804 systemd[1]: Starting System Logging Service...
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd.  [v8.32.0]
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: rsyslogd's groupid changed to 106
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: rsyslogd's userid changed to 102
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]:  [origin software="rsyslogd" swVersion="8.32.0" x-pid="724" x-info="http://www.rsyslog.com"] start
Oct 22 04:28:55 ubuntu1804 systemd[1]: Started System Logging Service.

Configurar servidor Rsyslog

Rsyslog ahora está instalado y funcionando. A continuación, deberá configurarlo para que se ejecute en modo servidor. Puede hacerlo editando el archivo /etc/rsyslog.conf.

nano /etc/rsyslog.conf

Primero, deberá definir el protocolo, ya sea UDP, TCP o ambos.

Para usar conexiones UDP y TCP al mismo tiempo, busque y descomente las siguientes líneas:

$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, deberá crear una plantilla para decirle al servidor Rsyslog cómo almacenar los mensajes de 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 ver si hay algún error de sintaxis con el siguiente comando:

rsyslogd -f /etc/rsyslog.conf -N1

Debería 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ías 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 cliente Rsyslog

El servidor Rsyslog está instalado y configurado para recibir registros de hosts remotos.

Ahora, deberá 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.

Ahora, 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/

Salida:

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 el servidor Ubuntu 18.04. También aprendimos cómo configurar el cliente Rsyslog para enviar registros al servidor Rsyslog. Siéntase libre de preguntarme si tiene alguna pregunta.


Ubuntu
  1. Cómo configurar el servidor y el cliente Kerberos en Ubuntu 18.04 LTS

  2. Cómo configurar el servidor de almacenamiento iSCSI en Ubuntu 18.04 LTS

  3. Cómo configurar un servidor de almacenamiento iSCSI en Ubuntu 20.04 LTS

  4. Cómo configurar Elasticsearch en Ubuntu 18.04 y 16.04 LTS

  5. Configurar el servidor Rsyslog en Ubuntu 20.04 - ¿Cómo hacerlo?

Cómo configurar el servidor Git en Ubuntu 20.04

Cómo configurar el servidor Rsyslog en Ubuntu

Cómo configurar el servidor DHCP en Ubuntu

Cómo actualizar a Ubuntu Server 22.04 LTS

Cómo configurar el servidor y el cliente NTP en Ubuntu 20.04 LTS

Cómo configurar Rsyslog en Ubuntu 20.04 LTS