Logs del Apache: cómo tenerlos correctamente

papiroLlevaba bastante tiempo queriendo tener unos logs del Apache configurados muy decentemente pero hasta hoy no he conseguido comprobarlos y tenerlos bien. Más que nada todo viene por un problema que algunos seguro que os podéis encontrar.

Yo utilizo el programa WebLog Expert para mi sistema de estadísticas interno de los del Apache (donde realmente ves problemas del sistema y cosas que con sistemas de semilla, como Analytics, no se ven), y claro, cuando te encuentras con múltiples subdominios o cosas similares, eso empieza a hacer aguas.

Un ejemplo claro puede ser el de tener configurados múltiples subdominios en una misma configuración de Apache, lo que significa que todos los logs se guardan en un mismo fichero. Con esos sueles saber qué fichero se está leyendo, pero no sabes la URL completa, algo que desvirtúa todo.

Por defecto está el formato Common.

LogFormat "%h %l %u %t \"%r\" %>s %b" common

El problema de este formato es que te da información de visitas, pero no tienes información sobre Sistemas Operativos, el referente o cosas del estilo. Es decir, sirve para contar visitas y páginas vistas, pero poco más.

Hay un formato avanzado que es interesante, el Combined.

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

Con este, como más o menos se ve, añades los campos Referer y User-Agent a la información, por lo que los datos cruzados son mucho mayores. Aún así, seguimos teniendo un problema, y es que si usamos subdominios o múltiples dominios (o por ejemplo un WordPress MU) no tenemos diferenciados los sitios web.

Para ello deberíamos usar el CombinedVirtualHost, que básicamente es el mismo que el Combined pero añadiéndole un campo más.

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %V" combinedvhost

Este añade el dominio (con subdominios o lo que tenga, el «server name» por así decirlo) al final del todo, y a la hora de generar estadísticas nos incluirá las direcciones URL de forma completa.

Así que, ahora que ya tenéis esas definiciones de tipos de Log, sólo tenéis que entrar en el httpd.conf de vuestro servidor y configurarlos. Y una vez hecho, iros a la configuración de vuestros dominios virtuales y cambiar el «common» o «combined» por «combinedvhost».

Categorías WPO

1 comentario en “Logs del Apache: cómo tenerlos correctamente”

Deja un comentario