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/
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.
Los reportes que Lightsquid extraiga 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.
Me complace anunciar la creación de esta útil herramienta (SquidStats), para el análisis y monitoreo…
La inteligencia artificial está revolucionando las industrias al automatizar tareas, predecir patrones y permitiendo tomar…
Uno de los grandes retos al que nos podemos enfrentar cuando una aplicación crece, es…
Percona Monitoring and Management (PMM) es una herramienta de código abierto para la supervisión y…
Qué es lo que deseo hacer en este capítulo? Básicamente un sonoff, quiero encender/apagar las…
Hace algunos meses estoy escuchando hablar del proyecto Home Assistant (HA). En palabras literales del…
View Comments
De verdad que te pasaste, muy buen tutorial, duricimo lo de exportar a PDF
me gusto el tuto esta espcial gracias 10 punto de 10
saludos Admin de Redes UCM Sancti Spiritus
Muy buen tuto, con el Lightsquid existe alguna forma de dar los logs separado, es decir nacional de internacional
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
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
Me guardo el tuto. Muy bueno amigo.