Una de las tareas fundamentales de todo sysadmin es analizar logs. Estos registros nos permiten monitorear el comportamiento de los servicios que se hallan en ejecución en nuestro sistema. En posts anteriores hablamos sobre el uso de tail y multitail para realizar esta tarea. En esta oportunidad explicaremos cómo instalar lnav en Linux para examinar logs mediante la línea de comandos. Esta herramienta nos permite inspeccionar logs de una manera muy fácil y cómoda. Incluye un parseador de logs incorporado y hasta la posibilidad de utilizar SQL para ver la información estrictamente necesaria, entre otras posibilidades.
Instalar lnav en Linux
Para empezar, veamos utilizar el gestor de paquetes que corresponda a nuestra distribución para instalar lnav en Linux:
En Debian y similares:
aptitude install lnav
En CentOS deberemos asegurarnos de que el repositorio EPEL esté habilitado previamente:
yum install epel-release && yum install lnav
Luego de instalar el paquete, podemos ver a lnav en acción fácilmente. Simplemente tendremos que ejecutar el programa seguido de la ruta absoluta a un directorio donde estén ubicados los logs que queramos examinar. Utilizando /var/log/httpd como ejemplo:
lnav /var/log/httpd
Si la herramienta se instaló correctamente, deberíamos ver algo similar a lo que se muestra en la Fig. 1 (el análisis lo dejamos para el próximo post):
Para salir, bastará presionar la tecla q.
A continuación, repasararemos las principales características de lnav.
Características distintivas de lnav
Como veremos, esta herramienta es sumamente versátil ya que nos permite:
- Examinar TODOS los logs ubicados dentro del mismo directorio simultáneamente sin necesidad de abrir múltiple archivos. Esto incluye aquellos que hayan sido rotados, incluso cuando estén comprimidos.
- Mostrar histogramas de la información presente en una serie de logs.
- Utilizar SQL estándar para filtrar el contenido de los logs y presentar el resultado en formato de tabla.
- Parsear la información mostrada por pantalla para facilitar el análisis.
En el próximo post veremos ejemplos de cada una de estas características. ¡No se lo pierdan!