Volver al blog

SquidAnalyzer esta vez con nginx

Untitled

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.

Suscríbete · Newsletter

Mantente al día, cada semana

Artículos prácticos sobre Linux, redes, seguridad, virtualización y la nube — escritos por sysadmins cubanos.

  • Guías y tutoriales de administración de sistemas
  • Nuevos artículos sobre servidores, redes y nube
  • Sin spam, cancela cuando quieras

Respetamos tu bandeja de entrada. Cancela con un clic.

Patrocinado por SYSCU

¿Tu infraestructura en la nube te cuesta de más?

SYSCU optimiza tu nube de punta a punta — FinOps, DevOps & CI/CD, migraciones a AWS, seguridad y observabilidad. Equipo 100 % senior que reduce tu factura hasta un 40 % y acelera tus despliegues en semanas.

Nuevo · BetaSYSCU Atlas Insight — la plataforma FinOps que convierte tu gasto AWS en decisiones: visibilidad multi-cuenta, recomendaciones automáticas y alertas de anomalías.

No comments yet