Si eres un administrador de sistemas Linux, una de las primeras herramientas a las que recurrirás para solucionar problemas son los archivos de registro (también conocidos como logs). Estos archivos contienen información crucial que puede ayudarte en gran medida a resolver los problemas que afectan a tus escritorios y servidores. Para muchos administradores de sistemas (especialmente los de una clasificación de la vieja escuela), nada supera la línea de comandos para verificar los archivos de registro. Pero para aquellos que prefieren tener un enfoque más eficiente (y posiblemente moderno) para la solución de problemas, hay muchas opciones.
En este artículo, resaltaré algunas de las herramientas disponibles para la plataforma Linux. No entraré en herramientas de registro que puedan ser específicas de un determinado servicio (como Kubernetes o Apache), y en su lugar, me centraré en las herramientas que trabajan para mirar las profundidades de toda la información escrita en /var/log.
Tabla de contenidos
¿Qué es /var/log?
Si eres nuevo en Linux, es posible que no sepas qué contiene el directorio /var/log. Sin embargo, el nombre es muy revelador. Dentro de este directorio se encuentran todos los archivos de registro del sistema y cualquier servicio importante (como Apache, MySQL, MariaDB, etc.) instalado en el sistema operativo. Abre una ventana de terminal y ejecuta el comando cd /var/log. Síguelo con el comando ls y verás todos los diversos sistemas que tienen archivos de registro que puedes ver.
Digamos, por ejemplo, que quieres ver el archivo de registro de syslog. Ejecuta el comando less syslog y podrás desplazatse por todos los detalles de ese registro en particular. Pero, ¿y si el terminal estándar no es para ti? ¿Qué opciones tienes? Muchas. Echemos un vistazo a algunas de estas opciones.
Logs
Si usas el escritorio de GNOME (u otro tipo, ya que los registros se pueden instalar en más escritorios), tiene a tu alcance un visor de registros que, principalmente, solo agrega un poco amigabilidad sobre los archivos de registro para crear algo tan simple y eficaz. Una vez instalado (desde los repositorios estándar), abre Registros en el menú del escritorio y verás una interfaz (Figura 2) que te permite seleccionar entre varios tipos de registros (Importantes, Todos, Sistema, Seguridad y Hardware), así como seleccionar un período de arranque (desde el menú desplegable superior central), e incluso buscar en todos los registros disponibles.
KSystemLog
KSystemLog es para KDE lo que Logs es para GNOME, pero con algunas características más para agregar a la mezcla. Aunque ambos hacen que sea increíblemente sencillo ver los archivos de registro de tu sistema, solo KSystemLog incluye líneas de registro coloreadas, visualización con pestañas, copia de las líneas de registro al portapapeles del escritorio, capacidad incorporada para enviar mensajes de registro directamente al sistema, leer la información detallada de cada registro línea, y más. KSystemLog ve todos los mismos registros que se encuentran en los registros de GNOME, solo que con un diseño diferente.
Desde la ventana principal (Figura 3), puedes ver cualquiera de los diferentes registros (de Registro del sistema, Registro de autenticación, Registro de X.org, Registro diario), buscar los registros, filtrar por fecha, host, proceso, mensaje y seleccionar prioridades de registro.
Si haces clic en el menú de la ventana, puedes abrir una nueva pestaña, donde puedes seleccionar una combinación diferente de registro/filtro para ver. Desde ese mismo menú, puedes incluso duplicar la pestaña actual. Si quieres agregar manualmente un registro a un archivo, haz lo siguiente:
- Ejecuta KSystemLog.
- Haz clic en Archivo> Agregar entrada de registro.
- Crea tu entrada de registro (Figura 4).
- Clica OK
KSystemLog hace que ver los registros en KDE sea una tarea increíblemente fácil.
Logwatch
Logwatch no es una herramienta GUI de lujo. En cambio, logwatch te permite configurar un sistema de registro que te enviará alertas importantes por correo electrónico. Puedes recibir esas alertas por correo electrónico a través de un servidor SMTP o simplemente verlas en la máquina local. Logwatch se puede encontrar en los repositorios estándar para casi todas las distribuciones, por lo que la instalación se puede realizar con un solo comando, así:
sudo apt-get install logwatch
O:
sudo dnf install logwatch
Durante la instalación, se te pedirá que selecciones el método de entrega para las alertas (Figura 5). Si optas por ir solo a la entrega de correo local, deberás instalar la aplicación mailutils (para que puedas ver el correo localmente, a través del comando de correo).
Todas las configuraciones de Logwatch se manejan en un solo archivo. Para editar ese archivo, ejecuta el comando sudo nano /usr/share/logwatch/default.conf/logwatch.conf. Querrás editar la opción MailTo =. Si estás viendo esto localmente, configúralo con el nombre de usuario de Linux al que deseas que se envíen los registros (como MailTo = Jose). Si está enviando estos registros a una dirección de correo electrónico externa, también deberás cambiar la opción MailFrom = a una dirección de correo electrónico legítima. Desde ese mismo archivo de configuración, también puedes establecer el nivel de detalle y el rango de registros que se enviarán. Guarda y cierra ese archivo.
Una vez configurado, puedes enviar tu primer correo con un comando como:
logwatch --detail Med --mailto ADDRESS --service all --range today Where ADDRESS is either the local user or an email address.
Para obtener más información sobre el uso de Logwatch, ejecuta el comando man logwatch. Lee la página del manual para ver las diferentes opciones que se pueden usar con la herramienta.
Rsyslog
Rsyslog es una forma conveniente de enviar registros de clientes remotos a un servidor centralizado. Supongamos que tienes un servidor Linux que deseas utilizar para recopilar los registros de otros servidores Linux en tu centro de datos. Con Rsyslog, esto se hace fácilmente. Rsyslog debe instalarse en todos los clientes y en el servidor centralizado (emitiendo un comando como sudo apt-get install rsyslog). Una vez instalado, crea el archivo /etc/rsyslog.d/server.conf en el servidor centralizado, con el contenido:
#Provide UDP syslog reception $ModLoad imudp $UDPServerRun 514 # Provide TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514 # Use custom filenaming scheme $template FILENAME,"/var/log/remote/%HOSTNAME%.log" *.* ?FILENAME $PreserveFQDN on
Guarda y cierra ese archivo. Ahora, en cada máquina cliente, crea el archivo /etc/rsyslog.d/client.conf con este contenido:
$PreserveFQDN on $ActionQueueType LinkedList $ActionQueueFileName srvrfwd $ActionResumeRetryCount -1 $ActionQueueSaveOnShutdown on *.* @@SERVER_IP:514
Donde SERVER_IP es la dirección IP de tu servidor centralizado. Guarda y cierra ese archivo. Reinicia rsyslog en todas las máquinas con el comando:
sudo systemctl restart rsyslog
Ahora puedes ver los archivos de registro centralizados con el comando (ejecutar en el servidor centralizado):
tail -f /var/log/remote/*.log
El comando tail te permite ver esos archivos a medida que se escriben, en tiempo real. Deberías ver aparecer entradas de registro que incluyen el nombre de host del cliente (Figura 6).
Rsyslog es una gran herramienta para crear un único punto de entrada para ver los registros de todos tus servidores Linux.
Post original en: maslinux.es