Apache2: Estadísticas gráficas de accesos a nuestro servidor web

Quien quiera que haya hospedado su propia página web de seguro ha estado pendiente de las estadísticas de visitas a su página. Hoy en día tenemos muchas opciones para ello, Google Analytics es probablemente la herramienta más utilizada, Piwik es una alternativa a la anterior. Estas herramientas requieren de un código que se incrusta en cada una de nuestras páginas para que al cargarse disparen un contador ya sea en el server de Piwik o en los de Google.
Otro modo de hacerlo es “a la antigua” y localmente, revisando los logs del servidor de páginas web. Ya sea que estén usando Apache, Nginx o cualquier otro servidor web e incluso si tienen Squid o Varnish como proxy inverso, estos dejan un registro de cada visita en un archivo. Analizar este archivo nos permite saber más sobre las visitas a nuestra página.

GoAccess – Estadística general de acceso al Apache

PantallaGoAccessLo que me ha gustado de GoAccess es que es una herramienta sencilla de utilizar que entrega reportes sencillos, que pueden ser visualizados directo en la terminal (tal como se hace por defecto), pero también tiene la opción de guardar los resultados en archivos JSON, CSV o HTML para su visualización vía Web.

Se puede instalar directamente desde los repositorios de Ubuntu/Debian con un simple:

sudo apt-get install goaccess

Pero, recomiendo que agregaremos los repositorios oficiales para descargar la versión más nueva (ejecutando cada una de las siguientes líneas por separado):

echo "deb http://deb.goaccess.io $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list
wget -O - http://deb.goaccess.io/gnugpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install goaccess

Si está utilizando el formato de registro estándar que viene con Apache o Nginx, configurar GoAccess debería ser bastante sencillo.

Hay dos formas de configurar el formato de registro. Si está dando salida a un terminal (ncurses), la más fácil es ejecutar GoAccess con -c para solicitar una ventana de configuración. Sin embargo esto no va a hacerlo permanente y tendrás que especificar el formato del archivo de configuración para evitar que siempre pida seleccionar la configuración.

Para configurar GoAccess, editar:

sudo vim /etc/goaccess.conf

En el archivo de configuración necesita descomentar y/o personalizar lo siguiente (debería funcionar para los formatos estándar de Apache o Nginx):

time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
config-dialog false
log-file /var/log/apache2/access.log

Para ejecutarlo, desde terminal lo hacemo con:

goaccess -f /var/log/apache2/access.log

Y para que genere la página web es con:

goaccess -f /var/log/apache2/access.log -a > /var/www/html/reporte.html

De igual manera se puede agregar a un crontab de root para estar actualizando el archivo único del reporte diario.

Puedes consultar tus reportes desde tu web, abriendo en el navegador tu URL. (Ejemplo http://tuservidor.com/reporte.html)

 

WebAlizer – Estadísticas detallada e historial del acceso a Apache

PantallaWebAlizerEl Webalizer es un rápido servicio web gratuito que visualiza un historial de toda la actividad que tiene nuestra web por medio de los log de Apache. Produce muy detallados y fácilmente configurables informes de uso en formato HTML para su visualización con un navegador web estándar.

Instalar el paquete:

sudo apt-get install webalizer

Configurarlo en:

sudo vim /etc/webalizer/webalizer.conf

y cambiar el LogFile para indicar dónde están nuestros logs de apache y la ruta web para guardar los resultados:

#LogFile /var/log/apache2/access.log.1
LogFile /var/log/apache2/access.log
#…
OutputDir /var/www/html/webalizer

Para ejecutarlo y actualizar los registros es con un simple:

sudo webalicer

Para actualizar automáticamente los registros de acceso a Apache, debemos ejecutar cada N tiempo el servicio de webalicer por medio del cron.

Pasar a modo root y teclear el passwd de root:

$su

Editar el cron para root:

# crontab -e

y agregarle:

# El primer minuto de cada hora. 
1 * * * *      webalizer
# ó todos los días a las 9:00pm. 
0 21 * * *     webalizer

grabar y salir.

Listo! Ya puedes consultar tus reportes desde tu web, abriendo en el navegador tu URL. (Ejemplo http://tuservidor.com/webalicer/)

 

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *