lunes, 12 de marzo de 2012

Pfsense 2.x: Reporte Sarg para Squid

Vamos a configurar un reporte mas completo para squid que el que pfsense nos ofrece, SARG es un reporteador muchas mas completo, mas informacion:


El unico inconveniente es que no viene en los paquetes disponibles, asi que necesitamos ensuciarnos las manos e instalarlo uno mismo, pero no es nada del otro mundo.

Otra cosa, sarg es un programa para obtener reportes mas completos de squid, sin embargo debe uno configurar cron para definir los intervalos de ejecucion de sarg, alguien ya se ensucio las manos por nosotros asi que tambien debemos instalarlo.

Uniendo estos 2 paquetes vamos a obtener lo que buscamos, algo asi:


Reportes con Sarg.

Reportes Diarios.
Informacion por Equipo.
Detalles por Equipo.
A mi en lo particular se me hacen mas completos que los de lightsquid.

Pero vamos empezando a trabajar.

Necesitamos saber la siguiente informacion antes de arrancar este proceso:


a)Necesitamos saber que servidor FTP de FreeBSD vamos a usar, en este caso voy a usar:
ftp.FreeBSD.org

b)Saber en que categoria esta sarg:
www

c)Saber que version de los ports vamos a usar:
packages-8.2-release
(Recordar que pfsebse 2.0.1 corre bajo 8.1-RELEASE-p6 )

d)La version a usar de sarg:
sarg-2.2.7.1_3.tbz


Pasos a seguir:

1) Entramos a la consola(no hay otra).

2) Ejecutamos el comando pkg_add -r y la direccion ftp de nuestro servidor seleccionado mas la ruta exacta de nuestra aplicacion.


pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.2-release/www/sarg-2.2.7.1_3.tbz
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.2-release/www/sarg-2.2.7.1_3.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.2-release/All/expat-2.0.1_1.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.2-release/All/png-1.4.5.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.2-release/All/jpeg-8_3.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.2-release/All/freetype2-2.4.4.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.2-release/All/fontconfig-2.8.0,1.tbz... Done.
Running fc-cache to build fontconfig cache...
/usr/local/lib/X11/fonts: caching, new cache contents: 0 fonts, 1 dirs
/usr/local/lib/X11/fonts/local: caching, new cache contents: 0 fonts, 0 dirs
/root/.fonts: skipping, no such directory
/var/db/fontconfig: cleaning cache directory
/root/.fontconfig: not cleaning non-existent cache directory
fc-cache: succeeded
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.2-release/All/gd-2.0.35_7,1.tbz... Done.


Si la aplicacion requiere dependencias las va a bajar e instalar tambien.

3) Ya tenemos la aplicacion instalada, verificamos:

Verificando paquetes instalados.

4) Configurando sarg.

Sarg se instala donde freebsd instala sus ports? /usr/local/etc,

Ubicacion de Sarg.
Debemos copiar sarg.conf.default a sarg.conf.

cp sarg.conf.default sarg.conf

Editamos sarg.conf, como sigue, aqui solo estoy mostrando los parametros que yo creo convenientes, lo que no muestro no aparece:

access_log /var/squid/log/access.log  ==> debe ser el mismo que tiene squid.
graphs yes
graph_days_bytes_bar_color orange
graph_font /usr/local/etc/sarg/fonts/DejaVuSans.ttf
title "================Squid Reportes de Acceso==============="
font_face Tahoma,Verdana,Arial
header_color darkblue
header_bgcolor blanchedalmond
font_size 9px
header_font_size 9px
title_font_size 11px
 background_color white
text_color #000000
text_bgcolor lavender
title_color green
logo_text "Nombre de la Empresa"
temporary_dir /tmp
output_dir /usr/local/www/squid-reports  ==> asi vamos a accesarr via web.
resolve_ip no
user_ip yes
topuser_sort_field BYTES reverse
exclude_hosts none
date_format u
lastlog 30
remove_temp_files yes
index yes
index_tree file
overwrite_report no
records_without_userid ip
use_comma no
topsites_num 10
topsites_sort_order CONNECT D
index_sort_order D
report_type topusers topsites sites_users users_sites date_time denied auth_failures site_user_time_date downloads
usertab none
long_url yes
date_time_by bytes
charset Latin1
user_report_fields CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE
topuser_num 5
weekdays 0-6
hours 0-23
show_sarg_info yes
show_sarg_logo yes
www_document_root /usr/local/www

5) Ahora sigue configurar el script que se encargara de ejecutar sarg y asi darnos nuestros reportes de uso.

Lo podemos bajar desde su sitio oficial:

http://www.initzero.it/products/opensource/sarg-reports/download/sarg-reports

Lo guardamos en /root/scripts/sarg-reports.sh

#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
## Italian Language
    SARG=/usr/local/bin/sarg
    CONFIG=/usr/local/etc/sarg/sarg.conf
    HTMLOUT=/usr/local/www/squid-reports
    PAGETITLE="Estadisticas de Proxy para $(hostname)"

    LOGOIMG=http://www.initzero.it/images/initzero-logo.jpg
    LOGOLINK=http://www.initzero.it
    DAILY=Diario
    WEEKLY=Semanal
    MONTHLY=Mensual

EXCLUDELOG1="SARG: Nessun records trovato."
EXCLUDELOG2="SARG: Fine"
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Como podran ver marque en bold negro lo que debemos cambiar, todo lo que no aparece no cambio nada.

6) Poner el bit de ejecucion a el batch.

chmod +x sarg-reports.sh

7) Configurar cron para que ejecute el batch:

50 23 * * * /root/scripts/sarg-reports.sh today
59 23 * * * /usr/local/sbin/squid -k rotate
0 0 * * 0 /root/scripts/sarg-reports.sh weekly
0 0 1 * * /root/scripts/sarg-reports.sh montly

Como podran ver, necesitamos ejecutar primero el script antes de rotar el log de squid.

8) Listo.


Consejo:Siempre ejecuten sus batches manualmente, ya que a veces uno se puede equivocar y puede tener errores de sintaxis, mas vale asegurar que si funcionan :-).

2 comentarios:

Unknown dijo...

hola tengo algunas dudas sobre sarg, pero tengo la nueva version de pfsense 2.2.6...
muchas gracias por el aporte...
el script para ejecutar sarg, me gustaría personalizarlo con los logos institucionales de mi trabajo, como podría hacerlo...

gracias

Unknown dijo...

hola pheriko, buen articulo, pero ya he actualizado a pfsense 2.3, y ya no tiene el paquete sarg. ahora solo tiene lightsquid. ahora me gustaria saber como puedo personalizar los reportes de lightsquid?
gracias por tu colaboracion.