Diferencia entre revisiones de «SARG»

(Instalación y configuración básica de SARG)
(Etiqueta: nuestro-nuestra)
(Etiqueta: nuestro-nuestra)
Línea 4: Línea 4:
 
|imagen=sarg.jpg
 
|imagen=sarg.jpg
 
|tamaño=
 
|tamaño=
|descripción=Es una aplicación que genera estadísticas en formato [[html]] usando como datos los [[logs]] de [[Squid]], de toda la navegación realizada a través del [[proxy]] en un intervalo de tiempo, es una de las [[herramientas]] más completas en ese sentido.
+
|descripción=Aplicación que genera estadísticas en formato [[html]] usando como datos los [[logs]] de [[Squid]], de toda la navegación realizada a través del [[proxy]] en un intervalo de tiempo, es una de las [[herramientas]] más completas en ese sentido.
 
|imagen2=               
 
|imagen2=               
 
|tamaño2=
 
|tamaño2=
Línea 23: Línea 23:
 
}}
 
}}
 
<div align="justify">
 
<div align="justify">
''' Sarg ''' (Squid Analysis Report Generator) es la más completa y fácil de utilizar herramienta para la generación de reportes a partir de las bitácoras de Squid.
+
''' Sarg ''' (''Squid Analysis Report Generator'' por sus siglas en inglés) es una de las más completas herramientas para la generación de reportes a partir de las [[bitácoras]] del proxy [[Squid]].  
 
Permite ver con detalle la actividad de todos los [[equipos]] y/o usuarios dentro de la red de área local, registrada en la bitácora de Squid.
 
 
   
 
   
 
== Introducción ==
 
== Introducción ==
 
   
 
   
Sarg es una herramienta que te permite ver a "donde" van tus usuarios en el
+
Es una herramienta que te permite ver con detalle la actividad de todos los [[equipos]] y/o usuarios dentro de la red de área local ([[LAN]]), registrada en la [[bitácora]] del proxy, provee mucha información acerca de las actividades de usuarios de [[Squid]]: tiempo, bytes, sitios, etc...
[[Internet]], provee mucha información acerca de las actividades de usuarios de Squid: tiempo, bytes, sitios, etc...
 
 
   
 
   
SARG es una [[aplicación]] que genera estadísticas en formato [[html]] usando como datos los logs de Squid, de toda la navegación realizada a través del [[proxy en un intervalo de tiempo, es una de las herramientas más completas en ese sentido. Es un programa para ver los informes de uso del Squid de una red. En palabras de su programador: Sarg es un Squid Analysis Report
+
Genera estadísticas en formato [[html]] usando como datos los logs de Squid, de toda la navegación realizada a través del [[proxy]] en un intervalo de tiempo, es una de las herramientas más completas en ese sentido. En palabras de su programador: Sarg es un Squid Analysis Report
 
   
 
   
 
== Escenario de uso ==
 
== Escenario de uso ==
 +
 
Tenemos un computador personal en la casa o la del trabajo, la cual usa [[Debian]] [[GNU/Linux]] como sistema operativo y es usado por varios miembros de la casa o usuarios (incluidos varios niños y menores de edad) cada uno con su cuenta de usuario, con acceso a internet, sin embargo no se tiene ningún tipo de supervisión por parte de un adulto en las horas en que navegan los niños y adolescentes.
 
Tenemos un computador personal en la casa o la del trabajo, la cual usa [[Debian]] [[GNU/Linux]] como sistema operativo y es usado por varios miembros de la casa o usuarios (incluidos varios niños y menores de edad) cada uno con su cuenta de usuario, con acceso a internet, sin embargo no se tiene ningún tipo de supervisión por parte de un adulto en las horas en que navegan los niños y adolescentes.
 
   
 
   
Línea 42: Línea 40:
  
 
== Instalación y configuración básica de SARG ==
 
== Instalación y configuración básica de SARG ==
El paquete sarg no viene incluido en todas las distribuciones, en [[Debian]]/ [[Ubuntu]] el paquete esta incluido, si su distribución no incluye el paquete sarg siempre puede compilarlo desde las fuentes.
 
  
En Debian/Ubuntu instale el paquete sarg vía apt:
+
El paquete sarg no viene incluido en todas las distribuciones, en Debian/Ubuntu el paquete esta incluido, si su distribución no incluye el paquete sarg siempre puede compilarlo desde las fuentes:
*apt-get install sarg
 
Sarg lee los parametros de configuración desde el archivo /etc/sarg/sarg.conf, antes de realizar cambios al archivo de configuración se recomienda que haga una copia de respaldo:
 
*cp /etc/squid/sarg.conf{,.orig}
 
  
Editamos el archivo principal de configuración de sarg para definir los parametros generales:
+
*En Debian/Ubuntu instale el paquete sarg vía apt:
*vim /etc/squid/sarg.conf
+
# apt-get install sarg
 +
*Sarg lee los parametros de configuración desde el archivo /etc/sarg/sarg.conf, antes de realizar cambios al archivo de configuración se recomienda que haga una copia de respaldo:
 +
# cp /etc/squid/sarg.conf{,.orig}
 +
*Editamos el archivo principal de configuración de sarg para definir los parametros generales:
 +
# vim /etc/squid/sarg.conf
 +
*Lo primero que debemos cambiar es la directiva language, la cual define el lenguaje en el Cambiamos el idioma de los reportes a Español:
 +
language Spanish
 +
*Defina la ruta predeterminada del archivo de logs de accesos de squid usando la directiva access_log, por ejemplo:
 +
access_log /var/log/squid3/access.log
 +
*Se recomienda que cambie el titulo de los reportes usando la directiva title, por ejemplo:
 +
title "Reportes de [[Acceso Web]] por Usuarios"
 +
Defina la ruta predeterminada para almacenar los reportes [[HTML]] usando la directiva output_dir, por ejemplo:
 +
output_dir /var/www/squid-reports/Manual
  
Lo primero que debemos cambiar es la directiva language, la cual define el lenguaje en el Cambiamos el idioma de los reportes a Español:
 
language Spanish
 
 
Defina la ruta predeterminada del archivo de logs de accesos de squid usando la directiva access_log, por ejemplo:
 
access_log /var/log/squid3/access.log
 
 
Se recomienda que cambie el titulo de los reportes usando la directiva title, por ejemplo:
 
title "Reportes de [[Acceso Web]] por Usuarios"
 
Defina la ruta predeterminada para almacenar los reportes [[HTML]] usando la directiva output_dir, por ejemplo:
 
output_dir /var/www/squid-reports/Manual
 
 
 
==  Recomendaciones  ==
 
==  Recomendaciones  ==
 
Una vez que se haya instalado el paquete de sarg, serán necearías algunas configuraciones previas antes de ejecutar por primera vez el generador de reportes.
 
Una vez que se haya instalado el paquete de sarg, serán necearías algunas configuraciones previas antes de ejecutar por primera vez el generador de reportes.
Línea 70: Línea 65:
 
Entonces, haremos una verificación previa para comprobar que en el archivo de configuración de squid (/etc/squid/squid.conf) se haya definido la opción para el archivo de registros:
 
Entonces, haremos una verificación previa para comprobar que en el archivo de configuración de squid (/etc/squid/squid.conf) se haya definido la opción para el archivo de registros:
 
   
 
   
*grep cache_access_log /etc/squid/squid.conf
+
grep cache_access_log /etc/squid/squid.conf
*TAG: cache_access_log
+
TAG: cache_access_log
cache_access_log /var/log/squid/access.log
+
cache_access_log /var/log/squid/access.log
 
   
 
   
 
Ahí nos muestra que efectivamente /var/log/squid/access.log es el archivo donde guardan los registros de acceso al servidor proxy.
 
Ahí nos muestra que efectivamente /var/log/squid/access.log es el archivo donde guardan los registros de acceso al servidor proxy.
 
   
 
   
Ahora haremos una comprobación de que los [[archivos en realidad existan:
+
Ahora haremos una comprobación de que los archivos en realidad existan:
 
   
 
   
*ls /var/log/squid/access.log*
+
ls /var/log/squid/access.log
/var/log/squid/access.log      /var/log/squid/access.log.2.gz  
+
/var/log/squid/access.log       
/var/log/squid/access.log.4.gz
+
/var/log/squid/access.log.2.gz  
/var/log/squid/access.log.1.gz  /var/log/squid/access.log.3.gz  
+
/var/log/squid/access.log.4.gz
/var/log/squid/access.log.5.gz
+
/var/log/squid/access.log.1.gz
 +
  /var/log/squid/access.log.3.gz  
 +
/var/log/squid/access.log.5.gz
 
   
 
   
 
Como vemos en el ejemplo, existe el archivo de log y otros comprimidos que son de las semanas anteriores. (En tu caso es posible que no existan los archivos .gz).
 
Como vemos en el ejemplo, existe el archivo de log y otros comprimidos que son de las semanas anteriores. (En tu caso es posible que no existan los archivos .gz).
Línea 89: Línea 86:
 
   
 
   
 
Este paquete de sarg, tiene preconfigurado el uso del archivo
 
Este paquete de sarg, tiene preconfigurado el uso del archivo
/var/log/squid/access.log
+
/var/log/squid/access.log
 
que es de donde sacara la información de accesos para generar los reportes.
 
que es de donde sacara la información de accesos para generar los reportes.
 
   
 
   
* cd /etc/sarg
+
cd /etc/sarg
* cp sarg.conf sarg.conf.orig
+
cp sarg.conf sarg.conf.orig
 
   
 
   
-  Abrir el archivo de [[configuración]] de sarg (/etc/sarg/sarg.conf)
+
-  Abrir el archivo de configuración de sarg (/etc/sarg/sarg.conf)
 
   
 
   
Y comprobar que
+
Y comprobar que:
   
+
 
access_log /var/log/squid/access.log
+
  access_log /var/log/squid/access.log
 
   
 
   
 
Este apuntando a el archivo access.log correctamente.
 
Este apuntando a el archivo access.log correctamente.
Línea 106: Línea 103:
 
parametro mande el reporte a /var/www/sarg/ONE-SHOT, lo cual esta definido en:
 
parametro mande el reporte a /var/www/sarg/ONE-SHOT, lo cual esta definido en:
 
   
 
   
output_dir /var/www/sarg/ONE-SHOT
+
output_dir /var/www/sarg/ONE-SHOT
 
   
 
   
 
El paquete crea los directorios en /var/www/sarg
 
El paquete crea los directorios en /var/www/sarg
 
   
 
   
* ls /var/www/sarg
+
ls /var/www/sarg
ONE-SHOT/  daily/  index.html  monthly/  sarg.css  weekly/
+
ONE-SHOT/  daily/  index.html  monthly/  sarg.css  weekly/
 
   
 
   
 
Como vemos existe un archivo index.html el cual tiene los enlaces para ver los reportes diarios, semanales y mensuales, y además el acceso a ONE-SHOT que es  a donde se van los reportes generados manualmente al ejecutar sarg sin ningún parámetro.
 
Como vemos existe un archivo index.html el cual tiene los enlaces para ver los reportes diarios, semanales y mensuales, y además el acceso a ONE-SHOT que es  a donde se van los reportes generados manualmente al ejecutar sarg sin ningún parámetro.
Línea 126: Línea 123:
 
Hagamos una prueba: como root ejecuta:
 
Hagamos una prueba: como root ejecuta:
 
   
 
   
* sarg
+
sarg
SARG: Records in file: 2588, reading: 100.00%
+
SARG: Records in file: 2588, reading: 100.00%
 
   
 
   
 
Ahora veamos si genero el [[directorio]] y su [[index]] del reporte.
 
Ahora veamos si genero el [[directorio]] y su [[index]] del reporte.
 
   
 
   
*ls /var/www/sarg/ONE-SHOT/
+
ls /var/www/sarg/ONE-SHOT/
2005Sep05-2005Sep05/ images/ index.html
+
2005Sep05-2005Sep05/images/index.html
 
   
 
   
 
Como vemos ahí puso un reporte de 2011Ago05-20011Ago05/
 
Como vemos ahí puso un reporte de 2011Ago05-20011Ago05/
 
   
 
   
 
Para poder verlo vía Web, será necesario configurar apache para que use la configuración de
 
Para poder verlo vía Web, será necesario configurar apache para que use la configuración de
/etc/apache/sarg.conf
+
/etc/apache/sarg.conf
 
Alias /sarg "/var/www/sarg/"
 
 
   
 
   
 +
Alias /sarg "/var/www/sarg/"
 
  <Directory "/var/www/sarg">
 
  <Directory "/var/www/sarg">
 
     DirectoryIndex index.html
 
     DirectoryIndex index.html
Línea 153: Línea 149:
 
   
 
   
 
Por ejemplo si quisiéramos ver los reportes desde nuestra maquina (la del admin)
 
Por ejemplo si quisiéramos ver los reportes desde nuestra maquina (la del admin)
Que tiene la ip
+
Que tiene la ip 10.0.20.2 agregaríamos una [[línea]] como esta:
10.0.20.2 agregaríamos una [[línea]] como esta:
 
 
   
 
   
Allow from 10.0.20.2
+
Allow from 10.0.20.2
 
   
 
   
 
Guardamos el archivo sarg.conf y agregamos unas líneas a /etc/apache/httpd.conf
 
Guardamos el archivo sarg.conf y agregamos unas líneas a /etc/apache/httpd.conf
Línea 162: Línea 157:
 
Al final agregar algo asi:
 
Al final agregar algo asi:
 
   
 
   
* ==> sarg configuration settings <==
+
==> sarg configuration settings <==
*PACKAGES REQUIRED: squid, sarg
+
PACKAGES REQUIRED: squid, sarg
 
   
 
   
Include /etc/apache/sarg.conf
+
Include /etc/apache/sarg.conf
 
   
 
   
 
Reiniciamos [[apache]]:
 
Reiniciamos [[apache]]:
 
   
 
   
*/etc/rc.d/rc.httpd restart
+
/etc/rc.d/rc.httpd restart
 
   
 
   
 
Y en un navegador web poner:
 
Y en un navegador web poner:
 
   
 
   
http://ip.ser.ver/sarg/
+
http://ip.ser.ver/sarg/
 
   
 
   
y veras un índice donde hay ligas a reportes de ONE-SHOT, daily, weekly y
+
y veras un índice donde hay ligas a reportes de ONE-SHOT, daily, weekly y monthly.
monthly.
 
 
   
 
   
 
Dar click en ONE-SHOT y veras el reporte que se acaba de generar.
 
Dar click en ONE-SHOT y veras el reporte que se acaba de generar.
Línea 182: Línea 176:
 
Listo, si deseas probar que genere un reporte diario puedes ejecutar:
 
Listo, si deseas probar que genere un reporte diario puedes ejecutar:
 
   
 
   
*sh /etc/cron.daily/sarg
+
sh /etc/cron.daily/sarg
 
   
 
   
 
y verlo vía Web.
 
y verlo vía Web.
Línea 188: Línea 182:
 
sitienes logs de una semana antes, o un mes ejecuta el [[script]] de:
 
sitienes logs de una semana antes, o un mes ejecuta el [[script]] de:
 
   
 
   
/etc/cron.weekly/sarg o /etc/cron.monthly/sarg
+
/etc/cron.weekly/sarg o /etc/cron.monthly/sarg
  
 
== Sistemas Operativos Compatibles ==
 
== Sistemas Operativos Compatibles ==
Línea 207: Línea 201:
 
*[[Windows|Windows]]
 
*[[Windows|Windows]]
 
   
 
   
 +
== Fuente ==
 +
*[http://debianyderivadas.blogspot.com/2011/02/instacion-y-configuracion-de-sarg-en.html Debian, instalacion y configuración de Sarg]
 +
*[http://tuxjm.net/docs/Manual_de_Instalacion_de_Servidor_Proxy_Web_con_Ubuntu_Server_y_Squid/html-multiples/monitorizacion-de-peticiones-y-generacion-de-reportes-de-acceso.html Manual de Sarg]
 
</div>
 
</div>
 
== Fuente ==
 
* Debian,instacion y configuracion desarg [http://debianyderivadas.blogspot.com/2011/02/instacion-y-configuracion-de-sarg-en.html]
 
* Manual de Administradores de Redes
 
 
 
[[Category:Redes_informáticas]]
 
[[Category:Redes_informáticas]]
 
[[Category:Linux]][[Category:Software]][[Category:Software_para_Linux]]
 
[[Category:Linux]][[Category:Software]][[Category:Software_para_Linux]]

Revisión del 22:19 21 feb 2012

SARG (Squid Analysis Report Generator)
Información sobre la plantilla
Sarg.jpg
Aplicación que genera estadísticas en formato html usando como datos los logs de Squid, de toda la navegación realizada a través del proxy en un intervalo de tiempo, es una de las herramientas más completas en ese sentido.
Lanzamiento inicial30 de enero de 2007
Sistemas Operativos compatiblesLinux, Unix, Windows
LicenciaGPL

Sarg (Squid Analysis Report Generator por sus siglas en inglés) es una de las más completas herramientas para la generación de reportes a partir de las bitácoras del proxy Squid.

Introducción

Es una herramienta que te permite ver con detalle la actividad de todos los equipos y/o usuarios dentro de la red de área local (LAN), registrada en la bitácora del proxy, provee mucha información acerca de las actividades de usuarios de Squid: tiempo, bytes, sitios, etc...

Genera estadísticas en formato html usando como datos los logs de Squid, de toda la navegación realizada a través del proxy en un intervalo de tiempo, es una de las herramientas más completas en ese sentido. En palabras de su programador: Sarg es un Squid Analysis Report

Escenario de uso

Tenemos un computador personal en la casa o la del trabajo, la cual usa Debian GNU/Linux como sistema operativo y es usado por varios miembros de la casa o usuarios (incluidos varios niños y menores de edad) cada uno con su cuenta de usuario, con acceso a internet, sin embargo no se tiene ningún tipo de supervisión por parte de un adulto en las horas en que navegan los niños y adolescentes.

Se desea poder controlar en lo posible lo que ellos pueden ver a través de internet, a su vez poder tener registro de lo que navegan para posteriormente evaluar en que gastan su tiempo cuando están usando el computador.

Sobre todo se desea que la solución basada en Squid+DansGuardian+SARG sea segura e infranqueable para que realmente pueda cumplir su cometido, es decir, que el usuario o el grupo de ellos que se planea controlar, no puedan tener manera de saltarse la restricción impuesta.

Instalación y configuración básica de SARG

El paquete sarg no viene incluido en todas las distribuciones, en Debian/Ubuntu el paquete esta incluido, si su distribución no incluye el paquete sarg siempre puede compilarlo desde las fuentes:

  • En Debian/Ubuntu instale el paquete sarg vía apt:
# apt-get install sarg
  • Sarg lee los parametros de configuración desde el archivo /etc/sarg/sarg.conf, antes de realizar cambios al archivo de configuración se recomienda que haga una copia de respaldo:
# cp /etc/squid/sarg.conf{,.orig}
  • Editamos el archivo principal de configuración de sarg para definir los parametros generales:
# vim /etc/squid/sarg.conf
  • Lo primero que debemos cambiar es la directiva language, la cual define el lenguaje en el Cambiamos el idioma de los reportes a Español:
language Spanish
  • Defina la ruta predeterminada del archivo de logs de accesos de squid usando la directiva access_log, por ejemplo:
access_log /var/log/squid3/access.log
  • Se recomienda que cambie el titulo de los reportes usando la directiva title, por ejemplo:
title "Reportes de Acceso Web por Usuarios"

Defina la ruta predeterminada para almacenar los reportes HTML usando la directiva output_dir, por ejemplo:

output_dir /var/www/squid-reports/Manual

Recomendaciones

Una vez que se haya instalado el paquete de sarg, serán necearías algunas configuraciones previas antes de ejecutar por primera vez el generador de reportes.

Este paquete esta hecho para trabajar en conjunción con squid, y se espera que se haya instalado y configurado squid

Entonces, haremos una verificación previa para comprobar que en el archivo de configuración de squid (/etc/squid/squid.conf) se haya definido la opción para el archivo de registros:

grep cache_access_log /etc/squid/squid.conf
TAG: cache_access_log
cache_access_log /var/log/squid/access.log

Ahí nos muestra que efectivamente /var/log/squid/access.log es el archivo donde guardan los registros de acceso al servidor proxy.

Ahora haremos una comprobación de que los archivos en realidad existan:

ls /var/log/squid/access.log
/var/log/squid/access.log       
/var/log/squid/access.log.2.gz 
/var/log/squid/access.log.4.gz
/var/log/squid/access.log.1.gz  
/var/log/squid/access.log.3.gz 
/var/log/squid/access.log.5.gz

Como vemos en el ejemplo, existe el archivo de log y otros comprimidos que son de las semanas anteriores. (En tu caso es posible que no existan los archivos .gz).

Comprobación de configuración

Este paquete de sarg, tiene preconfigurado el uso del archivo

/var/log/squid/access.log

que es de donde sacara la información de accesos para generar los reportes.

cd /etc/sarg
cp sarg.conf sarg.conf.orig

- Abrir el archivo de configuración de sarg (/etc/sarg/sarg.conf)

Y comprobar que:

access_log /var/log/squid/access.log

Este apuntando a el archivo access.log correctamente.

Este paquete esta preconfigurado para que cuando se ejecute sarg sin ningun parametro mande el reporte a /var/www/sarg/ONE-SHOT, lo cual esta definido en:

output_dir /var/www/sarg/ONE-SHOT

El paquete crea los directorios en /var/www/sarg

ls /var/www/sarg
ONE-SHOT/  daily/  index.html  monthly/  sarg.css  weekly/

Como vemos existe un archivo index.html el cual tiene los enlaces para ver los reportes diarios, semanales y mensuales, y además el acceso a ONE-SHOT que es a donde se van los reportes generados manualmente al ejecutar sarg sin ningún parámetro.

Los directorios daily, weekly y monthly están reservados para que hay se guarden los reportes generados por el trabajo de cron, (/etc/cron.{daily,weekly,monthly}/sarg)

Si deseas cambiar el lenguaje de los reportes cambia la opción de:

Lenguaje English a cualquiera de los lenguajes que están disponibles en el Archivo de configuración, por ejemplo: languaje Spanish

Bien si hiciste alguna modifcacion a el archivo /etc/sarg/sarg.conf guardalo y Hagamos una prueba: como root ejecuta:

sarg
SARG: Records in file: 2588, reading: 100.00%

Ahora veamos si genero el directorio y su index del reporte.

ls /var/www/sarg/ONE-SHOT/
2005Sep05-2005Sep05/images/index.html

Como vemos ahí puso un reporte de 2011Ago05-20011Ago05/

Para poder verlo vía Web, será necesario configurar apache para que use la configuración de

/etc/apache/sarg.conf

Alias /sarg "/var/www/sarg/"
<Directory "/var/www/sarg">
   DirectoryIndex index.html
   Order deny,allow
   Deny from all
   Allow from 127.0.0.1
 </Directory>

Ese archivo contiene las directivas de acceso a ese directorio (http://ip.ser.ver/sarg/) que esta restringido solo para el host local.

Por ejemplo si quisiéramos ver los reportes desde nuestra maquina (la del admin) Que tiene la ip 10.0.20.2 agregaríamos una línea como esta:

Allow from 10.0.20.2

Guardamos el archivo sarg.conf y agregamos unas líneas a /etc/apache/httpd.conf

Al final agregar algo asi:

==> sarg configuration settings <==
PACKAGES REQUIRED: squid, sarg

Include /etc/apache/sarg.conf

Reiniciamos apache:

/etc/rc.d/rc.httpd restart

Y en un navegador web poner:

http://ip.ser.ver/sarg/

y veras un índice donde hay ligas a reportes de ONE-SHOT, daily, weekly y monthly.

Dar click en ONE-SHOT y veras el reporte que se acaba de generar.

Listo, si deseas probar que genere un reporte diario puedes ejecutar:

sh /etc/cron.daily/sarg

y verlo vía Web.

sitienes logs de una semana antes, o un mes ejecuta el script de:

/etc/cron.weekly/sarg o /etc/cron.monthly/sarg

Sistemas Operativos Compatibles

Sarg puede ejecutarse en los siguientes Sistemas Operativos:

Fuente