Cómo instalar GoAccess Web Log Analyzer en Ubuntu 20.04

GoAccess es una herramienta de análisis de weblogs gratuita y de código abierto que sirve para analizar los registros en tiempo real. Puedes analizar los registros a través de un navegador web o de un terminal. Es rápido y ligero, por lo que no puede consumir una gran cantidad de tu CPU y memoria. Utiliza el Formato de Registro Común para analizar los registros del servidor web. Soporta HTTP/2 e IPv6 y tiene la capacidad de generar JSON y CSV.

GoAccess proporciona estadísticas muy útiles a los administradores del sistema, entre las que se incluyen, los principales visitantes, el ancho de banda, los sitios y URLs de referencia, los sistemas operativos, la ubicación IP, el DNS inverso, la geolocalización, el código de estado HTTP y mucho más.

En este tutorial, te mostraremos cómo instalar y utilizar GoAccess en Ubuntu 20.04.

Requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Una contraseña de root configurada el servidor.

Cómo empezar

Antes de empezar, tendrás que actualizar los paquetes del sistema a la última versión. Puedes actualizarlos mediante el siguiente comando:

apt-get update -y

Una vez que tu servidor esté actualizado, puedes pasar al siguiente paso.

Instalar GoAccess desde el repositorio de Ubuntu

Por defecto, GoAccess no está incluido en el repositorio por defecto de Ubuntu. Así que tendrás que añadir el repositorio de GoAccess a tu sistema.

Primero, descarga y añade la clave GPG con el siguiente comando:

wget -O - https://deb.goaccess.io/gnugpg.key | apt-key --keyring /etc/apt/trusted.gpg.d/goaccess.gpg add -

A continuación, añade el repositorio de GoAccess con el siguiente comando:

echo "deb http://deb.goaccess.io/ $(lsb_release -cs) main" | tee -a /etc/apt/sources.list.d/goaccess.list

Una vez añadido el repositorio, actualiza la caché del repositorio e instala GoAccess con el siguiente comando:

apt-get update -y
apt-get install goaccess -y

Esto instalará GoAccess en tu sistema.

Instalar GoAccess desde el origen

También puedes instalar GoAccess compilándolo desde el código fuente. En primer lugar, tendrás que instalar las dependencias necesarias con el siguiente comando:

apt-get install libncursesw5-dev libgeoip-dev libtokyocabinet-dev build-essential -y

Una vez instaladas todas las dependencias, descarga el código fuente de GoAccess con el siguiente comando:

wget http://tar.goaccess.io/goaccess-1.4.tar.gz

Una vez completada la descarga, extrae el archivo descargado con el siguiente comando:

tar -xzvf goaccess-1.4.tar.gz

A continuación, cambia el directorio al extraído y configura GoAccess con el siguiente comando:

cd goaccess-1.4/
./configure --enable-utf8 --enable-geoip=legacy

Deberías obtener la siguiente salida:

Your build configuration:

  Prefix         : /usr/local
  Package        : goaccess
  Version        : 1.4
  Compiler flags :  -pthread
  Linker flags   : -lnsl -lncursesw -lGeoIP -lpthread  
  UTF-8 support  : yes
  Dynamic buffer : no
  Geolocation    : GeoIP Legacy
  Storage method : In-Memory with On-Disk Persitance Storage
  TLS/SSL        : no
  Bugs           : [email protected]

A continuación, instala GoAccess en tu sistema con el siguiente comando:

make 
make install

Una vez finalizada la instalación, puedes verificar la versión instalada de GoAccess con el siguiente comando:

goaccess --version

Deberías obtener la siguiente salida:

GoAccess - 1.4.
For more details visit: http://goaccess.io
Copyright (C) 2009-2020 by Gerardo Orellana

Build configure arguments:
  --enable-utf8
  --enable-geoip=legacy

Puedes encontrar el archivo de configuración por defecto de GoAccess con el siguiente comando:

goaccess --dcf

Deberías ver la siguiente salida:

/usr/local/etc/goaccess/goaccess.conf

Inicia el panel de control de GoAccess

Abre tu terminal y lanza el panel de control de GoAccess con el siguiente comando:

goaccess /var/log/apache2/access.log --log-format=COMBINED

Deberías ver la siguiente pantalla:

Analizar los archivos de registro

Puedes utilizar los siguientes atajos de teclado para navegar por la interfaz:

F5 : Used to refresh the dashboard.
G : Used to move to the last item in the dashboard and use g to move to the top of the dashboard.
j and k : Used to scroll up and down.
s : Used to display the sort options for the active module.
? : Used to display help information.
TAB : Used to move forward.
q : Used to exit from the program.

Ahora, pulsa 1 para mostrar los visitantes únicos, el ancho de banda y el total de visitas por día, como se muestra a continuación:

mostrar los visitantes únicos, el ancho de banda y el total de visitas por día

Pulsa 2 para mostrar los archivos no estáticos más solicitados en tu servidor web, como se muestra a continuación:

Mostrar los archivos no estáticos más solicitados

Pulsa 3 para mostrar la información sobre los archivos estáticos, como imágenes, CSS, JavaScript, como se muestra a continuación:

Imágenes, CSS y JavaScript

Pulsa 4 para mostrar las URLs de rutas no encontradas, como se muestra a continuación:

404 Estadísticas

Pulsa 5 para mostrar el nombre de host y la dirección IP del visitante, como se muestra a continuación:

nombre de host y dirección IP

Pulsa 6 para mostrar la información del sistema operativo utilizado por los hosts, como se muestra a continuación:

Información del sistema operativo utilizado por el host

Pulsa 7 para mostrar la información de cada visitante único, como se muestra a continuación:

estadísticas de visitantes únicos

Pulsa 8 para mostrar la información horaria del número de visitas, los visitantes únicos y el ancho de banda consumido, como se muestra a continuación:

número de visitas, visitantes únicos y ancho de banda

Generar un informe HTML

GoAccess también te permite generar un informe HTML, JSON o CSV y acceder a él a través del navegador web.

Puedes generarlo con el siguiente comando:

goaccess /var/log/apache2/access.log --log-format=COMBINED -a -o /var/www/html/report.html

Ahora, abre tu navegador web y accede al informe generado utilizando la URL http://your-server-ip/report.html.

Deberías ver la siguiente página:

Informe HTML de Goaccess

Conclusión

En este post, has aprendido a instalar y utilizar GoAccess para analizar los registros de tu servidor web Apache. También puedes utilizar esta herramienta para Nginx, Amazon S3, Elastic Load Balancing y CloudFront. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...