SARG é uma ferramenta de código aberto que permite analisar os arquivos de log do squid e gera relatórios detalhados em formato 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 pode monitorar em quais sites os usuários da rede estão acessando.

Neste artigo, vou guiá-lo sobre como instalar e configurar o SARG – Gerador de Relatórios de Análise do Squid em sistemas RHEL/CentOS/Fedora e Debian/Ubuntu/Linux Mint.
Instalando Sarg – Analisador de Log 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 que sem a configuração do Squid e do DNS, não há utilidade em instalar o sarg no sistema, pois não funcionará de forma alguma. Portanto, é solicitado que os instale primeiro antes de prosseguir com a instalação do Sarg.
Siga estes guias para instalar o DNS e o Squid em seus sistemas Linux:
Instalar Servidor DNS Somente de Cache
- Instalar Servidor DNS Somente de Cache no RHEL/CentOS 7
- Instalar Servidor de DNS Apenas de Cache no RHEL/CentOS 6
- Instalar Servidor de DNS Apenas de Cache no Ubuntu e Debian
Instalar o Squid como Proxy Transparente
- Configurar o Squid como Proxy Transparente no Ubuntu e Debian
- Instalar Servidor de Cache do Squid no RHEL e CentOS
Passo 1: Instalando o Sarg a partir da Origem
O pacote ‘sarg‘ por padrão não está incluído em distribuições RedHat, portanto, precisamos compilá-lo manualmente e instalá-lo 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 instalá-lo, 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 no 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
Passo 2: Configurando o 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 só iremos editar os parâmetros necessários como:
- Caminho dos logs de acesso
- Diretório de saída
- Formato de data
- Sobrescrever relatório para a mesma data.
Abra o arquivo sarg.conf com o seu editor de 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, note que, nas distribuições baseadas no 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 sobrescrição 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! Salve e feche o arquivo.
Passo 3: Gerando o Relatório do 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 irá 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 do 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 utilizando o endereço.
http://localhost/squid-reports OR http://ip-address/squid-reports
Janela Principal do Sarg

Data Específica

Relatório do Usuário

Principais Sites Acessados

Principais Sites e Usuários

Principais Downloads

Acesso Negado

Falhas de Autenticação

Passo 5: Gerando Automaticamente o Relatório do Sarg
Para automatizar o processo de geração do relatório sarg em um determinado intervalo de tempo via trabalhos cron. Por exemplo, vamos supor que você queira gerar relatórios de forma horária automaticamente, para fazer isso, você precisa configurar um trabalho Cron.
# crontab -e
Em seguida, adicione a seguinte linha no 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
É isso com o SARG! Eu estarei publicando mais alguns artigos interessantes sobre o Linux, então continue ligado no TecMint.com e não se esqueça de adicionar seus comentários valiosos.
Source:
https://www.tecmint.com/sarg-squid-analysis-report-generator-and-internet-bandwidth-monitoring-tool/