Lightsquid

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?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 26

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

16 comentarios

  1. Google Chrome 105.0.0.0 Google Chrome 105.0.0.0 GNU/Linux x64 GNU/Linux x64
    Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36

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

  2. Firefox 95.0 Firefox 95.0 Windows 8.1 x64 Edition Windows 8.1 x64 Edition
    Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0

    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??

  3. Firefox 68.0 Firefox 68.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Firefox/68.0

    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…

  4. Firefox 82.0 Firefox 82.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0

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

  5. Firefox 78.0 Firefox 78.0 GNU/Linux x64 GNU/Linux x64
    Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0

    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.

  6. Waterfox 78.6.0 Waterfox 78.6.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 Waterfox/78.6.0

    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

  7. Firefox 83.0 Firefox 83.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0

    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.

    • Opera 73.0.3856.284 Opera 73.0.3856.284 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 OPR/73.0.3856.284

      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

  8. Firefox 79.0 Firefox 79.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0

    De verdad que te pasaste, muy buen tutorial, duricimo lo de exportar a PDF

  9. Firefox 59.0 Firefox 59.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0

    me gusto el tuto esta espcial gracias 10 punto de 10
    saludos Admin de Redes UCM Sancti Spiritus

  10. Firefox 81.0 Firefox 81.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0

    Muy buen tuto, con el Lightsquid existe alguna forma de dar los logs separado, es decir nacional de internacional

  11. Google Chrome 85.0.4183.101 Google Chrome 85.0.4183.101 Android 9 Android 9
    Mozilla/5.0 (Linux; Android 9; SM-J610G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.101 Mobile Safari/537.36

    Saludos desde Camagüey Raysel, muchas gracias por el aporte, cuando te refieres a: «del compactado…», acerca del tema metro-tpl, lo pusiste en alguna parte?
    Muchas gracias

    • Firefox 80.0 Firefox 80.0 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0

      Esta dentro del compactado que debes bajar, ya edite el tuto para q sea entendible y visible.
      Nos descargamos el fichero Lightsquid….busca esta frase y da click en ligthsquid

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*