Páginas

martes, 15 de febrero de 2011

Analizar logs de Squid

Hola a tod@s!

Hoy voy hablaros sobre "Lightsquid", es un programa OpenSource que interpreta los logs de Squid y nos muestra los datos detallados y lo mejor de todo lo podemos ver vía web. ¿Por qué Lightsquid? porque es muy ligero y sobre todo no "ocupa" tanto espacio en disco como pueden ser otras opciones; como SARG.
No quiere decir que una sea mejor que la otra, porque yo tengo funcionando las dos en producción y estoy encantado. Simplemente es una alternativa ligera y de fácil configuración. Antes de nada tenemos que tener instalado Squid ( lo tengo instalado con la versión 3 y también es compatible con versiones antiguas) y servidor Apache2.

Empezamos!!!!!!!

1. Creamos la carpeta para la ubicación de Lightsquid:

cd /var/www/
mkdir lightsquid
cd lightsquid

1. Instalación del lightsquid

Descargamos desde sourceforge.net, link aquí.

Copiar el archivo descargado a la carpeta que hemos creado

cp lightsquid-1.8.tgz  /var/www/lightsquid/

tar zxvf lightsquid-1.8.tgz

mv lightsquid-1.8 lightsquid

cd lightsquid

Asiganar los permisos de ejecución a los archivos:

chmod +x *.cgi
chmod +x *.pl

Tenemos que asignar los permisos de apache (www-data) a la carpeta para que el servicio tenga permisos para poder visualizar nuestra información vía web.

chown -R www-data.www-data *


2. Configurar el sitio web de lightsquid en el apache:


#sudo nano /etc/apache2/conf.d/sites-available/default


Agregamos las siguiente líneas:


<Directory "/var/www/lightsquid">
   AddHandler cgi-script .cgi
   AllowOverride All
</Directory>

Es posible cuando tenemos una instalación "limpia" de apache no aparezca "default", no hay problema, lo creamos nosotros y listo; así: # sudo touch default

3. Reiniciar Apache
#sudo /etc/init.d/apache2 restart

4. Instalar librerías gráficas en el sistema operativo, sobre todo la librería GD:

#sudo apt-get install libgd-gd2-perl

 5. Configurar las variables del archivo de configuración:

#sudo nano  /var/www/lightsquid/lightsquid.cfg


Establecer la ubicación de los logs del squid y el directorio de reportes

Las variables deben de quedar asi:

#path to additional `cfg` files
$cfgpath             ="/var/www/lightsquid/lightsquid";
#path to `tpl` folder
$tplpath             ="/var/www/lightsquid/lightsquid/tpl";
#path to `lang` folder
$langpath            ="/var/www/lightsquid/lightsquid/lang";
#path to `report` folder
$reportpath          ="/var/www/lightsquid/lightsquid/report";
#path to access.log
$logpath             ="/var/log/squid";
#path to `ip2name` folder
$ip2namepath         ="/var/www/lghtsquid/lightsquid/ip2name";


6. Para generar los reportes podemos ejecutar

#sudo /var/www/lightsquid/lightparser.pl


7. Para programa una tarea y dejarlo automatizado:

Ejecutamos
#sudo crontab -e

Y añadimos la siguiente línea, es un ejemplo:

55 23 * * * * /var/www/lightsquid/lightsquid/lightparser.pl

En este ejemplo se ejecuta todos los días del año a las 23:55. Podemos modificarlo para que se ajuste a nuestras necesidades.

Salimos y reiniciamos "cron"
# sudo /etc/init.d/cron restart

Listo.


5 comentarios:

  1. muy bueno, lo acabo de poner en practica .. pero:
    1 - en mi distro FC5 el /etc/apache2/conf.d/sites-available/default es en realidad vi /etc/httpd/conf/httpd.conf

    2- al ejemplo 55 23 * * * * /var/www/lightsquid/lightsquid/lightparser.pl

    le sobra un *

    Aun asi, muchas gracias! muy util

    ResponderEliminar
  2. Ok, me alegro!!

    Perdona, al escribir el pequeño manual se me "escaparía" un "*"!!.

    Muchas gracias por el apunte, lo corregiré!

    Gracias por seguir el blog!

    ResponderEliminar
  3. Perdona, pero estaba correctamente!

    Un saludo.

    ResponderEliminar
  4. Tengo un problema con el lightsquid no se ve y no me da error tampoco
    y tengo instlado las librerias que le hace falta libgd-gd2-perl pero me dice que si pero que es una version avanzada que puede ser que lo

    #!/usr/bin/perl
    #
    # LightSquid Project (c) 2004-2005 Sergey Erokhin aka ESL
    #
    # This program is free software; you can redistribute it and/or
    # modify it under the terms of the GNU General Public License
    # as published by the Free Software Foundation; either version 2
    # of the License, or (at your option) any later version.
    #
    # detail see in gnugpl.txt falta mas por mostrar

    ResponderEliminar
    Respuestas
    1. Hola Yaniel,

      Seguro que es un problema de permisos, intenta solucionar eso que seguro que está ahí el problema.

      Muchas gracias!

      Eliminar