Analiza en tiempo real tu servidor web con GoAccess

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 thoughts on “Analiza en tiempo real tu servidor web con GoAccess”

  1. tannhausser says:

    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 🙂

  2. davidochobits says:

    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!

    1. Anger says:

      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

      1. davidochobits says:

        Gracias! Para que sí trabaja con nginx, así que genial. Saludos!

  3. miguelns21@gmail.com says:

    Vaya artículos mas interesantes que hay aquí.
    Muy agradecido.

  4. Emiliano says:

    Genial, pongo a correr eso en la consola de mi segundo monitor y hago de cuenta que trabajo XD

Deja un comentario