Ficheros log: Toda la información de registro en un archivo
Cuando trabajas frente al ordenador, navegas en tu tablet u operas una página web desde un servidor, tienen lugar numerosos procesos que pasan inadvertidos ante cualquier usuario. En caso de que se presenten problemas, se produzcan errores o quieras conocer exactamente qué acciones ejecutan los sistemas operativos o los diferentes programas o servicios, puedes acceder a los llamados archivos log, en español ficheros de registro. Estos “logs” son gestionados por prácticamente todas las aplicaciones, servidores, bases de datos y sistemas de manera automática y permiten controlar (de forma centralizada) todos los procesos relevantes.
En general, los ficheros log no suelen evaluarse frecuentemente, pues cumplen una función similar a la de un registrador de vuelo que es inspeccionado solo en caso de emergencia. Como consecuencia del registro detallado de datos de los logs, estos son una fuente primordial a la hora de analizar errores de programa o del sistema, así como para determinar el comportamiento de los usuarios. Esto no solo resulta interesante para los fabricantes de software, sino también para propietarios de páginas web, quienes pueden acceder a información interesante desde los archivos de registro del servidor web.
¿Qué es un log?
Los logs son archivos de texto normales. Como su nombre indica, estos ficheros registran todos los procesos que han sido definidos como relevantes por el programador de la aplicación. Por ejemplo, en el caso de los archivos log de una base de datos se registran todos los cambios de aquellas transacciones completadas exitosamente. Así, en caso de que un fallo del sistema elimine información de la base de datos, el log será la clave para la restauración completa de la base de datos correspondiente.
Dependiendo de su programación, los ficheros log se generan automáticamente. Sin embargo, si se cuenta con los conocimientos necesarios, también será posible crear archivos de registro propios. En general, la línea de un log contiene:
- Evento recopilado (p. ej., inicio de programa)
- Marca de tiempo, que le asigna fecha y hora
Por lo general, la marca de tiempo se genera primero, con el fin de reflejar la secuencia cronológica de los eventos.
Aplicaciones típicas de los archivos log
Por defecto, los sistemas operativos crean múltiples logs en los que se registran y clasifican diferentes tipos de procesos. Los sistemas Windows realizan protocolos sobre eventos de aplicaciones (programas), eventos del sistema, eventos relacionados con la seguridad, eventos de configuración y eventos reenviados. Consultar la información contenida en un log puede ayudar a un administrador a solucionar problemas. Por ejemplo, los archivos de registro de Windows muestran cuándo un usuario se desconectó del sistema. Además de los sistemas operativos, los siguientes programas y sistemas también recogen, a su vez, diferentes datos:
- Programas de fondo como, por ejemplo, los servidores de correo electrónico, de bases de datos o proxy generan archivos de registro que almacenan principalmente mensajes de error, notificaciones de eventos y notas. Estos sirven principalmente para asegurar los datos y poder reestablecerlos.
- Software instalado como Office, juegos, programas de mensajería instantánea, cortafuegos o antivirus se vale de los archivos log para almacenar datos muy diversos (p. ej., configuraciones o mensajes de chat). Aquí la prioridad se sitúa en recolectar fallos de los programas para facilitar la solución rápida de problemas.
- Servidores (especialmente los servidores web) también protocolan una gran cantidad de actividades relevantes de la red, proporcionando información útil acerca de los usuarios y su comportamiento en la red. De esta forma, aquellos administradores experimentados que cuenten con los permisos suficientes, sabrán si un usuario inició una aplicación o solicitó un archivo, cuánto tiempo estuvo realizando una determinada actividad y desde qué sistema operativo lo hizo. El análisis de los archivos log de un servidor web es uno de los métodos más antiguos de control web y el mejor ejemplo de las posibilidades de un log.
Los logs de un servidor web: un claro ejemplo del potencial de estos ficheros
Originalmente, los ficheros de registro en servidores web como Apache o Microsoft ISS servían por defecto para detectar y corregir errores en los diferentes procesos. Sin embargo, rápidamente se descubrió que los logs de un servidor web podían proporcionar datos más valiosos como, por ejemplo, información acerca de la popularidad y usabilidad de la página web alojada, incluyendo la siguiente información sobre sus visitantes:
- Momento en que se visita la web
- Número de visitas
- Duración de la sesión
- Dirección IP y nombre de host del usuarioInformación sobre el cliente solicitante (por lo general, del navegador)
- Los buscadores utilizados, incluyendo términos de búsqueda
- Sistema operativo utilizado
Una entrada típica en un archivo de registro del servidor web tiene esta apariencia: 183.121.143.32 - - [18/Mar/2003:08:04:22 +0200] "GET /images/logo.jpg HTTP/1.1" 200 512 "http://www.wikipedia.org/" "Mozilla/5.0 (X11; U; Linux i686; es-ES;rv:1.7.5)" Aquí se explican los parámetros por separado:
Significado | Valor de ejemplo | Explicación |
Dirección IP | 183.121.143.32 | La dirección IP del solicitante |
Vacío | - | Por defecto, identidad RFC-1413 no identificada |
¿Quién? | - | Muestra al usuario en caso de que haya tenido lugar una autenticación HTTP, de lo contrario este espacio queda libre (como en este ejemplo) |
¿Cuándo? | [18/Mar/2003:08:04:22 +0200] | Sello de tiempo: fecha, hora e indicación de uso horario |
¿Qué? | "GET /images/logo.jpg HTTP/1.1" | El evento que tuvo lugar, en este caso la solicitud de una imagen a través de HTTP |
Ok | 200 | Confirmación de la solicitud (Código de estado HTTP 200 |
¿Cuánto? | 512 | En caso de tenerlo: cantidad de datos transferidos en bytes |
¿Desde dónde? | "http://www.wikipedia.org/" | Dirección web desde la que se solicitan los datos |
¿Con qué? | "Mozilla/5.0 (X11; U; Linux i686; es-ES;rv:1.7.5)" | Especificaciones técnicas del cliente: navegador, sistema operativo, kernel, interfaz de usuario, idioma, versión |
Herramientas como Webalizer permiten evaluar esta marea de información transformando estos datos en estadísticas, tablas y gráficos. Tales datos sirven principalmente para extraer las tendencias en el crecimiento de la página web, la facilidad de uso derivada de las páginas individuales o las palabras clave y temas más relevantes. Aunque aún se practica el análisis de logs de un servidor web, la aparición de nuevos métodos de análisis web como Cookies o Page Tagging lo han desplazado en gran parte. Las razones para ello son, en primer lugar, la tasa alta de error del análisis de archivos log en la asignación de sesiones y, en segundo lugar, el hecho de que el propietario de una página web muy rara vez puede acceder a los archivos de registro de un servidor web. Por lo general, todos los mensajes de error se registran inmediatamente y la respectiva compañía de hosting se apropia de los datos obtenidos a partir del análisis de los archivos de registro.