GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar el registro remoto de Rsyslog en Linux (servidor de registro central)

Cada distribución de Linux tiene algún tipo de mecanismo de registro que registra todas las actividades del sistema. Hace un tiempo proporcionamos una lista de 20 archivos de registro que se almacenan en /var/log y que pueden resultarle útiles durante la resolución de problemas. Estos registros son muy importantes para el administrador del sistema a la hora de solucionar problemas.

Los siguientes son los tres métodos comunes para registrar un mensaje:

  1. Inicio de sesión en el mismo servidor:los mensajes se escriben en el disco duro local/base de datos local
  2. Inicio de sesión en un servidor remoto:muchos sistemas envían sus registros a través de la red a un servidor de registro central. En el servidor de registro central, los mensajes de varios sistemas se escriben en el disco duro/base de datos local.
  3. Registro de retransmisión:la sucursal 'A' y la sucursal 'B' registran los mensajes en 2 servidores diferentes. Estos servidores, a su vez, registran el mensaje en la "Oficina central".


Rsyslog es el programa de registro predeterminado en varias distribuciones de Linux, incluidos los sistemas basados ​​en Debian y Red Hat. Además de implementar el protocolo syslog, rsyslog agrega características adicionales, como el filtrado basado en contenido. Esto también usa TCP para el transporte y proporciona muchas opciones de configuración.

Este artículo explica cómo implementar el método 2 mencionado anteriormente. es decir, esto explica cómo configurar un servidor de registro central y enviar registros desde servidores individuales al servidor de registro central.

Esta configuración lo ayudará a analizar los archivos de registro de todos los servidores de su infraestructura desde un servidor de registro central.

Instalación

Rsyslog se presenta como el programa de registro predeterminado en los sistemas basados ​​en Debian Distribution y Red Hat. Si su sistema no tiene rsyslog, instálelo como se muestra a continuación según su distribución.

apt-get install rsyslog rsyslog-doc
(or)
yum install rsyslog rsyslog-doc

Las configuraciones de Rsyslog se almacenan en el archivo /etc/ryslog.conf y los archivos en el directorio /etc/rsyslog.d/.

Estructura de configuración

Antes de comprender cómo configurar el servidor de registro central, es bueno comprender la estructura de configuración de rsyslog.

Los archivos de configuración de Rsyslog están estructurados de la siguiente manera

  1. Módulos
  2. Directivas de configuración
  3. Línea de regla

Módulos

Rsyslog tiene una arquitectura modular. Permite añadir funcionalidades de forma dinámica a través de estos módulos. Los módulos se clasifican como:

  • Módulos de entrada:se utilizan para recopilar mensajes de varias fuentes
  • Módulos de salida:se utilizan para escribir los mensajes en varios lugares (archivo, socket, etc.)
  • Módulos de análisis:se utilizan para analizar el contenido del mensaje

Tenga en cuenta que también hay otras categorías de módulos disponibles. Esto es para dar una visión general de lo que pueden hacer los módulos.

Directivas de configuración

Todas las directivas de configuración deben especificarse una por línea y deben comenzar con el signo de dólar ($). Afecta las reglas.

Línea de regla

Cada línea de regla consta de dos campos, un "campo de selección" y un "campo de acción". El campo de selección se divide en dos, 'instalaciones y prioridades'. Acción especifica qué acción se debe tomar para la regla coincidente.

Una configuración de muestra

######################
	MODULES
######################

$ModLoad imuxsock
$ModLoad imklog

######################
	Directives
######################
# Set the default permissions for all log files. 

$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755

######################
	RULES
######################
mail.info	/var/log/mail.info
mail.warn	/var/log/mail.warn
mail.err	/var/log/mail.err
daemon.*	/var/log/daemon.log

Nota:10 ejemplos para ver archivos de registro enormes en Linux pueden ser útiles cuando manipula archivos de registro.

Plantillas

Las plantillas son una característica muy importante proporcionada por rsyslog. Permite al usuario registrar los mensajes en su formato deseable. También se puede utilizar para crear nombres de archivos dinámicos para registrar los mensajes. En el caso del registro de la base de datos, las plantillas se utilizan para convertir el mensaje en una instrucción SQL adecuada.

Una plantilla de muestra se verá así:

$template mytemplate “Text-Before %msg% Text-After\n”

La plantilla anterior registrará el mensaje "Esto es hola de rsyslog" como:

Text-Before This is hello from rsyslog Text-After

Veremos cómo utilizar la plantilla para generar los archivos de registro de forma dinámica.

Servidor de registro central

Las secciones anteriores deberían haber brindado una descripción general sobre rsyslog y cómo configurarlo. Ahora pasaremos a configurar un sistema de registro central.

Para nuestra discusión, tendremos la IP del servidor como "192.168.1.1" para el servidor de registro central, donde se deben reenviar todos los mensajes de registro del cliente.

Agregue las siguientes líneas al rsyslog.conf de los servidores del servidor de registro central (en este ejemplo, se agregó la siguiente línea en el servidor de registro con la dirección IP 192.168.1.1):

# provides support for local system logging
$ModLoad imuxsock 

# provides kernel logging support (previously done by rklogd)
$ModLoad imklog

# provides UDP syslog reception. For TCP, load imtcp.
$ModLoad imudp

# For TCP, InputServerRun 514
$UDPServerRun 514

# This one is the template to generate the log filename dynamically, depending on the client's IP address.
$template FILENAME,"/var/log/%fromhost-ip%/syslog.log"

# Log all messages to the dynamically formed file. Now each clients log (192.168.1.2, 192.168.1.3,etc...), will be under a separate directory which is formed by the template FILENAME.
*.* ?FILENAME

Después de agregar las líneas anteriores a rsyslog.conf, reinicie el proceso de rsyslog. Ahora el servidor rsyslog estará listo para aceptar mensajes.

# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]

Agregue las siguientes líneas a rsyslog.conf en las máquinas cliente individuales que deben enviar sus mensajes de registro al servidor central.

$ModLoad imuxsock

$ModLoad imklog

# Provides UDP forwarding. The IP is the server's IP address
*.* @192.168.1.1:514 

# Provides TCP forwarding. But the current server runs on UDP
# *.* @@192.168.1.1:514

Reinicie el proceso de rsyslog en los clientes. Ahora el servidor central de rsyslog (en este ejemplo, 192.168.1.1) recibirá todos los mensajes de registro de los clientes configurados y el registro de cada cliente se colocará en un directorio separado.


Linux
  1. Cómo configurar el servidor Rsyslog en Debian 11

  2. Cómo usar rsyslog para crear un servidor de agregación de registros de Linux

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

  4. Cómo configurar el túnel SSH inverso en Linux

  5. Rsyslog:cómo enviar archivos de registro a un servidor remoto en CentOS/RHEL 6,7

Cómo configurar el servidor Rsyslog en Debian 11 (Bullseye)

Cómo configurar un servidor Linux en Amazon AWS

Cómo configurar el servidor de registro central usando Rsyslog en Ubuntu 20.04

Cómo configurar el servidor de transmisión de medios usando Jellyfin en Linux

Cómo configurar el servidor Rsyslog en Ubuntu

Cómo crear una configuración Rsyslog de registro centralizado