Professional Documents
Culture Documents
Page 1 of 7
Introduccin a SARG
SARG es una herramienta de analisis de logs de Squid, tiene soporte para generar reportes en diferentes idiomas, mediante los reportes de uso web usted podra
obtener la siguiente informacin:
Top Ten de sitios ms visitados
Reportes diarios, semanales y mensuales
Grficas semanales y mensuales del consumo por usuario/host
Detalles de todos los sitios a los que entro un usuario/host
Descargas
Sarg ser configurado para generar reportes web de los accesos a Internet de forma periodica, adems de poder ejecutarlo manualmente para generar reportes de
fechas, usuarios o dominios en especifico.
Reporte Manual
Estos reportes son aquellos creados por el administrador del sistema y ejecutados manualmente, pueden ser personalizados en base a diferentes criterios,
son almacenados en el directorio /var/www/squid-reports/Manual, cada reporte bajo su propio directorio.
Reporte Diario
Estos reportes son generados automticamente por un trabajo de CRON diario a las 6:25 am y genera un reporte del da anterior, son almacenados en el
directorio /var/www/squid-reports/Diario, cada reporte bajo su propio directorio.
Reporte Semanal
Estos reportes son generados automticamente por un trabajo de CRON cada semana a las 6:47 am y genera un reporte del da anterior, son almacenados
en el directorio /var/www/squid-reports/Semanal, cada reporte bajo su propio directorio.
Reporte Mensual
Estos reportes son generados automticamente por un trabajo de CRON cada mes a las 6:52 am y genera un reporte del da anterior. Estos reportes son
almacenados en el directorio /var/www/squid-reports/Mensual, cada reporte bajo su propio directorio.
Siga en la siguiente seccin para instalar sarg.
Sarg lee los parametros de configuracin desde el archivo /etc/sarg/sarg.conf, antes de realizar cambios al archivo de configuracin se recomienda que haga
una copia de respaldo:
# cp /etc/squid/sarg.conf{,.orig}
Editamos el archivo principal de configuracin 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 Espaol:
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:
http://tuxjm.net/docs/Manual_de_Instalacion_de_Servidor_Proxy_Web_con_Ubuntu_Ser... 15/10/2015
Page 2 of 7
Defina la ruta predeterminada para almacenar los reportes HTML usando la directiva output_dir, por ejemplo:
output_dir /var/www/squid-reports/Manual
Nota
Esta ruta solo ser usada por los reportes que se generen manualmente, los reportes automticos usarn rutas diferentes.
Opcionalmente puede agregar la informacin del generador de reportes sarg usando la directiva show_sarg_info.
show_sarg_info yes
Si desea personalizar ms la configuracin predeterminada de sarg, se recomienda que lea los comentarios del archivo sarg.conf(5). En la siguiente seccin
veremos como generar reportes manualmente.
Nota
Recuerde que el archivo /var/log/squid3/access.log se rota cada semana.
Los reportes que son generados manualmente desde la lnea de comandos son almacenados en el directorio /var/www/squid-reports/Manual, para acceder va
web vaya al URL: http://proxy.example.com/squid-reports/Manual/.
Importante
El acceso a estos reportes no esta protegido, siga leyendo las siguientes secciones para ver como asegurar el acceso a los reportes.
Para generar un reporte de una fecha especifica, o rango de fechas en especifico use el parametro -d, por ejemplo:
# sarg -d 14/04/2010
Nota
El formato de la fecha es DD/MM/YYYY.
Si desea generar un reporte usando un rango de fechas, use:
# sarg -d 14/04/2010-15/04/2010
Nota
El formato de la fecha para un rango es: DD/MM/YYYY-DD/MM/YYYY.
Si desea generar un reporte para una hora en especifico use la opcin -t para indicar la hora, por ejemplo:
# sarg -d 14/04/2010 -t 12
Nota
Los formatos de hora soportados son: HH, HH:MM HH:MM:SS.
Para generar un reporte de un usuario en especifico use:
# sarg -d 14/04/2010 -u jperez
http://tuxjm.net/docs/Manual_de_Instalacion_de_Servidor_Proxy_Web_con_Ubuntu_Ser... 15/10/2015
Page 3 of 7
Si desea obtener ms informacin al generar el reporte se recomienda que use la opcin -x la cual ejecuta sarg en modo debug, por ejemplo:
# sarg -x -d 14/04/2010 -s tuxjm.net
SARG: Init
SARG: Loading configuration from: /etc/squid/sarg.conf
SARG: Cargando archivo de exclusiones desde: /etc/squid/sarg.hosts
SARG: Cargando archivo de exclusiones desde: /etc/squid/sarg.users
SARG: Parametros:
SARG:
SARG:
Nombre de host o direccion IP (-a) =
SARG:
Log del agente de usuario (-b) =
SARG:
Archivo de exclusiones (-c) = /etc/squid/sarg.hosts
SARG:
Fecha desde-hasta (-d) = 14/04/2010-14/04/2010
SARG: Direccion e-mail a donde enviar reportes (-e) =
SARG:
Archivo de configuracion (-f) = /etc/squid/sarg.conf
SARG:
Formato de fecha (-g) = USA (mm/dd/yyyy)
SARG:
Reporte IP (-i) = No
SARG:
Log de entrada (-l) = /var/log/squid3/access.log
SARG:
Resolviendo direccion IP (-n) = No
SARG:
Directorio de salida (-o) = /var/www/squid-reports/Manual/
SARG:
Usa direccion IP en vez de userid (-p) = No
SARG:
Sitio accedido (-s) = tuxjm.net
SARG:
Hora (-t) =
SARG:
Usuario (-u) =
SARG:
Directorio temporal (-w) = /tmp
SARG:
Mensajes de depuración (-x) = Si
SARG:
Mensajes de procesos (-z) = No
SARG:
SARG: sarg version: 2.2.5 Mar-03-2008
SARG: Maximum file descriptor: cur=1024 max=1024, changed to cur=20000 max=20000
SARG: Cargando tabla de usuarios: /etc/squid/sarg.usertab
SARG: Leyendo archivo de log de accesos: /var/log/squid3/access.log
SARG:
Registros leidos: 836912, escritos: 65, excluido: 5
SARG: Formato Squid log
SARG: Periodo: 2010Apr14-2010Apr14
SARG: pre-sorting files
SARG: Creando archivo de periodo
SARG: Creando archivo: /tmp/sarg/192.168.92.97
SARG: Ordenando archivo: /tmp/sarg/192.168.92.97
SARG: Creando reporte: 192.168.92.97
SARG: Creando index.html
SARG: Fin
Note que nos imprime las opciones que usar para generar el reporte. En la siguiente seccin veremos como configurar cron para automatizar la generacin de
los reportes diarios, semanales y mensales de sarg.
http://tuxjm.net/docs/Manual_de_Instalacion_de_Servidor_Proxy_Web_con_Ubuntu_Ser... 15/10/2015
Page 4 of 7
fi
# Get yesterday's date
YESTERDAY=$(date --date "1 days ago" +%d/%m/%Y)
# Get one week ago date
WEEKAGO=$(date --date "7 days ago" +%d/%m/%Y)
# Eliminar reportes diarios con mas de 5 semanas (40 dias) de antiguedad
echo "Rotacion Semanal del dia `date +%d-%m-%Y`" >> /var/log/squid3/sarg-rotate.log
find /var/www/squid-reports/Semanal -type d -mtime +40 -exec rm -rf {} \; >> /var/log/squid3/sarg-rotate.log 2>&1
rm -rf /var/www/squid-reports/Semanal/index.html
# Ejecutar sarg
exec /usr/bin/sarg \
$LOG_FILES \
-o /var/www/squid-reports/Semanal \
-d $WEEKAGO-$YESTERDAY > /dev/null 2>&1
exit 0
http://tuxjm.net/docs/Manual_de_Instalacion_de_Servidor_Proxy_Web_con_Ubuntu_Ser... 15/10/2015
Page 5 of 7
</style>
<div align=center>
<table cellpadding=0 cellspacing=0>
<tr>
<th class="logo">
<a href="http://proxy.example.com">
<img src="./images/sarg.png" border="0" align="absmiddle" title="SARG"></a>
<font class="logo">Squid Analysis Report Generator</font>
</th>
</tr>
<tr>
<th class="title"> 
</th></tr>
<table>
<table border=0 cellspacing=6 cellpadding=7>
<tr>
<th align=center nowrap><b><font face=Arial size=4 color=green>Reportes de Acceso Web en proxy.example.com</font></b></th>
</tr>
<tr>
<td align=center bgcolor=beige><font face=Arial size=3><a href=Diario>Diario</a></font></td>
</tr>
<tr>
<td align=center bgcolor=beige><font face=Arial size=3><a href=Semanal>Semanal</a></font></td>
</tr>
<tr>
<td align=center bgcolor=beige><font face=Arial size=3><a href=Mensual>Mensual</a></font></td>
</tr>
<tr>
<td align=center bgcolor=beige><font face=Arial size=3><a href=Manual>Manual</a></font></td>
</tr>
</table>
</div>
</body>
</html>
O use sed:
# sed -i s/proxy.example.com/fwproxy.midominio.com/g /var/www/squid-reports/index.html
Para acceder a los reportes web apunte su navegador al URL: http://proxy.example.com/, ver una liga al directorio de cada uno de los reportes arriba
mencionados. Si desea proteger el acceso a los reportes se recomienda seguir con la siguiente seccin para configurar apache para conexiones SSL y protegido
por contrasea.
/
# Configuracion VHOST para acceder de forma segura
# y autenticada por LDAP a los reportes de squid
NameVirtualHost *:443
<VirtualHost *:443>
ServerAdmin proxy@example.com
ServerName proxy.example.com
DocumentRoot /var/www/squid-reports
# Parametros para configuraciones SSL y certificados
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/ssl/certs/proxy.example.com.crt
SSLCertificateKeyFile /etc/ssl/private/proxy.example.com.key
#SSLCACertificateFile /etc/ssl/certs/cacert.pem
http://tuxjm.net/docs/Manual_de_Instalacion_de_Servidor_Proxy_Web_con_Ubuntu_Ser... 15/10/2015
Page 6 of 7
<Directory /var/www/squid-reports/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# Permitir solo autenticacion a usuarios autorizados
AuthType Basic
AuthName "Solo Usurios Autorizados"
AuthUserFile /etc/apache2/.sarg-passwd
require valid-user
# Permitir solo autenticacion a usuarios miembros del grupo LDAP "Domain Admins"
#AuthType Basic
#AuthBasicProvider ldap
#AuthName "Solo Usurios Autorizados"
#AuthLDAPUrl ldap://ldap.example.com:389/ou=Users,dc=example,dc=com?uid?sub
#AuthzLDAPAuthoritative On
#AuthLDAPGroupAttribute memberUid
#AuthLDAPGroupAttributeIsDN off
#Require ldap-group cn=Domain Admins,ou=Groups,dc=example,dc=com
</Directory>
</VirtualHost>
Activando el VHOST:
# a2ensite sarg.conf
/
...
...
<Directory /var/www/squid-reports/>
Options None
AllowOverride None
Order deny,allow
deny from all
</Directory>
/
# apache2ctl -t -D DUMP_VHOSTS
http://tuxjm.net/docs/Manual_de_Instalacion_de_Servidor_Proxy_Web_con_Ubuntu_Ser... 15/10/2015
Page 7 of 7
/
# elinks https://proxy.example.com
Introduccin a Calamaris
http://tuxjm.net/docs/Manual_de_Instalacion_de_Servidor_Proxy_Web_con_Ubuntu_Ser... 15/10/2015