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:
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:
Pulsa 2 para mostrar los archivos no estáticos más solicitados en tu servidor web, como se muestra a continuación:
Pulsa 3 para mostrar la información sobre los archivos estáticos, como imágenes, CSS, JavaScript, como se muestra a continuación:
Pulsa 4 para mostrar las URLs de rutas no encontradas, como se muestra a continuación:
Pulsa 5 para mostrar el nombre de host y la dirección IP del visitante, como se muestra a continuación:
Pulsa 6 para mostrar la información del sistema operativo utilizado por los hosts, como se muestra a continuación:
Pulsa 7 para mostrar la información de cada visitante único, como se muestra a continuación:
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:
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:
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.