Analiza en tiempo real tu servidor web con GoAccess

por | 3 diciembre, 2016

goaccess

Hoy día, el mundo de internet se mueve literalmente hablando sobre un servidor web, por ello es conveniente poder entender las miles de lineas que se escriben por segundo, sobre los log’s  de soluciones como Apache.

Para muchos se hace un poco tedioso, el armar una linea de comandos entubados, para poder determinar algún dato que necesitemos encontrar.

Por ello, vamos a mencionar a GoAccess una tool free con licencia (MIT), como analizador de log’s en tiempo real y visualizador interactivo, el cual puede ser ejecutado en un terminal, al igual de poder ver reportes en html en un navegador. Con estadísticas de interés para los administradores de servidores.

Entre sus principales características podemos mencionar:

  • Estadísticas en tiempo real.
  • No requiere de configuraciones complejas.
  • Compatible con diferentes formatos de logs.
  • Interfaz vía terminal agradable.
  • Esta escrito en C, solo depende, de la libreria ncurses.
  • Ofrece información valiosa, como la cantidad de visitas y consumo de ancho de banda.

Instalación en Linux

El proceso de instalación es sencillo, podemos descargar el código fuente, compilarlo e instalarlo:

wget http://tar.goaccess.io/goaccess-1.0.2.tar.gz
tar -xzvf goaccess-1.0.2.tar.gz
cd goaccess-1.0.2/
./configure --enable-geoip --enable-utf8
make
make install

Existen binarios disponibles para diversas distribuciones GNU/Linux:

  • Para ambientes Debian y derivadas como Ubuntu podemos instalarlo con tan solo:
sudo apt install goaccess
  • Fedora:
sudo dnf install goaccess
  • Arch Linux y derivadas:
sudo pacman -S goaccess
  • Gentoo
sudo emerge net-analyzer/goaccess

Características disponibles en GoAccess:

La salida en la terminal, presenta información modulada, donde se pueden visualizar los siguientes elementos:

Estadísticas en General: Se presenta un resumen de métricas, donde se pueden ver el numero de solicitudes validas e invalidas, archivos solicitados, errores 404, entre otros.

Visitantes por día: Donde se puede ver la cantidad de IP que visitan por día, dado en porcentaje.

Archivos solicitados: Solicitudes de archivos ordenadas por visitas.

Archivos estáticos solicitados: Enumera los archivos más frecuentemente estáticos, como los tipos de archivo JPG, CSS, SWF, JS, GIF y PNG.

URL de los remitentes: Si el anfitrión en cuestión accedió al sitio a través de otro recurso, o si estaba vinculado o desviado de otro host, se proporcionará la URL a la que se remitieron.

404 o No encontrado: Indica los objetos que no fueron encontrados en el servidor.

Sistema Operativo: En este modulo se visualiza las metricas por tipo de sistema operativo que acceden al servidor.

Browser: Se denota los navegadores mas utilizados, para acceder a las aplicaciones web configuradas en el servidor

Hots: Presenta las IP con mayor cantidad de numero de accesos, registrados en el log analizado.

Top de sitios referenciados: Sitios mas visitados.

Modo de ejecución

Algunas ejemplos para ejecutar la aplicación:

goaccess -f /ruta/del/access.log
goaccess -f access.log -a > report.html

En la web del proyecto GoAccess encontraréis más información, así como una demo que nos muestra su funcionamiento en tiempo real.

6 pensamientos en “Analiza en tiempo real tu servidor web con GoAccess

  1. tannhausser

    Hacía tiempo que no se te veía por aquí @Anger, pero ha merecido la espera. Como siempre descubriéndonos herramientas interesantes.

    Gracias por la colaboración 🙂

    Responder
  2. davidochobits

    Vaya! No conocía tan excelente y prometedor programa. Lo voy a probara ver qué tal. Trabajo casi a diario con servidor web, así que me puede ser de mucha utilidad. Aunque parece ser que sólo funciona con Apache, cierto? Hay alguna posibilidad de que funcione con los logs de nginx?

    Saludos!

    Responder
    1. Anger

      Amigo David, si es posible, te dejo parte de la documentacion y la referencia para que le des un ojo mas a detalle
      ——————————————————————————————————————————
      Log Configuration

      How can I configure the log/date/time format for Apache or Nginx?

      If you are using the standard log format that comes with Apache or Nginx, configuring GoAccess should be pretty straightforward.

      There are several ways to set the log format. If you are outputting to a terminal (ncurses), the easiest is to run GoAccess with -c.

      # goaccess -f access.log -c

      You could also specify the log format in the command line, so for the standard Apache/Nginx format, you could run:

      # goaccess -f access.log –log-format=COMBINED

      However any of those options won’t make it permanent, for that you will need to specify the format in the configuration file. See question below for more details about the configuration file.

      ——————————————————————————————————————————

      Link de referencia: https://goaccess.io/faq

      Responder

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.