SARG – Gerador de Relatórios de Análise de Squid e Ferramenta de Monitoramento de Consumo de Banda da Internet

O SARG é uma ferramenta de código aberto que permite analisar os arquivos de log do squid e gera relatórios em HTML com informações sobre usuários, endereços IP, sites mais acessados, uso total de largura de banda, tempo decorrido, downloads, sites de acesso negado, relatórios diários, semanais e mensais.

O SARG é uma ferramenta muito útil para visualizar quanto da largura de banda da internet é utilizada por máquinas individuais na rede e para observar em quais sites os usuários da rede estão acessando.

Install Sarg Squid Log Analyzer in Linux

Neste artigo, vou guiá-lo sobre como instalar e configurar o SARGGerador de Relatório de Análise do Squid em sistemas RHEL/CentOS/Fedora e Debian/Ubuntu/Linux Mint.

Instalando Sarg – Analisador de Logs do Squid no 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, lembre-se de que sem a configuração do Squid e do DNS, não há utilidade em instalar o sarg no sistema, pois ele não funcionará de forma alguma. Portanto, é um pedido para instalá-los primeiro antes de prosseguir com a instalação do Sarg.

Siga estes guias para instalar DNS e Squid em seus sistemas Linux:

Instale o Servidor DNS Somente em Cache
  1. Instale o Servidor Somente em Cache DNS no RHEL/CentOS 7
  2. Instalar Servidor DSN Apenas de Cache no RHEL/CentOS 6
  3. Instalar Servidor DSN Apenas de Cache no Ubuntu e Debian
Instalar o Squid como Proxy Transparente
  1. Configurar o Proxy Transparente do Squid no Ubuntu e Debian
  2. Instalar Servidor de Cache do Squid no RHEL e CentOS

Passo 1: Instalando o Sarg a partir da Fonte

O pacote ‘sarg‘ por padrão não está incluído em distribuições baseadas em RedHat, então precisamos compilar e instalar manualmente a partir do tarball de origem. Para isso, precisamos instalar alguns pacotes pré-requisitos adicionais no sistema antes de compilá-lo a partir da fonte.

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

Depois de instalar todos os pacotes necessários, faça o download do último tarball de origem do sarg ou você pode usar o seguinte comando wget para baixar e instalar conforme mostrado abaixo.

# 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
No Debian/Ubuntu/Linux Mint

Nas distribuições baseadas em Debian, o pacote sarg pode ser facilmente instalado a partir dos repositórios padrão usando o gerenciador de pacotes apt-get.

$ sudo apt-get install sarg

Etapa 2: Configurando Sarg

Agora é hora de editar alguns parâmetros no arquivo de configuração principal do SARG. O arquivo contém muitas opções para editar, mas editaremos apenas os parâmetros necessários como:

  1. Caminho dos logs de acesso
  2. Diretório de saída
  3. Formato da data
  4. Sobrescrever relatório para a mesma data.

Abra o arquivo sarg.conf com o editor de sua escolha e faça as alterações conforme mostrado abaixo.

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

Agora descomente e adicione o caminho original para o seu arquivo de log de acesso do squid.

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

Em seguida, adicione o caminho correto do diretório de saída para salvar os relatórios do squid gerados nesse diretório. Por favor, observe que, nas distribuições baseadas em Debian, o diretório raiz da web do Apache é ‘/var/www‘. Portanto, tenha cuidado ao adicionar os caminhos corretos da raiz da web em suas distribuições Linux.

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

Defina o formato de data correto para os relatórios. Por exemplo, ‘date_format e‘ exibirá os relatórios no 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

Em seguida, descomente e defina a sobrescrita do relatório como ‘Sim’.

# 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

Isso é tudo! Salve e feche o arquivo.

Etapa 3: Gerando Relatório Sarg

Depois de concluir a parte de configuração, é hora de gerar o relatório de log do squid usando o seguinte comando.

# sarg -x        [On RedHat based systems]
# sudo sarg -x        [On Debian based systems]
Saída de exemplo
[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: O comando ‘sarg -x’ irá ler o arquivo de configuração ‘sarg.conf‘ e pegar o caminho do arquivo de log de acesso do squid ‘access.log‘ e gerar um relatório em formato html.

Passo 4: Avaliando o Relatório Sarg

Os relatórios gerados são colocados em ‘/var/www/html/squid-reports/‘ ou ‘/var/www/squid-reports/‘, os quais podem ser acessados a partir do navegador web usando o endereço.

http://localhost/squid-reports
OR
http://ip-address/squid-reports
Janela Principal do Sarg
Sarg Main Window
Data Específica
Date Wise Report
Relatório do Usuário
User Bandwidth Report
Principais Sites Acessados
Top Accessed Sites
Principais Sites e Usuários
Top Accessed Sites and Users
Downloads Principais
Top Downloads
Acesso Negado
Denied Access Sites
Falhas de Autenticação
Proxy Authentication Failures

Passo 5: Geração Automática de Relatório Sarg

Para automatizar o processo de geração de relatório sarg em um determinado intervalo de tempo via tarefas cron. Por exemplo, vamos supor que você queira gerar relatórios a cada hora automaticamente, para fazer isso, você precisa configurar uma tarefa Cron.

# crontab -e

Em seguida, adicione a seguinte linha ao final do arquivo. Salve e feche.

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

A regra Cron acima irá gerar o relatório SARG a cada 1 hora.

Links de Referência

Página Inicial do Sarg

Isso é tudo com o SARG! Vou escrever alguns outros artigos interessantes sobre Linux, então fique ligado no TecMint.com e não se esqueça de deixar seus comentários valiosos.

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