Usar lnav en Linux para visualizar e inspeccionar logs

Siguiendo el tema que comenzamos a tratar en un post anterior, en esta oportunidad mostraremos cómo usar lnav en Linux para inspeccionar logs. También ilustraremos mediante ejemplos las ventajas que mencionamos anteriormente.

Usar lnav en Linux: formatos por defecto

En la Fig. 1 del post anterior vimos que lnav resalta con colores varios ítems en un log. Para lograr esto, se utilizan varios formatos de logs que lnav posee incorporados y que están presentes en ~/.lnav/formats/default/default-formats.json.sample. En este archivo y otros que se pueden agregar dentro de ~/.lnav/formats se utiliza el formato JSON (Javascript Object Notation) y las PCRE (Perl-Compatible Regular Expressions) para indicar qué se debe resaltar y cómo. Si las primeras líneas de un log que inspeccionemos no cumplen con ninguno de los formatos reconocidos, se tratará al mismo como un archivo de texto plano en vez de un log propiamente dicho. Como resultado, no será posible utilizar muchas de las herramientas que provee lnav. Pero podemos estar tranquilos que los formatos que se incluyen por defecto cubrirán muchas de las necesidades que tengamos.

Debido a que JSON y PCRE requieren un estudio detallado, no las incluiremos en este post.

Usos de teclas de acceso rápido y otras opciones

Antes de que continuemos, veamos una serie de teclas de acceso rápido y otras opciones que nos serán útiles para sacar el mayor provecho posible de lnav. Cuando nos referimos a página o vista estamos hablando de las pantallas a las que accedemos al iniciar el programa o sus menús.

  • e o E para saltar al próximo mensaje de error o al previo, respectivamente.
  • w o W para ir al próximo mensaje de warning o al previo, respectivamente.
  • b o Backspace para ir a la página previa.
  • Barra espaciadora para saltar a la próxima página.
  • g o G para desplazarse hacia el inicio o el fin de la vista actual.

Además, lnav nos permite incluir logs que hayan sido rotados, incluso si están comprimidos. Por ejemplo, para inspeccionar todos los logs de Apache en un servidor CentOS o similar, deberemos iniciar el programa de la siguiente manera:

lnav -r /var/log/httpd

Si quisiéramos examinar en detalle la manera en la que lnav está operando, podemos iniciar el programa en modo debug. Eso nos permite guardar la información de debug en un archivo. En el siguiente ejemplo esto se almacenará en lnav.txt dentro del directorio actual, como podemos ver en la Fig. 1:

lnav /var/log/httpd -d lnav.txt
Empezando a usar lnav en Linux
Figura 1 – Empezando a usar lnav en Linux

Dentro del recuadro rojo en la imagen anterior, vemos que al iniciar el programa se cargaron los formatos de logs incorporados. En particular, se utilizó el formato access_log para analizar los logs de acceso de Apache.

Más info y ejemplos de uso en el próximo post. ¡No se lo pierdan!

Deja una respuesta