SARG - Generador de informes de análisis de calamar y herramienta de monitoreo de ancho de banda de Internet


SARG es una herramienta de código abierto que le permite analizar los archivos de registro de calamar y genera hermosos informes en formato HTML con información sobre los usuarios, direcciones IP, sitios de mayor acceso, uso total de ancho de banda, tiempo transcurrido, descargas, sitios web de acceso denegado, informes diarios, informes semanales e informes mensuales.

El SARG es una herramienta muy útil para ver cuánto ancho de banda de Internet utilizan las máquinas individuales en la red y puede ver en qué sitios web acceden los usuarios de la red.

En este artículo, lo guiaré sobre cómo instalar y configurar SARG - Squid Analysis Report Generator en sistemas RHEL/CentOS/Fedora y Debian/Ubuntu/Linux Mint.

Instalación de Sarg - Squid Log Analyzer en Linux

Supongo que ya instaló, configuró y probó el servidor Squid como un proxy transparente y DNS para la resolución de nombres en modo de almacenamiento en caché. De lo contrario, instálelos y configúrelos primero antes de continuar con la instalación de Sarg.

Importante: recuerde que sin la configuración de Squid y DNS, no es necesario instalar sarg en el sistema, no funcionará en absoluto. Por lo tanto, es una solicitud para instalarlos primero antes de continuar con la instalación de Sarg.

Siga estas guías para instalar DNS y Squid en sus sistemas Linux:

  1. Instale el servidor DSN de caché solo en RHEL/CentOS 7
  2. Instale el servidor DSN de caché solo en RHEL/CentOS 6
  3. Instale Cache Only DSN Server en Ubuntu y Debian

  1. Configuración de Squid Transparent Proxy en Ubuntu y Debian
  2. Instale Squid Cache Server en RHEL y CentOS

El paquete "sarg" por defecto no está incluido en las distribuciones basadas en RedHat, por lo que necesitamos compilarlo e instalarlo manualmente desde el código fuente. Para esto, necesitamos algunos paquetes de requisitos previos adicionales para ser instalados en el sistema antes de compilarlo desde la fuente.

# yum install –y gcc gd gd-devel make perl-GD wget httpd

Una vez que haya instalado todos los paquetes requeridos, descargue el último tarball fuente de sarg o puede usar el siguiente comando wget para descargarlo e instalarlo como se muestra a continuación.

# wget http://liquidtelecom.dl.sourceforge.net/project/sarg/sarg/sarg-2.3.10/sarg-2.3.10.tar.gz
# tar -xvzf sarg-2.3.10.tar.gz
# cd sarg-2.3.10
# ./configure
# make
# make install

En las distribuciones basadas en Debian, el paquete sarg se puede instalar fácilmente desde los repositorios predeterminados usando el administrador de paquetes apt-get.

$ sudo apt-get install sarg

Ahora es el momento de editar algunos parámetros en el archivo de configuración principal de SARG. El archivo contiene muchas opciones para editar, pero solo editaremos los parámetros requeridos como:

  1. Ruta de los registros de acceso
  2. Directorio de salida
  3. Formato de fecha
  4. Sobrescribir el informe para la misma fecha.

Abra el archivo sarg.conf con el editor que elija y realice los cambios que se muestran a continuación.

# vi /usr/local/etc/sarg.conf        [On RedHat based systems]
$ sudo nano /etc/sarg/sarg.conf        [On Debian based systems]

Ahora elimine el comentario y agregue la ruta original a su archivo de registro de acceso de Squid.

# sarg.conf
#
# TAG:  access_log file
#       Where is the access.log file
#       sarg -l file
#
access_log /var/log/squid/access.log

A continuación, agregue la ruta correcta del directorio de salida para guardar los informes de calamar generados en ese directorio. Tenga en cuenta que, en las distribuciones basadas en Debian, el directorio raíz web de Apache es "/ var/www". Por lo tanto, tenga cuidado al agregar las rutas raíz web correctas en sus distribuciones de Linux.

# TAG:  output_dir
#       The reports will be saved in that directory
#       sarg -o dir
#
output_dir /var/www/html/squid-reports

Establezca el formato de fecha correcto para los informes. Por ejemplo, "date_format e" mostrará los informes en formato "dd/mm/aa".

# TAG:  date_format
#       Date format in reports: e (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww)
#
date_format e

A continuación, elimine el comentario y establezca Sobrescribir informe en "Sí".

# TAG: overwrite_report yes|no
#      yes - if report date already exist then will be overwritten.
#       no - if report date already exist then will be renamed to filename.n, filename.n+1
#
overwrite_report yes

¡Eso es! Guarde y cierre el archivo.

Una vez que haya terminado con la parte de configuración, es hora de generar el informe de registro de calamar usando el siguiente comando.

# sarg -x        [On RedHat based systems]
# sudo sarg -x        [On Debian based systems]
[[email protected] squid]# sarg -x

SARG: Init
SARG: Loading configuration from /usr/local/etc/sarg.conf
SARG: Deleting temporary directory "/tmp/sarg"
SARG: Parameters:
SARG:           Hostname or IP address (-a) =
SARG:                    Useragent log (-b) =
SARG:                     Exclude file (-c) =
SARG:                  Date from-until (-d) =
SARG:    Email address to send reports (-e) =
SARG:                      Config file (-f) = /usr/local/etc/sarg.conf
SARG:                      Date format (-g) = USA (mm/dd/yyyy)
SARG:                        IP report (-i) = No
SARG:             Keep temporary files (-k) = No
SARG:                        Input log (-l) = /var/log/squid/access.log
SARG:               Resolve IP Address (-n) = No
SARG:                       Output dir (-o) = /var/www/html/squid-reports/
SARG: Use Ip Address instead of userid (-p) = No
SARG:                    Accessed site (-s) =
SARG:                             Time (-t) =
SARG:                             User (-u) =
SARG:                    Temporary dir (-w) = /tmp/sarg
SARG:                   Debug messages (-x) = Yes
SARG:                 Process messages (-z) = No
SARG:  Previous reports to keep (--lastlog) = 0
SARG:
SARG: sarg version: 2.3.7 May-30-2013
SARG: Reading access log file: /var/log/squid/access.log
SARG: Records in file: 355859, reading: 100.00%
SARG:    Records read: 355859, written: 355859, excluded: 0
SARG: Squid log format
SARG: Period: 2014 Jan 21
SARG: Sorting log /tmp/sarg/172_16_16_55.user_unsort
......

Nota: El comando "sarg -x" leerá el archivo de configuración "sarg.conf", tomará la ruta del calamar "access.log" y generará un informe en formato html.

Los informes generados se encuentran en "/ var/www/html/squid-reports /" o "/ var/www/squid-reports /" a los que se puede acceder desde el navegador web utilizando la dirección.

http://localhost/squid-reports
OR
http://ip-address/squid-reports

Automatizar el proceso de generación de informes sarg en un período de tiempo determinado mediante trabajos cron. Por ejemplo, supongamos que desea generar informes por horas de forma automática; para ello, debe configurar un trabajo Cron.

# crontab -e

A continuación, agregue la siguiente línea al final del archivo. Guárdalo y ciérralo.

* */1 * * * /usr/local/bin/sarg -x

La regla Cron anterior generará un informe SARG cada 1 hora.

Enlaces de referencia

Página de inicio de Sarg

¡Eso es todo con SARG! Estaré con algunos artículos más interesantes sobre Linux, hasta entonces, estad atentos a TecMint.com y no olvides agregar tus valiosos comentarios.