Lo que el log nos puede decir de nuestros visitantes
En los últimos artículos hemos estado explicando la importancia de conocer al público objetivo de una página web y cómo podemos crear formularios y otras herramientas para saber quién nos visita y qué le interesa. Hemos dejado para el final uno de los recursos más y mejor utilizados por los desarrolladores: el log de accesos. En la actualidad, cuando se trata de entender el uso que los visitantes hacen de nuestra web, confiamos habitualmente de servicios de analítica basados en Javascript. Especialmente, en el popular Google Analytics, un servicio gratuito que proporciona numerosa información útil. Aun así, también podemos apoyarnos en otras opciones para complementar sus datos. En esta ocasión, nos centraremos en una de las más utilizadas en los departamentos técnicos: el log de accesos generado por el servidor.
¿Qué es el log?
El log es un archivo que contiene el registro de acciones que un servidor realiza en su trabajo constante. Básicamente, lo que encontramos es un listado con cada una de las peticiones que se realizan a un servidor, de manera secuencial a lo largo del tiempo.
Analizar logs no sólo nos informa de las páginas web solicitadas, sino también los CSS, scripts y cada una de las imágenes que componen un sitio. Debemos tener en cuenta que cada visita puede solicitar varias páginas y cada página contiene decenas de archivos que se mandan por separado y que se apuntan rigurosamente en el log. Por ello, es normal que se trate de archivos grandes en peso y contenido.
Dependiendo del servidor, el log puede tener diversos formatos, pero más o menos contendrá una información parecida a la que sigue:
144.50.79.163 - - [05/Dec/2016:17:11:55 +0000] 'GET /pagina.html HTTP/1.1' 200 140 '-' 'Mozilla/5.0 AppleWebKit/535.19 (KHTML, like Gecko) Chrome/42.0.1025.5 Safari/535.19'
Aquí podemos ver:
- La IP del visitante.
- Fecha y hora del acceso.
- Tipo de operación que se solicita (GET, POST…).
- El documento solicitado dentro del servidor.
- El código de respuesta (200, 404…).
- El agente que solicita la página, descrito con mediante el navegador, sistema, etc.
- El referrer, el sitio desde donde llegaron a este recurso.
¿Qué información podemos extraer de analizar logs?
El log nos permite saber muchas cosas, principalmente sobre el uso que los usuarios están realizando de nuestro sitio o aplicación. Permite rastrear el recorrido de páginas que un usuario ha realizado, y al que reconocemos por su IP. Con esta información, podemos saber si realmente ese uso realizado corresponde a los patrones de comportamiento considerados normales, o si existe algún cuello de botella o página que esté atascando a las personas.
Esta información es cierto que se puede obtener también de un servicio de estadísticas basado en Javascript, pero éstos no nos informan sobre otros datos interesantes, como las solicitudes a otro tipo de archivos que no sean simples páginas web. Desde el log, podemos observar si el uso de los recursos alojados en el servidor también tiene un flujo normal, como imágenes, o scripts, y averiguar cosas como si las están enlazando «en caliente» desde sitios que no son el nuestro.
Otro asunto interesante que se podrá obtener del log y no desde servicios de analítica Javascript son los errores del servidor, como las páginas no encontradas (código 404) o los errores en el código de la aplicación (5XX). También podremos investigar así posibles errores de navegación.
Limpieza y análisis del log
Lógicamente, el log contiene mucha información redundante y conviene realizar algún tipo de limpieza antes de su análisis por las personas, para facilitar la extracción de los datos.
Existen herramientas que nos facilitan esta labor. Algunas se instalan en el servidor y permiten analizar los log online, incluso con la posibilidad de acompañar en tiempo real distintos tipos de sucesos.
En la propia Wikipedia podremos encontrar diversos programas de estadísticas, tanto de código libre como propietario de código libre y propietario, pero en esta ocasión convendría centrarnos en las basadas en los archivos log. Otras, mediante un log descargado, permite obtener diversos tipos de información en nuestro ordenador personal, como Web Log Expert.
Para el entorno profesional , encontraremos otras opciones, capaces de ofrecer información contrastada automáticamente por diversos criterios, filtrada y en tiempo real, como el software libre Logstash, de la suite de herramientas de Elastic, o el freemium Logz.io.