Análisis de archivos log con GoAccess

Los archivos de registro o logs de un servidor web guardan información acerca del origen y el comportamiento de los visitantes de una página web. Por lo tanto, una evaluación detallada de los archivos log determina, por ejemplo, qué navegador utilizan los usuarios, cuánto tiempo permanecen en una web, cuántas subpáginas visitan y qué buscadores o enlaces los han conducido a ella. Gracias a estas y otras informaciones, los archivos log son una fuente primordial para valorar la facilidad de uso de un proyecto web, para implementar, así, las correspondientes estrategias de optimización. Debido a que es prácticamente imposible evaluar estos archivos de texto de forma manual, existen varias herramientas de análisis de archivos de registro, como Log Analyzer, que asumen la tarea y presentan gráficamente los resultados del análisis. Otro ejemplo interesante es la herramienta de código abierto GoAccess.

Los fundamentos de GoAccess

En julio de 2010, el desarrollador Gerardo Orellana publicó la primera versión de GoAccess. Inicialmente bajo la licencia GNU y desde 2016 bajo la licencia MIT, GoAccess puede ser utilizado de forma gratuita y adaptado a las necesidades propias. Actualmente, el software es gestionado y desarrollado por Orellana en la plataforma GitHub. 

La idea básica detrás de GoAccess es el análisis y la representación visual de estadísticas web en tiempo real. Para asegurarlo, el analizador de registros evalúa los distintos formatos de archivos log de servidores web y servicios en la nube como Apache, nginx, Amazon S3 o CloudFront y presenta los resultados gráficamente en un panel de control. GoAccess puede ser utilizado en sistemas UNIX desde el navegador o desde la línea de comandos. Alternativamente, los resultados del análisis pueden ser presentados en los formatos HTML, JSON o CVS. 

Los requisitos del sistema para utilizar GoAccess son mínimos y, debido a que está escrito en C, solo basta con que la plataforma cuente con la biblioteca C ncurses. Para utilizar GoAccess en sistemas operativos Windows, necesitas la colección de herramientas Cygwin, con las que también puedes utilizar otras aplicaciones Linux en Windows.

Las características distintivas de esta herramienta de código abierto

No se necesita ningún tipo de configuraciones específicas para implementar GoAccess. Basta con seleccionar el archivo log e iniciar el análisis para recibir cómodamente la información en tiempo real. Los datos se presentan en secciones individuales, donde no solo se muestran los valores para los periodos individuales de medición, sino que también se incluye un valor para el periodo total de revisión. Por defecto, los resultados están ordenados cronológicamente, pero también es posible filtrar los datos dependiendo del número de páginas vistas o de visitantes, del consumo de ancho de banda o del tiempo de carga de la página web (total, media o máxima). Algunos valores se pueden visualizar en gráficos de barras o diagramas de curvas. Además de la información mencionada anteriormente, en “Overall Analyzed Requests” GoAccess proporciona un resumen de todos los archivos de registro analizados hasta ahora. 

Los datos anteriormente mencionados son presentados tanto en el terminal como el panel del navegador (ambos en inglés) en atractivos gráficos y diagramas para que, rápidamente, puedas sacar conclusiones sobre la facilidad de uso de tu web y sobre tus visitantes. La siguiente tabla explica los diferentes aspectos cubiertos por GoAccess durante su análisis de los archivos log, resumiendo los resultados y su significado.

ValorTraducciónValor decisivoSignificado para el análisis web
Unique visitors per day – including spidersVisitantes únicos diarios, incluyendo bots Visitas, visitantes, fecha (Data)Todas las visitas realizadas desde una misma IP se cuentan como una única visita. Observar el número de visitantes durante un periodo de tiempo prolongado permite ver si las campañas y los contenidos han tenido éxito.
Requested Files (URLs)Datos solicitados (incluyendo URL)Visitas, ancho de banda, tiempo de carga (Avg., Cum., Max. T.S.), URL (Data)Esta sección presenta una visión general de los URL más solicitados. Aquí conocerás qué páginas de tu proyecto web son particularmente populares, así como la cantidad de ancho de banda consumida y la estabilidad de los tiempos de carga.
Static RequestsSolicitudes de contenido estático Visitas, ancho de banda, tiempo de carga, archivos (Data)Al igual que en el caso anterior, se muestran los URL más solicitados, pero únicamente para contenidos estáticos tales como gráficos, iconos o elementos de diseño.
Not Found URLs (404s)Direcciones URL no encontradas (Errores 404)Visitas, URL (Data)En esta categoría, los URL mencionados han llevado a los usuarios a encontrarse con el error 404. Con la ayuda de esta estadística podrás identificar y solucionar problemas de red o enlaces defectuosos. Recuerda que estos últimos tienen un impacto negativo para los usuarios y para los motores de búsqueda.
Visitor Hostnames and IPsNombre del host y direcciones IPCiudad, país, nombre del host, IP (Data)Esta sección ofrece información acerca de los proveedores y las direcciones IP de los visitantes. Adicionalmente, GoAccess proporciona datos sobre el país y lugar de origen. Aquí, el principal beneficio es poder presentar contenido personalizado a los usuarios. Sin embargo, dependiendo del país será necesario considerar la legislación de protección de datos para poder utilizar esta información.
Operating SystemsSistemas operativosVisitas, visitantes, sistema operativo (Data)Aquí se muestran los sistemas operativos que utilizan los visitantes. Esta información se utiliza principalmente para determinar el porcentaje del tráfico móvil.
BrowsersNavegadoresVisitas, visitantes, navegadores (Data)En esta zona se enumeran los tipos de clientes. En primer lugar podrás ver los números de los diferentes navegadores, pero también qué crawlers rastrean tu web, en caso de que los haya.
Time DistributionDistribución temporal de las visitasVisitas, visitantes, tiempos de carga, hora (Data)Recibirás un resumen exacto sobre los horarios de mayor tráfico. Con este criterio determinas exactamente en qué momentos del día tus usuarios son particularmente activos, con lo que podrás insertar publicidad o publicar contenidos con mucha exactitud.
Virtual HostsHosts virtualesVisitas, ancho de banda, host (Data)Si ejecutas más de un host virtual (dominios, direcciones IP) en tu servidor web, con la ayuda de esta estadística puedes filtrar aquellos recursos que demandan un mayor esfuerzo por parte de tu servidor.
Referrers URLsDirecciones URL de referencia Visitas, URL (Data)Los referrers son las direcciones URL que dirigieron al visitante a tu página web. Con esta estadística puedes filtrar los sitios asociados más fuertes, así como los criterios de búsqueda exactos cuando el visitante llegó a tu web desde un motor de búsqueda.
Referring SitesPáginas web de referencia Visitas, dirección web (Data)A diferencia de las estadísticas anteriores, aquí no obtendrás el URL, sino la dirección general del sitio de origen.
Keyphrases from Google's search engingeCriterios de búsqueda utilizados en GoogleVisitas, criterios de búsqueda Además de las estadísticas de URL, GoAccess ofrece una lista separada de los criterios de búsqueda, al menos para Google.
Geo LocationLocalización geográficaVisitantes, origen (Data)Esta sección ofrece la localización geográfica exacta de las direcciones IP del sistema del usuario. Sin embargo, este punto también implica las mismas cuestiones legales correspondientes a la protección de datos que para la categoría de nombre de host y usuario IP.
HTTP Status CodesCódigos de estado HTTPVisitas, código de estado (Data)Esta categoría ofrece una visión general de las respuestas del servidor. Con esta información puedes determinar si tu servidor web funciona correctamente y si los usuarios visualizan y acceden a tus contenidos sin ningún problema.

Así se instala y utiliza GoAccess

Para asegurarte de que estás instalando la versión más reciente de GoAccess, es recomendable utilizar el archivo de instalación disponible en su página oficial. Para gestionar la descarga y la instalación desde la línea de comando, necesitarás introducir el siguiente comando:

$ wget http://tar.goaccess.io/goaccess-1.0.tar.gz
$ tar -xzvf goaccess-1.0.tar.gz
$ cd goaccess-1.0/
$ ./configure --enable-utf8
$ make
# make install

No olvides que tener ncurses instalada en el sistema, en su versión más actual, es un requisito imprescindible para el correcto funcionamiento de GoAccess en nginx y Apache. En caso de que aún no lo hayas hecho, podrás configurar la biblioteca C con el siguiente código:

$ wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.7.tar.gz
$ tar xzf ncurses-6.0.tar.gz
$ cd ncurses-6.0
$ ./configure --prefix=/opt/ncurses
$ make
# make install
$ ls -la /opt/ncurses

Si deseas acceder a una documentación más detallada sobre las posibilidades de configuración de esta herramienta de análisis de archivos log, puedes visitar la versión en inglés del manual de GoAccess.