SARG – Generador de Informes de Análisis de Squid y Herramienta de Monitoreo de Ancho de Banda de Internet

SARG es una herramienta de código abierto que te permite analizar los archivos de registro de squid y generar informes detallados en formato HTML con información sobre usuarios, direcciones IP, sitios más visitados, uso total de ancho de banda, tiempo transcurrido, descargas, sitios web denegados, 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 para observar en qué sitios web acceden los usuarios de la red.

Install Sarg Squid Log Analyzer in Linux

En este artículo te guiaré sobre cómo instalar y configurar SARGGenerador de Informes de Análisis de Squid en sistemas RHEL/CentOS/Fedora y Debian/Ubuntu/Linux Mint.

Instalando Sarg – Analizador de Registros de Squid en Linux

I assume that you already installed, configured and tested Squid server as a transparent proxy and DNS for the name resolution in caching mode. If not, please install and configure them first before moving further installation of Sarg.

Importante: Por favor recuerda que sin la configuración de Squid y DNS, no tiene sentido instalar sarg en el sistema, ya que no funcionará en absoluto. Por lo tanto, es recomendable instalarlos primero antes de proceder con la instalación de Sarg.

Sigue estas guías para instalar DNS y Squid en tus sistemas Linux:

Instalar Servidor DNS de Solo Caché
  1. Instalar Servidor DNS de Solo Caché en RHEL/CentOS 7
  2. Instalar servidor DNS solo de caché en RHEL/CentOS 6
  3. Instalar servidor DNS solo de caché en Ubuntu y Debian
Instalar Squid como Proxy Transparente
  1. Configurar Proxy Transparente Squid en Ubuntu y Debian
  2. Instalar servidor de caché Squid en RHEL y CentOS

Paso 1: Instalar Sarg desde la fuente

El paquete ‘sarg‘ por defecto no está incluido en las distribuciones basadas en RedHat, por lo que necesitamos compilar e instalarlo manualmente desde el archivo fuente. Para esto, necesitamos instalar algunos paquetes pre-requisitos adicionales en el sistema antes de compilarlo desde la fuente.

En RedHat/CentOS/Fedora
# yum install –y gcc gd gd-devel make perl-GD wget httpd

Una vez que hayas instalado todos los paquetes requeridos, descarga el último archivo fuente de sarg o puedes usar el siguiente comando wget para descargar 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 Debian/Ubuntu/Linux Mint

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

$ sudo apt-get install sarg

Paso 2: Configurar 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 parámetros requeridos como:

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

Abra el archivo sarg.conf con su editor de elección y realice los cambios como se muestra a continuación.

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

Ahora descomente 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 squid 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 correctas del directorio raíz web 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/yy‘.

# 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, descomente 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 todo! Guarde y cierre el archivo.

Paso 3: Generar Informe Sarg

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

# sarg -x        [On RedHat based systems]
# sudo sarg -x        [On Debian based systems]
Salida de ejemplo
[root@localhost 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‘ y tomará la ruta del registro de acceso de squid ‘access.log‘ para generar un informe en formato html.

Paso 4: Evaluación del Informe Sarg

Los informes generados se colocan en ‘/var/www/html/squid-reports/‘ o ‘/var/www/squid-reports/‘ los cuales se pueden acceder desde el navegador web utilizando la dirección.

http://localhost/squid-reports
OR
http://ip-address/squid-reports
Ventana Principal de Sarg
Sarg Main Window
Fecha Específica
Date Wise Report
Informe de Usuario
User Bandwidth Report
Sitios Más Accedidos
Top Accessed Sites
Sitios y Usuarios Principales
Top Accessed Sites and Users
Descargas Principales
Top Downloads
Acceso Denegado
Denied Access Sites
Fallas de Autenticación
Proxy Authentication Failures

Paso 5: Generación Automática de Informe Sarg

Para automatizar el proceso de generación de informes sarg en un intervalo de tiempo dado a través de tareas cron. Por ejemplo, supongamos que desea generar informes de forma automática cada hora, para hacer esto, necesita configurar una tarea Cron.

# crontab -e

A continuación, agregue la siguiente línea al final del archivo. Guarde y cierre.

* */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! Publicaré algunos artículos más interesantes sobre Linux, mientras tanto, permanezcan atentos a TecMint.com y no olviden agregar sus valiosos comentarios.

Source:
https://www.tecmint.com/sarg-squid-analysis-report-generator-and-internet-bandwidth-monitoring-tool/