anúncios

Mostrando postagens com marcador Sarg. Mostrar todas as postagens
Mostrando postagens com marcador Sarg. Mostrar todas as postagens

sábado, 14 de janeiro de 2012

Usando Sarg para monitorar acessos do Squid

Hoje irei explicar como instalar e configurar o Sarg, para gerar relatórios de acessos do servidor proxy Squid configurado no post anterior.

PS: Até a data deste post a versão do Sarg é 2.3.2, portanto verifique antes a versão atual, e apenas substitua pela versão correspondente na linha wget. Ok.

Fazendo download e instalando o Sarg
$mkdir downloads/sarg
$wget "http://prdownloads.sourceforge.net/sarg/sarg-2.3.2.tar.gz?download
$tar -xzvf sarg-2.3.2.tar.gz
$mv sarg-2.3.2.tar.gz sarg
#mkdir /var/www/htdocs/relatorios
#mkdir /usr/local/squid/sarg/
#cd sarg
#./configure --enable-sysconfdir=/usr/local/squid/sarg --enable-htmldir=/var/www/htdocs/relatorios
#make
#make install

Arquivo de configuração do Sarg
#vim /usr/local/etc/sarg.conf

# Relatório proxy Squid por dia

# Arquivo de LOG do Squid, na sua configuração do Squid tem
# falando onde se encontra este arquivo.
access_log /var/log/squid/access.log

# Título da página HTML
title "Relatório Proxy Squid"

# --- Visual ---
# Aqui tem várias variáveis que você pode mudar para deixar o
# visual do relatório (cores, fontes, etc) de acordo com o que
# você quiser. Aqui estou usando os valores padrões.
font_face Arial
header_color darkblue
header_bgcolor blanchedalmond
header_font_size -1
background_color white
text_color black
text_bgcolor beige
title_color green
#--- Fim do Visual ---

# Diretório Temporário
temporary_dir /tmp

# Diretório de Saída para as página de relatório, ou seja,
# onde o relatório vai ficar para consulta via um navegador.
# "Geralmente" esse diretório tem que estar dentro do root do seu
# servidor Web
output_dir /var/www/htdocs/relatorios/dia

# Qual critério de ordem para a seção "TopUser?" USER/CONNECT/BYTES/TIME
# Isso irá organizar o relatório na seção de TopUsers, colocando os usuários
# que mais baixaram bytes primeiro.
topuser_sort_field BYTES reverse

# Qual critério de ordem para a seção "User"? SITE/CONNECT/BYTES/TIME
# Isso irá organizar a seção de usuários da mesma forma que o item anterior.
user_sort_field BYTES reverse


# Arquivo com hosts que não devem estar nos relatórios
#exclude_hosts /usr/local/etc/exclude.hosts
exclude_hosts /usr/local/squid/sarg/exclude.hosts

# Formato da data (e=dd/mm/yy, u=mm/dd/yy, w=yy/ww)
date_format e

# Limite de logs até os antigos serem removidos, quando houver mais
# de N relatórios, o mais antigo é automaticamente removido. Aqui
# estamos indicando para nunca apagar nada.
lastlog 0

# Remover arquivos temporários após o uso?
remove_temp_files yes

# Gerar o index.html? (only = gera só o index.html principal)
index yes

# Sobrescrever o relatório se já existe?
overwrite_report yes

# O que fazer com registros sem usuário? (ignore/ip/everybody)
records_without_userid ignore

# Usar vírgula ao invés de ponto?
use_comma no

# Qual a quantidade de sites mais visitados à listar?
topsites_num 100

# Qual critério de ordem para o topsites? CONNECT/BYTES A/D
# Aqui diz para ordenar os sites mais acessados por utilização de banda,
# em forma decrescente.
topsites_sort_order BYTES D

# Arquivo de códigos HTTP para serem ignorados no relatório
#exclude_codes /usr/local/etc/exclude_codes
exclude_codes /usr/local/squid/sarg/exclude_codes

# Tempo de checkagem
max_elapsed 28800000

# -- Tipo de Relatorio a ser gerado --
# + topsites - Mostra o site, conexão e bytes
# + sites_users - Mostra que usuários estavam acessando um site
# + users_sites - Mostra sites acessados pelo usuário
# + date_time - Mostra quantidade de bytes usados por dia e hora
# + denied - Mostra todos os sites negados com URL completa
# + auth_failures - Mostra falhas de autentificação
report_type topsites users_sites sites_users date_time denied auth_failures site_user_time_date

# Exibir URLs completas? (Não recomendado)
long_url no

# Se alguma linha do access.log conter uma das strings, será ignorada
#exclude_string /etc/sarg/exclude.strings
exclude_string /usr/local/squid/sarg/exclude.strings

# Mostrar mensagem de sucesso na geração do relatório no fim?
show_successful_message no

# Campos para a seçao topusers
topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE

# Quantidade de usuários para listar no relatório topsites
topuser_num 0


#sarg
SARG: Registros no arquivo: 442, lendo: 100,00%

Verifique se existe o arquivo /etc/cron.daily/sarg. Caso não existir, crie o arquivo chamado como /usr/local/bin/sarg
Coloque o código do script abaixo em um desses arquivos

#!/bin/bash

HOJE=$(date --date "1 day ago" +%d/%m/%Y)

/usr/sbin/sarg -f /usr/local/etc/sarg.conf -d $HOJE-$HOJE
exit 0


Adicione o script no /etc/crontab

01 1 * * * root /etc/cron.daily/sarg

O crontab irá ser executado o script todos os dias de madrugada.

Visualizando os acessos
http://IP-SERVIDOR-PROXY/relatorios/dia/

Feito!