Cargar registros a un host remoto nos permite centralizar informes para más de un dispositivo y mantener una copia de seguridad del informe para investigar en caso de que algo falle y nos impida acceder a los registros localmente.
Este tutorial muestra cómo configurar un servidor remoto para alojar registros y cómo enviar estos registros desde dispositivos cliente y cómo clasificar o dividir registros en directorios por host cliente.
Para seguir las instrucciones, puede usar un dispositivo virtual, tomé un VPS de nivel gratuito de Amazon (si necesita ayuda para configurar un dispositivo de Amazon, tienen un excelente contenido dedicado en LinuxHint en https: // linuxhint.com / category / aws /). Tenga en cuenta que la IP pública del servidor es diferente a su IP interna.
Antes de comenzar:
El software utilizado para enviar registros de forma remota es rsyslog, viene de forma predeterminada en Debian y distribuciones de Linux derivadas, en caso de que no lo tenga ejecutado:
# sudo apt install rsyslogSiempre puede verificar el estado de rsyslog ejecutando:
# estado de rsyslog del servicio sudo
Como puede ver, el estado en la captura de pantalla es activo, si su rsyslog no está activo, siempre puede iniciarlo ejecutando:
# sudo service rsyslog startO
# systemctl iniciar rsyslog
Nota: Para obtener información adicional sobre todas las opciones para administrar los servicios de Debian, consulte Detener, iniciar y reiniciar servicios en Debian.
Iniciar rsyslog no es relevante en este momento porque necesitaremos reiniciarlo después de realizar algunos cambios.
Cómo enviar registros de Linux a un servidor remoto: el lado del servidor
En primer lugar, en el servidor edite el archivo / etc / resyslog.conf usando nano o vi:
# nano / etc / rsyslog.conf
Dentro del archivo, descomente o agregue las siguientes líneas:
módulo (load = "imudp")entrada (tipo = "imudp" puerto = "514")
módulo (load = "imtcp")
entrada (tipo = "imtcp" puerto = "514")
Anteriormente descomentamos o agregamos recepciones de registros a través de UDP y TCP, puede permitir solo uno de ellos o ambos, una vez que se hayan descomentado o agregado, deberá editar las reglas de su firewall para permitir registros entrantes, para permitir la recepción de registros a través de la ejecución de TCP:
# ufw permite 514 / tcp
Para permitir la ejecución de registros entrantes a través del protocolo UDP:
# ufw permite 514 / udp
Para permitir a través de TCP y UDP, ejecute los dos comandos anteriores.
Nota: para obtener más información sobre UFW, puede leer Trabajar con firewalls de Debian (UFW).
Reinicie el servicio rsyslog ejecutando:
# sudo service rsyslog restart
Ahora continúe en el cliente para configurar el envío de registros, luego regresaremos al servidor para mejorar el formato.
Cómo enviar registros de Linux a un servidor remoto: el lado del cliente
En el cliente que envía registros agregue la siguiente línea, reemplazando la IP 18.223.3.241 para la IP de su servidor.
*.* @@ 18.223.3.241: 514
Salga y guarde los cambios presionando CTRL + X.
Una vez editado, reinicie el servicio rsyslog ejecutando:
# sudo service rsyslog restart
En el lado del servidor:
Ahora puede verificar los registros dentro de / var / log, al abrirlos notará fuentes mixtas para su registro, el siguiente ejemplo muestra registros de la interfaz interna de Amazon y del cliente Rsyslog (Montsegur):
Un zoom lo muestra claro:
Tener archivos mixtos no es cómodo, a continuación editaremos la configuración de rsyslog para separar los registros según la fuente.
Para discriminar registros dentro de un directorio con el nombre del host del cliente, agregue las siguientes líneas al servidor / etc / rsyslog.conf para instruir a rsyslog cómo guardar registros remotos, para hacerlo dentro del rsyslog.conf agregue las líneas:
$ template RemoteLogs, "/ var / log /% HOSTNAME% /.Iniciar sesión"*.* ?RemoteLogs
& ~
Salga de guardar cambios presionando CTRL + X y reinicie rsyslog en el servidor nuevamente:
# sudo service rsyslog restart
Ahora puede ver nuevos directorios, uno llamado ip-172.31.47.212 que es la interfaz interna de AWS y otra llamada "montsegur" como el cliente rsyslog.
Dentro de los directorios puede encontrar los registros:
Conclusión:
El registro remoto ofrece una gran solución a un problema que puede hacer que los servicios caigan si el almacenamiento del servidor se llena de registros, como se dijo al principio, también es una necesidad en algunos casos en los que el sistema puede dañarse seriamente sin permitir el acceso a los registros. , en tales casos, un servidor de registro remoto garantiza el acceso del administrador del sistema al historial del servidor.
La implementación de esta solución es técnicamente bastante fácil e incluso gratuita, considerando que no se necesitan grandes recursos y los servidores gratuitos como los niveles gratuitos de AWS son buenos para esta tarea, si aumenta la velocidad de transferencia de registros, puede permitir solo el protocolo UDP (a pesar de perder confiabilidad). Existen algunas alternativas a Rsyslog como: Flume o Sentry, pero rsyslog sigue siendo la herramienta más popular entre los usuarios y administradores de sistemas de Linux.
Espero que haya encontrado útil este artículo sobre Cómo enviar registros de Linux a un servidor remoto.