Cómo instalar GoAccess Log Analyzer en Ubuntu 24.04

GoAccess es un analizador de registros web en tiempo real para sistemas tipo Unix, incluido Ubuntu. Proporciona una forma eficaz y fácil de usar de visualizar y analizar registros de servidores web, soportando varios formatos como Apache, Nginx y registros de Amazon S3. GoAccess puede ejecutarse en el terminal o como interfaz web, y ofrece informes dinámicos con métricas esenciales como recuento de visitantes, detalles de solicitudes, ubicaciones geográficas y sitios de referencia. Es apreciado por su velocidad, interactividad y amplios conocimientos, lo que lo convierte en una valiosa herramienta para administradores de sistemas y desarrolladores que buscan supervisar y optimizar el rendimiento del servidor web en sistemas Ubuntu.

En esta guía, aprenderás a instalar GoAccess Log Analyzer en un servidor Ubuntu 24.04.

Requisitos previos

Antes de empezar, asegúrate de que tienes lo siguiente:

  • Un servidor Ubuntu 24.04.
  • Un usuario no root con privilegios de administrador.
  • Un servidor web Apache/Nginx instalado.

Instalación de GoAccess con APT

GoAccess Log Analyzer puede instalarse de dos formas distintas, a través del gestor de paquetes y manualmente a través del código fuente. En esta sección, aprenderás a instalar GoAccess en Ubuntu con el gestor de paquetes APT.

En primer lugar, ejecuta el siguiente comando para añadir la clave GPG para el repositorio de GoAccess.

wget -O - https://deb.goaccess.io/gnugpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/goaccess.gpg >/dev/null

Añade el repositorio GoAccess para la distribución basada en Ubuntu/Debian utilizando el siguiente comando.

echo "deb [signed-by=/usr/share/keyrings/goaccess.gpg arch=$(dpkg --print-architecture)] https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/goaccess.list

A continuación, ejecuta el siguiente comando ‘apt’ para actualizar el índice de paquetes de Ubuntu e instalar‘goaccess‘. Introduce‘Y’ para confirmar la instalación.

sudo apt update && sudo apt install goaccess

añadir repo actualizar instakk

Una vez finalizada la instalación, localiza el archivo binario ‘goaccess‘ y comprueba la versión de ‘goaccess‘ con lo siguiente:

which goaccess
goaccess --version

Como puedes ver a continuación, GoAccess 1.9. 3 está instalado en‘/usr/bin/goaccess‘.

comprobar goaccess

Instalar GoAccess desde el código fuente

Si quieres compilar GoAccess manualmente a partir del código fuente, puedes seguir estos pasos:

Antes de compilar GoAccess, ejecuta el siguiente comando ‘apt’ para instalar las dependencias del paquete.

sudo apt install libncursesw5-dev libgeoip-dev libtokyocabinet-dev build-essential

instalar deps

Visita la página de descargas de GoAccess, coge el enlace de la última versión y, a continuación, descarga el código fuente de GoAccess y extráelo con el siguiente comando ‘tar’.

wget https://tar.goaccess.io/goaccess-1.9.3.tar.gz
tar -xzvf goaccess-1.9.3.tar.gz

Desplázate al directorio‘goaccess-*‘ y configura tu instalación con lo siguiente. En este ejemplo, activarás el soporte GeoIP a través del archivo de base de datos‘mmdb‘.

cd goaccess-*/
./configure --enable-utf8 --enable-geoip=mmdb

configurar construir

Ahora ejecuta el siguiente comando para compilar GoAccess e instalarlo en tu sistema. Una vez ejecutado, GoAccess se instalará en‘/usr/local/bin/goaccess‘ con el directorio de configuración por defecto‘/usr/local/etc/goaccess‘.

sudo make && sudo make install

compilar instalar

Ahora ejecuta el siguiente comando para verificar tu versión de GoAccess. Puedes ver a continuación que GoAccess 1.9.3 está instalado en /usr/local/bin/goaccess.

which goaccess
goaccess --version

comprobar versión

Integración de GoAccess con la base de datos GeoIP

El Analizador de Registros GoAccess admite la integración con GeoIP. Con esto, puedes mostrar el país de origen del visitante. En esta sección, configurarás GoAccess y lo integrarás con el archivo de base de datos GeoIP.

En primer lugar, visita https://db-ip.com/db/lite.php y coge el enlace del archivo de base de datos GeoIP y descárgalo utilizando el comando«wget» que aparece a continuación.

wget https://download.db-ip.com/free/dbip-country-lite-2024-07.mmdb.gz

Extrae el archivo de la base de datos GeoIP al directorio /opt/geoip con lo siguiente.

gunzip dbip-country-lite-2024-07.mmdb.gz /opt/geoip/

A continuación, ejecuta el comando«goaccess» para localizar el directorio de configuración por defecto. Si estás instalando a través de APT, tu directorio GoAccess se encontrará en el directorio ‘/etc/goaccess’. Si estás compilando desde el código fuente, tu directorio GoAccess se encuentra en el directorio ‘/usr/local/etc/goaccess‘.

goaccess --dcf

Ahora abre el archivo de configuración de GoAccess‘/usr/local/etc/goaccess/goaccess.conf‘ con el siguiente comando del editor‘nano‘.

sudo nano /usr/local/etc/goaccess/goaccess.conf

Descomenta las líneas ‘time-format’ y‘date-format‘ como se indica a continuación:

# The following time format works with any of the
# Apache/NGINX's log formats are below.
#
time-format %H:%M:%S

# The following date format works with any of the
# Apache/NGINX’s log formats are below.
#
date-format %d/%b/%Y

En la opción ‘ log-format ‘, cámbiala a‘COMBINED‘ para los logs comunes de Nginx/Apache.

log-format COMBINED

or

log-format VCOMBINED
log-format %v:%^ %h %^[%d:%t %^] «%r» %s %b «%R» «%u»

Descomenta la opción ‘geoip‘ y añade la ruta del archivo de la base de datos GeoIP.

geoip-database /home/geoip/dbip-country-lite-2021-10.mmdb

Cuando hayas terminado, guarda el archivo y sal del editor.

Analizar los logs de Apache/Nginx con GoAccess

Ahora que ya has configurado GoAccess y lo has integrado con GeoIP. En el siguiente paso, aprenderás a analizar los archivos de registro con GoAccess.

Para analizar los registros con GoAccess, ejecuta el comando«goaccess» que aparece a continuación.

goaccess access.log

Podrás ver una salida como la siguiente

  • Visitantes únicos por día: lista de visitantes únicos por día.
  • Archivos solicitados (URLs): archivos más solicitados – para archivos no estáticos.
  • Peticionesestáticas: enumera las peticiones de archivos estáticos como imágenes, CSS y JavaScript.
  • URL no encontradas(404): páginas con errores 404 no encontradas.
  • Nombres de hosty direcciones IP de los visitantes: listas de nombres de host y direcciones IP de los visitantes. Puedes ampliar para obtener información como país, ciudad y rDNS.
  • Sistemas operativos: muestra los sistemas operativos de los visitantes.
  • Navegadores: muestra los navegadores web de los visitantes.
  • Distribución Horaria: muestra informes horarios de visitantes únicos, número de visitas y ancho de banda consumido.
  • Anfitriones Virtuales: muestra los registros de los anfitriones virtuales. Sólo se activa cuando activas VCOMBINED o «%s» en la opción «formato de registro».
  • URL de referencia: muestra las referencias de los visitantes.

También puedes utilizar las siguientes teclas para navegar por GoAccess:

  • TAB para avanzar entre secciones o MAYÚS+TAB para retroceder.
  • F5 para actualizar el panel de GoAccess.
  • j para desplazarte hacia abajo y k para desplazarte hacia arriba.
  • / para buscar un patrón y teclear n para desplazarte.
  • q para salir del panel de control.
  • F1 o h para mostrar la ayuda.

A continuación puedes ver el salpicadero GoAccess por defecto:

comprueba los registros

Con la integración GeoIP, verás la sección«Geolocalización» como la siguiente:

geoip

Generar informes con GoAccess

En esta sección, generarás informes de registro en HTML, JSON y CSV utilizando el Analizador de Registros de GoAccess. También configurarás un analizador de registros en tiempo real.

Para generar informes HTML para GoAccess, incluye la opción «-o» seguida de «nombrearchivo.html» como se indica a continuación:

goaccess access.log -o access-log.html

Ahora utiliza tu navegador web y navega hasta el archivo‘access-log.html‘. Verás el siguiente informe de GoAccess:

exportado

Además, también puedes generar informes de registro en formatos JSON y CSV. Utiliza el comando ‘goaccess’ que aparece a continuación.

goaccess access.log -a -d -o access.json
goaccess access.log --no-csv-summary -o access.csv

A continuación, también puedes configurar la supervisión de registros en tiempo real con el siguiente comando ‘goaccess‘.

goaccess access.log -o /var/www/html/reports.html --real-time-html

Ahora navega a la página ‘reports.html’ utilizando un navegador web y verás los informes en tiempo real generados por GoAccess.

en tiempo real vía websocket

Conclusión

¡Enhorabuena! Has completado la instalación de GoAccess Log Analyzer en un servidor Ubuntu 24.04. Has aprendido a instalar GoAccess con APT y desde el código fuente. Y luego has aprendido a analizar archivos de registro con GoAccess, generando informes de registro en múltiples formatos como HTML, JSON y CSV. Por último, has realizado un analizador de registros en tiempo real con GoAccess.

También te podría gustar...