Cómo configurar el cliente RSYSLOG para enviar registros al servidor RSYSLOG en CentOS 7

Cómo configurar el cliente RSYSLOG para enviar registros al servidor RSYSLOG en CentOS 7

La gestión de registros es uno de los componentes más críticos en una infraestructura de red. Los mensajes de registros son generados constantemente por numerosos software del sistema, como utilidades, aplicaciones, demonios, servicios relacionados con red, núcleo, dispositivos físicos, etc.

Los archivos de registro demuestran ser útiles en caso de solucionar problemas de los problemas del sistema Linux, monitorear el sistema y revisar la fuerza y ​​los problemas de seguridad del sistema.

Rsyslog es un programa de registro de código abierto, que es el mecanismo de registro más popular en una gran cantidad de distribuciones de Linux. También es el servicio de registro predeterminado en Centos 7 o Rhel 7.

Rsyslog Daemon en CentOS se puede configurar para ejecutarse como servidor en orden Recopilar mensajes de registro de múltiples dispositivos de red. Estos dispositivos actúan como clientes y están configurados para transmitir sus registros a un servidor RSYSLOG.

sin embargo, el Rsyslog El servicio también se puede configurar y comenzar en modo cliente. Esta configuración instruye al demonio rsyslog para reenviar mensajes de registro a un servidor RSYSLOG remoto utilizando los protocolos de transporte TCP o UDP. El servicio RSYSLOG también se puede configurar para ejecutarse como cliente y como servidor al mismo tiempo.

En este tutorial describiremos cómo configurar un CentOS/RHEL 7 Rsyslog Daemon para enviar mensajes de registro a un servidor remoto de Rsyslog. Esta configuración garantiza que el espacio de disco de su máquina se pueda conservar para almacenar otros datos.

El lugar donde casi todos los archivos de registro se escriben de forma predeterminada en Cento es el /var ruta del sistema. También es aconsejable crear siempre una partición separada para /var directorio, que puede cultivarse dinámicamente, para no agotar el /(raíz) dividir.

Un Rsyslog El cliente siempre envía los mensajes de registro en texto sin formato, si no se especifica lo contrario. No debe configurar un cliente RSYSLOG para transmitir mensajes de registro a través de Internet o redes que no estén bajo su control completo.

Requisitos

  1. Centos 7.3 Procedimiento de instalación
  2. Rhel 7.3 Procedimiento de instalación
  3. Configurar un servidor RSYSLOG en CentOS/RHEL 7

Paso 1: Verifique la instalación de Rsyslog

1. Por defecto, el demonio rsyslog ya está instalado y ejecutado en un sistema CentOS 7. Para verificar si el servicio RSYSLOG está presente en el sistema, emita los siguientes comandos.

# rpm -q | GREP rsyslog # rsyslogd -v 
Verifique la instalación de Rsyslog

2. Si el paquete RSYSLOG no está instalado en CentOS, ejecute el siguiente comando para instalar el servicio.

# yum install rsyslog 

Paso 2: Configurar el servicio RSYSLOG como cliente

3. Para hacer cumplir el demonio rsyslog instalado en un Centos 7 Sistema Para actuar como un cliente de registro y enrutar todos los mensajes de registro generados localmente a un servidor RSYSLOG remoto, modifique el archivo de configuración de RSYSLOG de la siguiente manera:

Primero abra el archivo de configuración principal para la edición.

# vi /etc /rsyslog.confusión 

Luego, agregue la línea a continuación al final del archivo como se ilustra en el extracto a continuación.

*. * @192.168.10.254: 514 

En la línea anterior, se asegura de reemplazar la dirección IP del FQDN del servidor RSYSLOG remoto en consecuencia. La línea anterior instruye al demonio rsyslog que envíe todos los mensajes de registro, independientemente de la instalación o la gravedad, al host con el IP 192.168.10.254 a través de 514/UDP puerto.

Configurar el cliente RSYSLOG

4. Si el servidor de registro remoto está configurado para escuchar solo en las conexiones TCP o si desea utilizar un protocolo de red de transporte confiable, como TCP, agregue otro @ personaje frente al host remoto como se muestra en el siguiente ejemplo:

*. * @@ registros.dominio.LAN: 514 

El Linux Rsyslog también permite tiene algunos caracteres especiales, como = o !, que puede prefijarse a los niveles prioritarios para indicar "solo esta prioridad"Para igual signo y"no esta prioridad o más alta que esta".

Algunas muestras de clasificatorios de nivel de prioridad de Rsyslog en Centos 7:

  • núcleo.información = Registros de kernel con prioridad de información y superior.
  • núcleo.= información = Solo mensajes de núcleo con prioridad de información.
  • núcleo.info; kern.!errar = Solo mensajes de núcleo con información, notificación y prioridades de advertencia.
  • núcleo.depurar; kern.!= advertencia = todas las prioridades del núcleo excepto la advertencia.
  • núcleo.* = Todos los mensajes de prioridades del núcleo.
  • núcleo.ninguno = No registre ningún mensaje relacionado con la instalación de kernel independientemente de la prioridad.

Por ejemplo, suponiendo que desea enviar solo mensajes de instalación específicos a un servidor de registro remoto, como todos los mensajes de correo relacionados, independientemente del nivel de prioridad, agregue la línea a continuación al archivo de configuración de RSYSLOG:

correo.* @192.168.10.254: 514 

5. Finalmente, para aplicar la nueva configuración, el servicio RSYSLOG debe reiniciarse para que el demonio recogiera los cambios, ejecutando el siguiente comando:

# SystemCTL reiniciar rsyslog.servicio 

6. Si por alguna razón Rsyslog Daemon no está habilitado durante el tiempo de arranque, emita el siguiente comando para habilitar el sistema de servicio en todo el sistema:

# SystemCTL Habilitar rsyslog.servicio 

Paso 3: Envíe los registros de Apache y Nginx a un servidor de registro remoto

7. El servidor Apache HTTP se puede configurar para enviar mensajes de registros a un servidor syslog remoto agregando la siguiente línea a su archivo de configuración principal como se ilustra en el siguiente ejemplo.

# vi/etc/httpd/conf/httpd.confusión 

En el archivo conf conf de apache, agregue la línea a continuación.

CustomLog "|/bin/sh -c '/usr/bin/tee -a/var/log/httpd/httpd -access.registro | /usr/bin/logger -thttpd -plocal1.Aviso '"Combinado 

La línea impedirá el demonio HTTP para escribir los mensajes de registro internamente en el archivo de registro del sistema de archivos, pero también procesará los mensajes más a través de una tubería a la utilidad de logger, que los enviará a un servidor de syslog distante, marcandolos como provenientes de la local1 instalación.

8. Si también quieres dirigir apache Mensajes de registro de errores a un servidor de syslog remoto, agregue una nueva regla como la presentada en el ejemplo anterior, pero asegúrese de reemplazar el nombre del archivo de registro HTTPD y el nivel de gravedad del archivo de registro para que coincida con la prioridad de error, como se muestra en la siguiente muestra:

ErrorLog "|/bin/sh -c '/usr/bin/tee -a/var/log/httpd/httpd -error.registro | /usr/bin/logger -thttpd -plocal1.errar'" 

9. Una vez que haya agregado las líneas anteriores, debe reiniciar Apache Daemon para aplicar cambios, emitiendo el siguiente comando:

# SystemCTL reiniciar httpd.servicio 

10. A partir de la versión 1.7.1, Nginx Web Server tiene capacidades incorporadas para registrar directamente sus mensajes a un servidor Syslog remoto, agregando las siguientes líneas de código a un archivo de configuración de Nginx.

Error_log syslog: servidor = 192.168.1.10: 514, facilidad = local7, tag = nginx, gravedad = error; access_log syslog: servidor = 192.168.10.254: 514, facilidad = local7, etiqueta = nginx, gravedad = info main; 

Por un IPv6 servidor, use el siguiente formato de sintaxis para encerrar la dirección IPv6.

access_log syslog: servidor = [7101: dc7 :: 9]: 514, facilidad = local7, tag = nginx, severity = info; 

11. En el servidor RSYSLOG remoto, debe realizar el siguiente cambio en el archivo de configuración de RSYSLOG, para recibir los registros enviados por Apache Web Server.

local1.* @Apache_ip_address: 514 

Eso es todo! Has configurado con éxito Rsyslog Daemon para ejecutar en modo cliente y, también, ha instruido Apache http servidor o Nginx Para reenviar sus mensajes de registro a un servidor de syslog remoto.

En caso de que se bloquee el sistema, debería poder investigar el problema inspeccionando el contenido de archivos de registro que se almacenan en el servidor remoto syslog.