Log file analysis: esto revelan los registros sobre tus usuarios
Por regla general, para que un equipo informático funcione correctamente, el sistema operativo lleva a cabo varios procesos al mismo tiempo, aunque la mayor parte de estas tareas tiene lugar en un segundo plano, de forma imperceptible para el usuario. Para poder llevar un registro de las acciones que ejecutan los diversos programas, estas se protocolan automáticamente en forma de archivos de registro o log files, que memorizan actividades y eventos de las aplicaciones, tales como mensajes de error, cambios de configuración, accesos a programas o informes de fallos. Estos registros facilitan información sobre la funcionalidad de los programas que permitiría, por ejemplo, iniciar acciones de reparación. En el caso de realizar el mantenimiento de un servidor web, esta información también atañe al comportamiento general de los usuarios que visitan una página. Esto es lo que se denomina análisis de los archivos de registro o log file analysis.
En qué consiste un log file analysis
El denominado log file analysis, también a menudo referido como log analytics, designa el proceso de inspección y evaluación de los archivos de registro, un método que puede servir, entre otras cosas, para hacer un seguimiento de errores de transferencia en la base de datos o en el correo electrónico o para supervisar las actividades del cortafuegos. Sin embargo, su uso más común se da en el marco de la optimización para los buscadores, porque evaluando los archivos de registro en el servidor se extraen datos sobre los usuarios y sus acciones, como por ejemplo:
- La dirección IP y el nombre de host
- El momento exacto del acceso
- El navegador utilizado
- El sistema operativo del usuario
- El enlace o URL desde el que accede
- El buscador y las palabras clave que ha utilizado el usuario
- La permanencia en la página
- El número de subpáginas visitadas
- La última subpágina que ha abierto antes de abandonar la web
Esta información configura un volumen tan amplio de datos que hace de su análisis manual algo imposible. En este punto es donde intervienen las herramientas de análisis, que son capaces de presentar la información más relevante visualmente. La tarea del analista consiste, entonces, en extraer las conclusiones correctas a partir de los datos visualizados por el programa. Además de la supervisión de los usuarios que han visitado la página, los archivos de registro del servidor web también se utilizan para determinar errores de índole técnica en relación con la red, las aplicaciones o componentes aislados, problemas de seguridad o accesos automatizados mediantes bots.
Server log analysis: problemas típicos y soluciones
El mayor inconveniente del log file analysis es que HTTP es un protocolo sin estado, lo que significa que este protocolo de transferencia, que es el responsable de la comunicación entre el servidor y el cliente, trata a cada petición de forma independiente. En consecuencia, el servidor web asigna dos instancias diferentes a dos aperturas de una página por parte de un mismo cliente, algo muy poco práctico a la hora de analizar el comportamiento general de un usuario. Para evitar esta problemática se dispone de dos soluciones: 1. Adjudicar un identificador de sesión (Session ID): este consiste en un número generado en el servidor que se almacena en el navegador del usuario, de tal forma que señaliza todas las peticiones al servidor que se realizan desde este navegador y permite recogerlas agrupadas en una sola sesión. Se puede asignar de dos formas:
- Puede usarse una cookie que se almacena en el cliente con la primera solicitud y que se transmite con cada contacto posterior al servidor. Sin embargo, como las cookies no son visibles en los archivos de registro, requieren una programación especial para poder realizar el análisis.
- El identificador de sesión puede ser remitido como parámetro URL, aunque estos enlaces, específicos para cada usuario, suponen un trabajo de programación considerable. Desde el punto de vista del SEO, los URL individuales también generan problemas, porque, en cada visita, el crawler puede acceder al mismo contenido en otros URL, lo que puede hacer que lo considere contenido duplicado.
2. Identificación del usuario mediante la dirección IP: si todas las acciones de un usuario se pueden deducir de la misma dirección IP, se pueden asignar inequívocamente. Condición para ello, según muchos expertos en protección de datos, es que el usuario haya aceptado previamente el registro de su dirección IP completa para su análisis. Los problemas en este método aparecen siempre cuando los usuarios reciben su IP de forma dinámica y es, en consecuencia, registrada varias veces, o cuando varios usuarios, como podrían ser servidores proxy, utilizan la misma IP.
3. Medidas independientes del servidor: los denominados píxeles de seguimiento, elemento básico del page-tagging que se integra en una página web de forma invisible, entregan información adicional sobre, entre otras cosas, la resolución de la pantalla y los plugins instalados en el navegador del usuario. Si se cruza su análisis con la dirección IP y la información sobre el navegador y el sistema operativo, es posible diferenciar en cierta medida a los usuarios, aunque nunca totalmente. Sí es posible realizar un seguimiento con ayuda de los pixel widgets o elementos Ajax, pero un log analysis simple no revela ninguna información sobre la manera de usarlos. Otro problema del log file anlysis se deriva de la función de caching del navegador web o del servidor proxy, porque, aunque acelera la entrega de los datos solicitados, también es la responsable de que, en ocasiones, los usuarios no tengan contacto con el servidor web. Aquellas peticiones que impliquen contenido almacenado en la memoria caché aparecen en los archivos de registro del servidor de forma restringida (código de estado 304 “Not modified”). Cabe mencionar, por último, que el registro, el almacenamiento y la evaluación de los accesos al servidor requieren recursos adicionales, en especial en el caso de proyectos con mucho tráfico de visitas. Además, un log file analysis no tiene en cuenta indicadores clave como la tasa de rebote o la permanencia de las visitas, por lo cual este método se erige más en complemento de otros instrumentos que en método único de análisis.
Cómo se evalúan los archivos de registro
Para hacerse una idea de cómo se lleva a cabo un log file analysis, lo mejor es asomarse a un archivo de registro para observar cómo se estructura. Para ello se puede tomar como ejemplo el registro de un servidor Apache que lleva el nombre de access.log y se genera automáticamente en el directorio apache.
Qué información proporciona el access.log de Apache
Los registros generados se almacenan en el denominado Common log format (NCSA Common log format) o formato común de registro, con una sintaxis que viene dada y tiene este aspecto:
%h %I %u %t "%r" %>s %b
Los elementos que lo componen contienen la siguiente información:
%h | Dirección IP del cliente |
---|---|
%I | Identidad del cliente, que no se revela por defecto. Como consecuencia, en esta posición se suele encontrar un signo -, que señala la falta de un dato en el logfile. |
%u | User ID del cliente que se adjudica, por ejemplo, en la protección de directorios con autenticación HTTP. Normalmente no se vuelve a asignar. |
%t | Fecha y hora del momento de acceso |
%r | Información sobre la petición HTTP (método, recurso solicitado y versión del protocolo) |
%>s | Código de estado con el que el servidor responde a la solicitud |
%b | Volumen de datos transferidos en Bytes |
Un registro completo en el access.log podría resultar así:
203.0.113.195 - user [07/Oct/2016:10:43:00 +0200] "GET /index.html HTTP/2.0" 200 2326
En este caso, el cliente con la dirección IP 203.0.113.195 y el User ID user ha solicitado, el día 7 de octubre de 2016 a las 10:43 horas, el archivo index.html. En la operación ha usado HTTP/2.0. El servidor ha respondido con el código de estado 200 (petición procesada con éxito, el resultado es transferido) y ha enviado 2326 bytes. En el archivo httpd.conf se puede ampliar este registro con dos datos más, añadiendo al formato los componentes \"%{Referer}i\" y \"%{User-agent}i\". De esta manera se puede conocer desde qué enlace (“Referer”= “referente”) o qué página han llegado las visitas a la web, así como qué programa cliente y qué sistema operativo (“User agent”= “agente de usuario”) utilizan. Gracias a estos últimos, el denominado Combined Log Format o formato de registro combinado, facilita también la verificación de aplicaciones externas que solicitan datos del servidor web, como podrían ser programas de correo electrónico e imágenes integradas, pero también las arañas del buscador y los spambots. En nuestro artículo introductorio a los archivos de registro encuentras más información sobre las características de los logfiles.
Herramientas de log file analysis
Siempre y cuando se ostenten los derechos necesarios para acceder a los archivos de registro de un servidor web es en teoría posible revisar manualmente cada uno de los accesos de los clientes al proyecto sin requerir ningún medio adicional. Sin embargo, si, por ejemplo, una página web cuenta con 1.000 visitas diarias, cada una de las cuales abre, de media, 10 subpáginas, diariamente resultarían 10.000 nuevos registros –en los que no se incluyen las solicitudes de los contenidos integrados–, un volumen tal cuya evaluación manual no es mucho más que improbable. En casos así, se requieren herramientas de log analytics que permitan exportar y segmentar los datos. Si el volumen de los archivos de registro es razonable, se pueden utilizar programas de procesamiento de datos al uso como Microsoft Excel. Para ello, el archivo de registros se exporta en formato .csv, como se describe en el siguiente manual de Microsoft. Los datos exportados se pueden estructurar en una hoja de cálculo clasificándolos, por ejemplo, en función de la dirección IP, del código de estado o del Referer. Sin embargo, dado que existe cierta limitación en cuanto al tamaño del fichero importado, los resultados de un análisis con Excel reflejan solamente un momento puntual. Para evaluar el tráfico a largo plazo a partir de archivos de registro se recomienda, por esto, la utilización de los logfile analyzers, que, al contrario que los programas de cálculo, se han desarrollado explícitamente para la representación gráfica y la evaluación de los archivos de registro. Los indicadores extraíbles de los logfile que ya se han mencionado más arriba se representan visualmente en paneles de control accesibles desde cualquier navegador al uso, en parte en tiempo real, como sucede con la herramienta open source GoAccess.
Log file analysis y protección de datos
Al contener información sobre los usuarios que visitan cierta página web, un análisis de archivos de registro también tiene que ver con la privacidad, aunque, a este respecto, cabe mencionar dos aspectos importantes.
Por un lado, este procedimiento ostenta la ventaja de que permite guardar todos los datos registrados en el propio servidor, así que, en el caso de que este, y con él el archivo de registros, se aloje en un proveedor externo, habría que informarse de las garantías de protección de datos que ofrece. Aquí es importante tener en cuenta que los servidores se encuentren localizados dentro de la UE para poder garantizar un alto grado de integridad de los datos y se pueda proteger la esfera privada de los usuarios de la forma adecuada. Herramientas de seguimiento como Google Analytics nunca dejan de despertar dudas en este sentido, algo nada raro si se piensa que la información de los usuarios se deposita en los servidores del consorcio, que residen en su mayor parte en Estados Unidos.
El segundo punto importante guarda relación con la cuestión de las referencias personales de los datos recogidos con el log analysis. Mientras que datos como el momento del acceso, las páginas visitadas o el navegador utilizado prácticamente no revelan nada sobre los individuos en sí, la situación en lo referente a la dirección IP se revela algo diferente. Sobre todo en el caso de direcciones IP otorgadas estáticamente, los expertos en protección de datos critican la probabilidad, al menos teórica, de poder establecer una relación directa con una persona. Por lo general, se recomienda a los administradores web almacenar las direcciones de forma anónima y borrarlas en una semana como máximo, siempre y cuando no conste ninguna obligación legal de conservación de esta información.
Sin embargo, esta opción no es viable a la hora de evaluar los archivos de registro, ya que esta anonimización no permitiría unificar las diferentes acciones de un único usuario. Lo mejor en este caso sería informar al usuario previamente del registro de la dirección IP con objetivos de analítica web.
Evaluación de logfiles: la base sólida de la analítica web
El registro de los datos de usuario se cuenta entre los medios más relevantes a la hora de medir el éxito de una empresa web. Observar con regularidad el desarrollo del tráfico y el comportamiento de los usuarios es lo que permite ajustar la oferta a la audiencia. A diferencia del seguimiento llevado a cabo con herramientas como Piwik o Google Analytics, el log file analysis se apoya en datos que se registran en el servidor de forma estándar y sin la intervención de JavaScript (los datos pueden ser registrados incluso cuando el usuario bloquea estos scripts). No obstante, esta ventaja está ligada también a ciertas limitaciones, pues mientras que este sistema permite la clasificación de cada acceso a determinadas sesiones de un usuario, aunque de forma bastante más compleja que en el caso del seguimiento con cookies, el análisis no incluye indicadores tales como la tasa de rebote o la permanencia exacta de las visitas en la página.
La memoria caché de los programas cliente también conlleva una dificultad añadida, porque facilita el envío de peticiones de usuario sin contacto con el servidor que aparecen en los registros del servidor web en forma abreviada. Las direcciones IP dinámicas impiden, asimismo, asignar los diversos accesos a los diferentes usuarios. Todo esto hace que los resultados de un análisis de archivos de registro se tengan que considerar como la foto de un momento puntual y, en función del tamaño del proyecto, se tenga que acudir a otros métodos analíticos complementarios.
En cualquier caso, haciéndose cargo personalmente del alojamiento y de la evaluación de los archivos e informando a las visitas del registro de datos como la dirección IP, se sientan las bases de la evaluación del comportamiento de los usuarios en la página conforme a la ley de protección de datos. No hay que olvidar que, especialmente en la diferenciación del tráfico móvil y de escritorio, así como en el registro de bots como el crawler de Google, el análisis de logs resulta de gran utilidad.