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.

Neste artigo, vou guiá-lo sobre como instalar e configurar o SARG – Gerador 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
- Instale o Servidor Somente em Cache DNS no RHEL/CentOS 7
- Instalar Servidor DSN Apenas de Cache no RHEL/CentOS 6
- Instalar Servidor DSN Apenas de Cache no Ubuntu e Debian
Instalar o Squid como Proxy Transparente
- Configurar o Proxy Transparente do Squid no Ubuntu e Debian
- 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:
- Caminho dos logs de acesso
- Diretório de saída
- Formato da data
- 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

Data Específica

Relatório do Usuário

Principais Sites Acessados

Principais Sites e Usuários

Downloads Principais

Acesso Negado

Falhas de Autenticação

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
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/