SquidAnalyzer esta vez con nginx

Como parte de la serie de tutoriales recientes sobre Squid Cache, nos dimos la tarea de explicar los diferentes analizadores y generadores de estadísticas de logs (trazas). Los cual podemos utilizar para hacer mucho mas cómodo el trabajo de monitoreo.

En este post veremos a SquidAnalyzer como solución de analizador de trazas, y nginx para servidor web que publicara los reportes generados.

Requisitos:

  • Servidor con squid ya instalado (ver como hacer aquí)

    Nota: para este tutorial se uso una instalación de Squid4 instalado en un contenedor de proxmox de Debian10

  • Tener descargado el fichero para instalar SquidAnalyzer (squidanalyzer-6.6.tar)

Pasamos primeramente a instalar SquidAnalyzer, extraemos el fichero descargado y luego acedemos a la carpeta obtenida:

root@srv-squid:/home# tar xvf squidanalyzer-6.6.tar.gz 
root@srv-squid:/home# cd squidanalyzer-6.6/

Creamos la carpeta donde estarán los ficheros que se van a generar

mkdir /var/www/squidanalyzer

Ahora pasamos a la instalación donde tenemos 2 variantes, una que personaliza la instalación (recomiendo copiar el contenido, editarlo y luego pegarlo en la consola). Así me quedo a mi:

root@srv-squid:/home/squidanalyzer-6.6# perl Makefile.PL \
   LOGFILE=/var/log/squid/access.log \
   BINDIR=/usr/bin \
   CONFDIR=/etc \
   HTMLDIR=/var/www/squidanalyzer \
   BASEURL=/ \
   MANDIR=/usr/man/man3 \
   DOCDIR=/usr/share/doc/squidanalyzer
root@srv-squid:/home/squidanalyzer-6.6# make
root@srv-squid:/home/squidanalyzer-6.6# make install

La otra variante más fácil es la genérica, pero luego deberás editar los parámetros en /etc/squidanalyzer/squidanalyzer.conf, y como se hace sencillo:

root@srv-squid:/home/squidanalyzer-6.6# perl Makefile.PL 
root@srv-squid:/home/squidanalyzer-6.6# make 
root@srv-squid:/home/squidanalyzer-6.6# make isntall

Por último pasamos a agregar esta línea en el cron, recuerden crontab -e:

0 2 * * * /usr/local/bin/squid-analyzer > /dev/null 2>&1

Esto significa que cada 2 horas genera las estadísticas de las trazas, recomiendo para estar seguro que se generan los ficheros correr el comando luego de salvar el cron.

root@srv-squid:/home/squidanalyzer-6.6# /usr/local/bin/squid-analyzer > /dev/null 2>&1

comprobamos:

ls -la /var/www/squidanalyzer/

si nos sale algo como esto, todo ha salido bien:

total 168
drwxr-xr-x  4 root root   4096 May  9 01:20 .
drwxr-xr-x  3 root root   4096 May  9 01:16 ..
drwxr-xr-x 18 root root   4096 Jul 22 02:00 2020
-rwxr-xr-x  1 root root 114124 May  7  2017 flotr2.js
drwxr-xr-x  2 root root   4096 May  9 01:10 images
-rwxr-xr-x  1 root root   2715 Jul 22 02:00 index.html
-rwxr-xr-x  1 root root   1039 May  7  2017 sa-sorttable.diff
-rwxr-xr-x  1 root root   8465 May  7  2017 sorttable.js
-rwxr-xr-x  1 root root   7641 May  7  2017 squidanalyzer.css
-rwxr-xr-x  1 root root     19 Jul 22 02:00 SquidAnalyzer.current
-rwxr-xr-x  1 root root   3103 May  7  2017 squidanalyzer.js
-rwxr-xr-x  1 root root   1860 May  7  2017 update_rsc_files.sh

Una vez terminado la parte de SquidAnalyzer procedemos a instalar nginx.

root@srv-squid:~# apt install -y nginx

es tan sencillo como editar el fichero de configuración del vhost de nginx y poner la ruta donde están los ficheros estáticos que genero el SquidAnalyzer:

para los que no recuerden la ruta de la configuración del vhost de nginx en debian/ubuntu es /etc/nginx/sites-available/default.conf(si instalas del repo oficial de nginx o usas otra distro, la ruta sera/etc/nginx/conf.d/)

server {
   listen       80;
   server_name  proxy.domain.cu;

   access_log  /var/log/nginx/squidanalyzer-access.log  main;

   location / {
       root   /var/www/squidanalyzer;
       index  index.html index.htm;
   }
}

probamos la configuración  y si todo a salido bien reiniciamos nginx:

root@srv-squid:~# nginx -t
root@srv-squid:~# systemctl restart nginx

Por último pero no menos importante accedemos desde nuestro navegador a la URL del SquidAnalyzer y nos debe salir así:

Una muestra de como se ve el apartado TOP DOMAINS

Y listo, eso es todo.

¿De cuánta utilidad te ha parecido este contenido?

Arian López Delgado

Sysadmin freelance, usuario de GNU/Linux desde 2009

View Comments

    • ya resolví!!!
      ...reemplace el:
      /etc/nginx/sites-available/default
      por
      /etc/nginx/sites-available/default.conf
      y elimine la palabra main de:
      ...
      access_log /var/log/nginx/squidanalyzer-access.log main;
      ...

  • ES LA 4ta VEZ QUE LO HAGO Y SIEMPRE SALE ASI!!!!

    *************************************
    root@proxy:/opt/squidanalyzer-6.6# /usr/local/bin/squid-analyzer > /dev/null 2>&1
    root@proxy:/opt/squidanalyzer-6.6# ls -la /var/www/squidanalyzer/
    total 144
    drwxr-xr-x 3 root root 4096 Mar 17 14:12 .
    drwxr-xr-x 4 root root 4096 Mar 17 14:11 ..
    -rw-r--r-- 1 root root 114124 Mar 17 14:12 flotr2.js
    drwxr-xr-x 2 root root 4096 Mar 17 14:12 images
    -rw-r--r-- 1 root root 8465 Mar 17 14:12 sorttable.js
    -rw-r--r-- 1 root root 7641 Mar 17 14:12 squidanalyzer.css

    PUEDES DECIRME QUE OCURRE????
    ME FALTA EL INDEX.HTML Y LA CARPETA 2020
    DETALLE
    DEBIAN 10.8 CONTENEDOR EN PROXMOX

    • Tal vez es porque hay un error en el tutorial, donde se dice que se creará el subdirectorio /var/www/squidanalyzer ("Creamos la carpeta donde estarán los ficheros que se van a generar"), pero al ejecutar la instalación se refiere a HTMLDIR=/var/www/squidreport

      • Tienes toda la razón, ya fue arreglado. Disculpen la demora, mucho trabajo por acá, saludos.

Share
Published by
Arian López Delgado

Recent Posts

SquidStat, analizador de logs de squid diferente y 100% cubano

Me complace anunciar la creación de esta útil herramienta (SquidStats), para el análisis y monitoreo…

10 meses ago

n8n Transformando la Automatización de Flujos de Trabajo con Inteligencia Artificial

La inteligencia artificial está revolucionando las industrias al automatizar tareas, predecir patrones y permitiendo tomar…

10 meses ago

Alta disponibilidad de sus base de datos con Percona XtraDB Cluster en Kubernetes

Uno de los grandes retos al que nos podemos enfrentar cuando una aplicación crece, es…

2 años ago

Home automation (Parte 3) – ESPHome

Qué es lo que deseo hacer en este capítulo? Básicamente un sonoff, quiero encender/apagar las…

3 años ago

Home automation (Parte 2) – Home Assistant

Hace algunos meses estoy escuchando hablar del proyecto Home Assistant (HA). En palabras literales del…

3 años ago