Analizar los logs del sistema en GNU/Linux con grep

gnu_linux_flat_wallpaper

Los archivos de registro, son una parte importante de GNU/Linux y otros sistemas basados en Unix, y muchas veces una de las primeras tareas que se deben hacer, cuando tienes que solucionar algún tipo de problema.

Los logs del sistema. están localizados principalmente en el directorio /var/log, los que lleváis mucho tiempo usando GNU/Linux seguramente sepáis para que sirven la mayoría de los diferentes archivos o subcarpetas, por ejemplo si queremos consultar cuales fueron los últimos usuarios en conectarse (lastlog), ver los logs del firewall, o el historial de vuestro gestor de software (el directorio “zypp” si utilizáis openSUSE).

En aquellas ocasiones en que queremos buscar algo mucho más específico o no sabemos donde encontrar exactamente los registros que buscamos, podemos utilizar el comando grep, una de las herramientas más utiles que existen en la linea de comandos y que creo que la mayoría de usuarios deberían conocer.

Esta es mi combinación favorita a la hora de buscar logs (ejecutar como root):

grep -ir file /var/log/*

En donde el parámetro -i ignora distinciones como mayúsculas/minúsculas; -r busca de forma recursiva en todos los subdirectorios, file los substituiremos por la cadena de texto a buscar, y /var/log/* es el directorio donde vamos a buscar esas coincidencias de texto

grep -ir conky /var/log/*

grep-image1

Para el ejemplo véis utilizo conky, una herramienta que nos proporciona información del sistema, pero podríamos usarlo con multitud de programas o para filtrar diferentes tipos de mensajes:

grep -ir syslog /var/log/*
grep -ir ssh /var/log/*
grep -ir warning /var/log/*
grep -ir critical /var/log/*

Como veis una manera de analizar los logs con una cierta comodidad. 🙂

Wallpapper | Dablin

7 thoughts on “Analizar los logs del sistema en GNU/Linux con grep”

  1. Héctor says:

    Muchas gracias por el tuto, vamos a ponerlo en práctica.
    Saludos

    1. tannhausser says:

      De nada! @hector

      Gracias a ti por pasarte y comentar!

  2. frnk_ says:

    Cuales serían las cadenas de texto más comunes para localizar fallos en el sistema? (Aparte de warning o critical).

    Gracias.

    1. tannhausser says:

      “security” “failed” “error” “invalid” son algunas de las que se me ocurren, seguro que hay unas cuantas más 🙂

  3. aldobelus says:

    Gracias por recordarme estas utilidades, tannhausser. Debería usarlas más pero soy un perezoso. El asunto es que, en este caso, la pereza puede ocasionar trabajar más. Una visita a los log puede facilitar encontrar la causa de cualquier problema.
    Ahora que he visto este artículo lo tendré más presente, como suele ocurrirme.
    Zenkiu!

    1. tannhausser says:

      De nada amigo…es de eses post que escribo para tener de chuleta y evitarme el googlear XD

  4. Walas says:

    Gracias, me resulto muy util el comando. Una pregunta es bueno centralizar los logs de diferentes servidores?.

Deja un comentario