"Si tú no trabajas por tus sueños, alguien te contratará para que trabajes por los suyos”

Steve Jobs

Afiliado
Dominios3Euros

No existe programas sin errores, por ello la revisión de logs  y registros es fundamental

Por que control log  y clasificación programa gestión logs

El revisar logs o registros es fundamental en programación, ya que es la única forma en la que te puede evitar caídas y problemas de tus desarrollos. Estos archivos de registro(logs) lo ideal que no tuviera muchos registros, y no fueran muy grandes, pero todos sabemos que esto no es así, por ello debemos buscar herramientas que nos faciliten lectura de esto logs.

Cada vez invierto mas tiempo buscar y analizar este tipo ficheros, muchas de las aplicaciones vale para muchos tipo de registros, logs y ficheros, pero bueno aquí vamos a centrarnos en los registros de apache, ya que son los que revisamos diariamente.

Cuando tienes una web el numero registros y posible advertencia o errores puede ser muy elevados, si tiene muchas visitas ese servidor. Normalmente revisamos tanto logs de acceso, como los  errores de php.

Hasta la versión 7.x  de php, los errores venía en una o un par de lineas, en la version 8.x por defecto php hace un trace del error, por lo que un simple warning puede contener mas 10 lineas de registro en el sistema log.

Estos son los motivos por lo que hago es post, para ir buscando información de los posibles programas que me pueda facilitar la tarea revisar los logs.

En la búsqueda me puede encontrar programas con las características de ser :

  • De consola o con interfaz GUI (escritorio, movil, web, ...)
  • De head o cola (tail), es decir que empiecen por la 1 lineas o que empiecen por final.
  • Programas de sistema opertaivo que vienen por defecto

Estas dos características son fundamentales para el tipo usuario que seas, por lo que intentare probar varias de cada tipo, para poder ver comprobar cual sería la mejor para mi, aunque estoy casi seguro que será consola. :-)

Aplicaciones con interfaz GUI para leer y analizar ficheros registros:

  • Gnome Logs
  • Splunk
  • Sumo Logic
  • LogStash
  • GrayLog
  • Loggly
  • PaperTrails
  • ...

Programas de consola para leer y analizar ficheros registros (logs):

  • head
  • tail
  • cat
  • less
  • lnav

 

¿ Primeros problemas con este tipo ficheros ?

El primer problema que nos solemos encontrar pueden ser ficheros muy grandes, aunque esto suele pasar cuando vas hacer análisis y estadísticas, no cuando va corregir errores, pero bueno si necesitas cortar ficheros en texto plano, hay herramientas en cosola super interesantes y sencillas.

Como cortar un fichero muy grande y pesado

Con la instrucción split , ser puede dividir un fichero en pedazos.

Hay muchas veces que podemos necesitar dividir los ficheros:

Lo podemos hacer por lineas:

split -l 24000 nombreficherooriginal  nombredestino[suffix]

Explicacion del comando anterior:
El comando anteriorr lo que hace es dividir el fichero [nombreficheroriginal] cada 24000 lineas y crear tantos ficheros [nombredestino] con [suffix] por defecto letras.

Dividir por peso:

split nombreficherooriginal  -b 20MB nombrefichero[suffix]

En el ejemplo anterior , lo que hace es dividir el fichero en bloque de 20MB

Aplicaciones con interfaz GUI

Aplicaciones que tiene interfaz grafica para analizar y leer ficheros de registros y log. Este tipo a aplicaciones normalmente tienen muchas opciones, como puede ser filtrar, tratar varios ficheros, y seguro muchas mas. Como desventaja que tambien son mas lentas a la hora procesar o ver ficheros.

Gnome Logs

 Este aunque sea el primero de la lista, es el ultimo que encontre, me tiene muy buena pinta, lo encontre este Post de esgeeks.com: Como revisar logs, lo que muestra en ese post que habla de varios tiene buena pinta.

 

Programas de consola para logs

Somos pro terminal por naturaleza y por edad :-) , por ello lo recomendamos , utilizar programar a ejecutar desde terminal que nos faciliten la lectura de estos ficheros sin necesidad utilizar aplicaciones pesada, incluso desde terminal podemos cargar todo el fichero, con programas como :

Ahora vamos ver la ventajas y desventajas de cada uno la lista anterior.

 

 Tail para leer log

 Con la siguiente instrucción nos lee constantemente las ultimas lineas del log que le indiquemos

tail -f error.log

Este programa queda activo mientras no lo canceles con CTRL+c, por lo que si se produce un error te va añadiendo lineas.

Me parece super interesante tenerlo activo mientras estas programando en proyecto y estas en desarrollo.

Cat para leer logs

Este nos hace un lectura rápida del fichero, no muestra el texto por pantalla, todo de un sopetón, por lo que vemos el final del fichero.

cat error.log

Si el fichero estuviera comprimido, como error.log.2.gz, algo típico en servidores para guardar históricos de errores, pues la instrucción seria este otro comando:

zcat error.log2.gz

No muestra el fichero entero por pantalla.

Less para leer ficheros.

La gran diferencia entre los programas "less" y "cat" es que cat muestra todo y less nos muestra pagina a pagina empezando por el principio. Pulsando ESPACIO salta a la siguiente pagina, asi hasta el final del fichero.

 

 LNAV leer ficheros registro 

Nos muestra listado de todas lineas , pero si la lineas son muy grandes no hace varias lines, le pone colores a los datos, por lo que a simple vista es mas legible.

 

Programas de sistema opertaivo que vienen por defecto

Esto programas son aquellos que los propios sistemas operativos ya los traen por defecto, que normalmente son los que utiliza el técnico de sistemas para solucionar problemas.

dmesg :Mostrar los mensajes sistema

El comando dmesg es la herramienta que utiliza linux para poder mostrar los mensajes que guarda el sistema (syslog) en el buffer, los mensajes del kernel .

dmesg

Muestra todos los mensajes de buffer por pantalla.

Creo una entrada, donde explico con un poco mas detalle dmesg.