Pesquisa de site

SARG - Gerador de relatórios de análise de squid e ferramenta de monitoramento de largura de banda da Internet


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

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

Neste artigo irei orientá-lo sobre como instalar e configurar o SARGSquid Analysis Report Generator no RHEL/CentOS Sistemas >/Fedora e Debian/Ubuntu/Linux Mint.

Instalando Sarg – Squid Log Analyzer no Linux

Presumo que você já instalou, configurou e testou o servidor Squid como proxy transparente e DNS para a resolução de nomes no modo de cache. Caso contrário, instale-os e configure-os primeiro antes de prosseguir com a instalação do Sarg.

Importante: Lembre-se de que sem a configuração do Squid e do DNS, não adianta instalar o sarg no sistema, ele irá não vai funcionar de jeito nenhum. Portanto, é necessário 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 cache
  1. Instale o servidor DSN somente cache no RHEL/CentOS 7
  2. Instale o servidor DSN somente cache no RHEL/CentOS 6
  3. Instale o servidor DSN somente cache no Ubuntu e Debian
Instale o Squid como proxy transparente
  1. Configurando o proxy transparente Squid no Ubuntu e Debian
  2. Instale o servidor Squid Cache no RHEL e CentOS

Etapa 1: Instalando Sarg a partir da fonte

O pacote ‘sarg‘ por padrão não está incluído nas distribuições baseadas em RedHat, então precisamos compilá-lo e instalá-lo manualmente a partir do tarball fonte. Para isso, precisamos que alguns pacotes adicionais de pré-requisitos sejam instalados no sistema antes de compilá-lo a partir do código-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, baixe o tarball de origem sarg mais recente ou você pode usar o seguinte comando wget para fazer o download 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

Em 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 registros de acesso
  2. Diretório de saída
  3. Formato de data
  4. Substituir relatório para a mesma data.

Abra o arquivo sarg.conf com o editor de sua preferência 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 remova o comentário e adicione o caminho original ao seu arquivo 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 gerados do squid nesse diretório. Observe que nas distribuições baseadas em Debian o diretório raiz da web do Apache é ‘/var/www’. Portanto, tenha cuidado ao adicionar caminhos de raiz da web corretos 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á relatórios no 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

Em seguida, remova o comentário e defina o relatório Substituir 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.

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 amostra
[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' lerá o arquivo de configuração 'sarg.conf' e pegará o caminho 'access.log' do squid e gera um relatório em formato html.

Etapa 4: avaliando o relatório Sarg

Os relatórios gerados colocados em '/var/www/html/squid-reports/' ou '/var/www/squid-reports/' que podem ser acessados no navegador da 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

Sites mais acessados

Principais sites e usuários

Principais downloads

Acesso negado

Falhas de autenticação

Etapa 5: geração automática de relatório Sarg

Para automatizar o processo de geração de relatório sarg em determinado período de tempo por meio de tarefas cron. Por exemplo, vamos supor que você deseja gerar relatórios de hora em hora automaticamente. Para fazer isso, você precisa configurar um trabalho Cron.

crontab -e

Em seguida, adicione a seguinte linha na parte inferior do arquivo. Salve e feche-o.

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

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

Links de referência

Página inicial do Sarg

É isso com SARG! Estarei trazendo mais alguns artigos interessantes sobre Linux, até então fique ligado em TecMint.com e não se esqueça de adicionar seus valiosos comentários.