Pues luego de ver el gran aporte a la comunidad de @Franco_Sparrow y @Alexminator con el tutorial de Squid 5 toca entonces hacer análisis de las trazas que genera ese Squid. Claro, opciones tenemos muchas y en variedades; pero les traigo hoy, de entre todas ellas y que seguro ya conoces, una que instalarás en par de sencillos pasos.

El proceso lo haremos sobre el servidor de Squid, ya sea hecho por el tutorial de nuestra comunidad u otro que ya tenga usted instalado y quiera agregarle esta funcionalidad; y lo describiremos tanto para Apache como para Nginx.

Empezamos…

Para Apache:
Siendo root instalamos los paquetes necesarios:

apt install -y apache2 lightsquid libcgi-session-perl

Chequee que la ruta a los logs declarada en «/etc/lightsquid» sea válida:

nano /etc/lightsquid/lightsquid.cfg

#path to access.log  <= linea 23
$logpath ="/var/log/squid";

Creamos/editamos el virtualhost de Apache de Lightsquid para que nos quede así:

nano /etc/apache2/conf-available/lightsquid.conf

Alias /lightsquid/ /var/www/html/lightsquid/
   <Location "/lightsquid/">
   Options +ExecCGI
   AddHandler cgi-script .cgi .pl
   Require local
   # Pon el rango IP desde el que vas a acceder, o varios IP/32 si quieres controlar el acceso.
   Require ip 192.168.0.0/24
</Location>

Habilitamos módulos necesarios para Apache:

a2enmod cgid
Enabling module cgid.
To activate the new configuration, you need to run:
systemctl restart apache2

Habilitamos la configuración del virtualhost de Apache:

a2enconf lightsquid
Enabling conf lightsquid.
To activate the new configuration, you need to run:
systemctl reload apache2.service

Reiniciamos el Apache:

service apache2 restart

Nos descargamos el compactado de Lightsquid.
Copiamos la carpeta de lightsquid a «/var/www/html».
Damos los permisos necesarios:

unzip lightsquid.zip
chmod -R 755 /var/www ; chown -R www-data:www-data /var/www

Chequee que la ruta a los logs declarada en «/var/www/html/lightsquid» sea válida:

nano /var/www/html/lightsquid/lightsquid.cfg

#path to access.log <= linea 23
$logpath ="/var/log/squid";

Generamos el primer reporte para que nos salga la web:

/var/www/html/lightsquid/lightparser.pl

Nota:- En caso de tener el «access.log» de squid en su lugar se genararán todas las entradas que dicho fichero contenga.

 

Ahora describiremos el proceso para Nginx.

Para Nginx:

apt install -y nginx fcgiwrap lightsquid libcgi-session-perl

Chequee que la ruta a los logs declarada en «/etc/lightsquid» sea válida:

nano /etc/lightsquid/lightsquid.cfg

#path to access.log  <= linea 23
$logpath ="/var/log/squid";

Guardamos el virtualhost por defecto de Nginx y creamos uno en blanco:

mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak && touch /etc/nginx/sites-available/default

Creamos/editamos el virtualhost de Nginx de Lightsquid para que nos quede así:

nano /etc/nginx/sites-available/lightsquid

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

    root /var/www/html/lightsquid;
    index index.cgi;

    location / {
        try_files $uri $uri/ index.cgi /lightsquid;
    }

    location ~ \.cgi$ {
            root /var/www/html/lightsquid;
            include /etc/nginx/fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $request_filename;
            fastcgi_param AUTH_USER $remote_user;
            fastcgi_param REMOTE_USER $remote_user;
            fastcgi_pass unix:/var/run/fcgiwrap.socket;
    }
}

Nota.- Cambiamos en «server_name» el nombre DNS de nuestro proxy.

Creamos enlace simbólico a la carpeta de sitios habilitados:

ln -s /etc/nginx/sites-available/lightsquid /etc/nginx/sites-enabled/lightsquid

Habilitamos y reiniciamos Nginx:

systemctl enable nginx
service nginx restart

Creamos el directorio donde pondremos el compactado:

mkdir -p /var/www/html

Nos descargamos el compactado de Lightsquid.
Copiamos la carpeta de lightsquid a «/var/www/html».
Damos los permisos necesarios:

unzip lightsquid.zip
chmod -R 775 /var/www ; chown -R www-data:www-data /var/www

Chequee que la ruta a los logs declarada en «/var/www/html/lightsquid» sea válida:

nano /var/www/html/lightsquid/lightsquid.cfg

#path to access.log <= linea 23
$logpath ="/var/log/squid";

Generamos el primer reporte para que nos salga la web:

/var/www/html/lightsquid/lightparser.pl

Nota:- En caso de tener el «access.log» de squid en su lugar se genararán todas las entradas que dicho fichero contenga.

 

Crontab:

Los reportes por defecto se generan diariamente. Si desea puede agregarle una tarea al cron para que los haga mas seguidos, por ejemplo, cada 10 minutos:

crontab -e

Y agregamos:

*/10 * * * * /var/www/html/lightsquid/lightparser.pl today

 

Otras formas de usar el comando lightparser.pl:

/var/www/html/lightsquid/lightparser.pl today                     => Para el día de hoy
/var/www/html/lightsquid/lightparser.pl yesterday                 => Para el día de ayer
/var/www/html/lightsquid/lightparser.pl 20210101                  => Para un día en específico
/var/www/html/lightsquid/lightparser.pl access.log.{\d}.{gz|bz2}  => Para logs rotados y/o compactados

 

Para ver la web de reportes con Apache vamos a http://IP_proxy/lightsquid
Para ver la web de reportes con Nginx vamos a http://IP_proxy/

Damos clic en la fecha que queremos revisar.

Dentro del día seleccionado veremos los usuarios que navegaron.
Si queremos que estas estadísticas nos queden aun mejor rellenamos el fichero «realname.cfg» para que nos salgan los nombres completos de los usuarios en el campo «Real Name».

nano /var/www/html/lightsquid/realname.cfg

Dentro ponemos los valores de la siguiente forma:

# Usuarios
carlos           Carlos Perez Gomez
alberto          Alberto Rodriguez Diaz
barbaro          Barbaro Martinez Gonzalez

# PC
192.168.0.10      Economia1
192.168.0.11      Secretaria
192.168.0.12      Informatico

Acomódelo a su ambiente y guárdelo.

Al pinchar en el usuario veremos los sitios a los que accedió.

Los reportes que Lightsquid estraiga de los logs de navegación los organizará por fecha, al estilo «20200918«, y los pondrá en «/var/www/html/lightsquid/reports«.

Si notaste en las 3 fotos aparece el botón Herramientas, con el podrás exportar el reporte en varios formatos, imprimir, etc.

 

En caso que ya tengas ésta funcionalidad instalada y quieras agregarse solamente el tema haz los pasos siguientes:

Para poner el tema metro_tpl:
– Del compactado que descargamos anteriormente, la carpeta «asset» la pones en la raiz de «lightsquid«; donde estan los «.cgi«.
– La carpeta «metro_tpl» dentro de «tpl«.
– En «/var/www/html/lightsquid.cfg«, en el parametro «$templatename» cambia «base» por el tema que copiaste «metro_tpl«.
– F5 a la web y Listo.

Nota.- Los archivos html que contiene la carpeta «metro_tpl» los puedes editar a tu gusto y conveniencia.

Agradecimientos a Adalberto Fajardo (@semofajardo) por su aporte con el tema.

Antes de concluir decirles que también tenemos la instalación para Docker cortesía Adrian Rodríguez (@adrianrp1988).

Saludos.

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

Raysel Gonzalez Delgado

Ver comentarios

  • interesante programa. Pero no veo las estadísticas diarias (que regresen a 0 después de 24h) o semanal (solo anual y mensual). gracias

  • Buenas bro, hace un tiempo estoy intentando configurar el LightSquid para que me separe a los usuarios por gurpos.....es decir, kisiera ver los grupos (serian los nombres de las direcciones) y dentro de cada uno los usuarios de c/ direccion. Esto es posible hacerlo en el LightSquid??

  • Buenas tardes, he resuelto el problema que tenia el lightsquid que no generaba reportes desde que comenzó este año. Por favor, pudieran subir de nuevo el paquete donde se encuentra el nuevo tema... que no se puede descargar. Muchas gracias...

  • Hola, muy buen tutorial, pero no me deja descargar el archivo Lightsquid, algún problema con eso?
    Gracias

  • En las estadisticas, el valor de PutPost a que se refiere exactamente ??. He buscado el equivalente en la carpeta de idioma y no existe un equivalente en Español. A veces también me muestra una bandera, se refiere a los bytes subidos por el usuario ??. Muy bueno el tema. Un saludo buen fin de semana.

  • Buenas Alexander, muy buen aporte, lo tenia funcionando correctamente hasta el dia 31 de diciembre, de enero no me ha generado ningún reporte , ni incluso lanzando el comando para hacerlo automáticamente, tampoco en la ruta /var/www/html/lightsquid/report me aparece ningún reporte referente al año actual...agradecería me ayude con esto..saludos

  • Saludos, tengo un problema con los reportes y es que a partir del primero de enero de este año, no me están saliendo. En que puede haber afectado el cambio de fecha al proceso, pues me los estuvo dando correctamente hasta el 31 de Diciembre. Gracias.

    • Exactamente me sucedió lo mismo, no veía los logs de este año. Con la ayuda de @baph0m3t logramos solucionar el problema. Aparentemente algo sucedió en el cambio de año.
      Revise nuevamente el tuto que se agregó lo necesario para corregir esto.
      Busque el comando para día específico, ejecútelo con los días que faltan y modifica el comando en el crontab.
      Saludos

Compartir
Publicado por
Raysel Gonzalez Delgado

Entradas recientes

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…

8 meses hace

Home automation (Parte 3) – ESPHome

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

1 año hace

Home automation (Parte 2) – Home Assistant

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

1 año hace

Home automation (Parte 1)

Desde hace varios meses vengo con la idea de automatizar la casa donde vivo. Poco…

1 año hace

Cocinando una imagen personalizada de OpenWRT

El artículo describe el uso para un caso particular de OpenWRT y la creación de…

1 año hace