Sabemos que os relatórios periódicos do SARG ocupam um espaço significativo em disco, portanto, como deletar relatórios N dias antigos? Como automatizar a criação de relatórios diários? Neste artigo explico como criar scripts que se encarregam de resolver tais problemas de maneira fácil.
Bom, para agendarmos para todo o fim do dia uma criação de
relatório do SARG, os quais contém os dados organizados
referentes ao access.log do SQUID, utilizaremos um
script bash simples e, naturalmente, o comando cron do Linux.
Vou partir do princípio que você já possui o SARG instalado.
Se ainda não, procure por informações aqui mesmo no Viva o
Linux ou na página oficial do software:
Na primeira linha criamos a variável HOJE, a qual guarda a data
de hoje no formato dd/mm/aaaa. A segunda linha é onde efetivamente
criamos o relatório do dia.
sarg -f /etc/sarg/sarg.conf
Pede para o sarg usar o .conf indicado como arquivo de configuração.
O parâmetro -d nos permite selecionar um período de tempo, portanto
usamos, DIA_DE_HOJE - DIA_DE_HOJE, o que significa o dia de hoje =P.
Até ai tudo OK. O index.html do sarg será atualizado e o
diretório referente aos dados do relatório criado será alocado onde
você especificou no sarg.conf (output_dir).
OBS: Certifique-se de dar permissão de execução para o script (chmod +x script).
Adicione a seguinte linha no seu /etc/crontab para agendar para 18:00h sua criação diária:
[1] Comentário enviado por y2h4ck em 11/09/2004 - 11:15h
O Sarg e muito bacana, mas tem um probleminha que deve ser lembrado aqui, eu ja tive esse problema e muitaaaaaaaaaaa gente que usou ele tambem teve o mesmo.
bom quando o log access do squid vai aumentando o SARG ja nao consegue gerar relatorios, entao se vc quer que ele gere relatorios diarios e bom vc montar um sistema de rotate diario para seus logs ou entao
colocar no cron para ele gerar o primeiro relatorio, e depois limpar o log, para iniciar um outro relatorio no dia seguinte e limpar dinovo... assim se previne o acumulo e o sarga vai funcionar perfeitinho.
[4] Comentário enviado por tgrunge em 11/02/2005 - 09:36h
cara muito legal a sua matéria mas ainda to começando no linux e gostaira de saber uma coisa, esses scripts são rodados uma vez e daí funcionam, ou eu tenho q colocar algum comando pra eles serem executados sempre q o linux for iniciado, eu uso o kurumim 3.
[5] Comentário enviado por astrodyum em 11/02/2005 - 13:08h
Opa, obrigado. No kurumin nao sei como funciona a auto inicializacao, mas eh dentro de /etc/rc.d/ ai dentro vc tem arquivos que contem oq sera inicializado automaticamente. Abraco cara
[6] Comentário enviado por mfreddo em 24/03/2005 - 08:03h
Ola, gostei muito das dicas que você forneceu, e gostaria de colaborar.
Este script é bem bacana, muito util e evita um grande problema que é lotar o disco de coisas velhas, mas existe uma maneira um pouco mais facil de se fazer isso:
O Sarg possui um item no arquivo de configuração ( sarg.conf ) que limita a quantidade de "relatorios" .
# TAG: lastlog n
# How many reports files must be keept in reports directory.
# The oldest report file will be automatically removed.
# 0 - no limit.
#
lastlog 90
Neste caso, o sarg deixaria "90" "dias" ( se ele fosse gerado diariamente ) ou 90 "semanas" se ele fosse gerado semanalmente ..... )
Um Abraco
[7] Comentário enviado por reimassupilami em 06/05/2005 - 16:58h
eu to mexendo com sarg aki pra gerar relatorios do squid... parece que por padrão ele gera os relatorios a partir do dia primeiro do mes até o dia corrente, tipo do dia 01/05 até 06/05 q é hoje... mas eu preciso gerar os antigos tb... tem como informar para o sarg o periodo, ou algo assim?
o parametro -d parecia resolver meu problema, assim:
sarg -d 03/05/2005-06/05/2005
isso funciona... porém se eu informar o início em um mês anterior ao atual, mesmo assim ele vai pegar apenas no dia 1 do mês atual... eita... tipo, se eu informar pra pegar desde o dia 01/03:
[9] Comentário enviado por dexters em 25/12/2005 - 12:57h
Olá amigo, muito bom sua Materia este script resolve, agora eu gostaria de saber se eu poderia usa-lo para apagar tambem os logs do squid access.log onde eu resolveria meu problema do sarg parar de fazer relatorio por causa do tamanho do log do squid, eu teria que mudar so o diretorio do logo do Par2 para o diretorio do log squid? so isso resolveria?
[13] Comentário enviado por edsonrodsilva em 23/02/2006 - 15:47h
Cara Parebens!! Exelente materia
Este script vai resolver meu problema!! mas quando o executo ele não remove os relatorios antigos!!
da o sequinte erro:
rm: imposivel remover "23FEB2006-23Feb2006" : Arquivo ou diretorio não encontrado
[19] Comentário enviado por ducksjr em 16/02/2007 - 14:15h
# No sarg.conf se for configurado a linha a seguir como funcionaria:
lastlog 3
# Eu tenho relátorios diarios, semanais e mensais.
# Seriam excluidas os ultimos 3 meses, as ultimas 3 semanas ou os ultimos 3 dias
# Outra duvida seria necessario dar um restart no sarg ou algo parecido ou ele le o arquivo de configuração no momento em que gera os relatórios
# Caso eu faça um script para apagar os arquivo de acordo com um determinado tempo
# Como faria para alterar de também as paginas index.html (de forma automatica)?
[20] Comentário enviado por diegofsousarn em 29/08/2007 - 20:22h
Para solucionar esse problema do nosso amigo edsonrodsilva, enfrentado tambem por mim eu fiz o seguinte, coloquei uma variavel indicando onde esta o script ficando assim:
#!/bin/bash
# Script by Rodrigo Polesso
# 24/08/2004
# Este script se encarrega de excluir relatórios SARG antigos, afim de manter a integridade do sistema futuramente.
Programa=/etc/init.d/sarg-descart
# Na variável abaixo coloque o diretório no qual os relatórios
# são gerados
DIRETORIO_SARG="/home/public/squid-reports/"
# Preencha esta variável abaixo para dizer ao script quantos dias um relatório irá permanecer em disco.
NUMERO_DE_DIAS_ANTIGO=0
[23] Comentário enviado por alex_a_souza em 28/11/2007 - 14:58h
?comentario=eu tenho o sarg instalado e funcionando.
Eu gero o relatorio manualmente quando preciso dele.
Tem dias que preciso filtrar, só gerar do dia anterior ao atual, sempre funciona.
ex: sarg -f /usr/local/etc/sarg/sarg.conf -d 27/11/2007/-25/11/2007
Agora eu estou precisando gerar um relatorio som com os sites PORNO e os IPs.
Tentei colocar dessa forma
ex: sarg -f /usr/local/etc/sarg/sarg.conf -s sex
Mas só aparece um site acessado por IP, quando gero sem o "-s sex", ele alem de mostrar todos os sites mostra que tem varios sites porno.
Então alguem sabe como eu faço pra gerar esse relatorio com todos os sites PORNOS acessados???
Desde já muito obrigado
[24] Comentário enviado por Deuz em 11/01/2008 - 10:37h
Bom dia! é um assunto muito bacana pra quem gosta e precisa monitorar os acessos, até por questão de serguraça, eu tenho o sarg rodando normalmente, gera os relatorios todos os dias sem dor de cabeça, mas o que eu queria e sempre quiz, era gerar relatorios mensal e anual, já procurei pela net mas nao achei nada, ouve umas dicas, mas nos testes nao funcionou. Se alguem puder me dar uma ajuda nisso, fico muito agradecido, o comando que uso pra gerar diario é esse:
/usr/sbin/sarg -f /etc/sarg/sarg.conf -p
cp /var/log/squid/access.log /var/log/squid/copia`date +%d%m%y`access.log
echo "" > /var/log/squid/access.log
[25] Comentário enviado por clovisclerice em 12/02/2008 - 04:18h
ai galera e tenho o sarg instalado e o squid funcionando perfeitamente mais não sei o pq o meu sarg não ta gerando os relatórios do squid não sei se eu não soube instalar ou se é algum bug quando entro em http://192.168.1.2/squid-reports ai tem Daily,Weekly,Montly mais dentro deles não tem nada e eu não consigo descobrir o pq estou usando o ubuntu 7.10 server.
[26] Comentário enviado por Nikitiuk em 22/09/2008 - 16:39h
Só um comentário que pode ajudar alguns de vocês:
Para que o sarg consiga gerar um relatório de um determinado período é necessário que o access.log do squid contenha este período.
Como normalmente temos o logrotate configurado, provavelmente teremos os relatórios do sarg com um período limitado.
Isso parece lógico, mas às vezes esquecemos...
[30] Comentário enviado por georgejales em 21/05/2009 - 17:30h
BOM DIA A TODOS. ALGUEM JÁ EDITOU O RELATÓRIO DO SARG PARA EXIBIR O IP DA MAQUINA E O USUÁRIO USADO NO ACESSO??? ALGUEM TEM ALGUMA IDÉIA DE COMO FAZER ISSO??? EU ACREDITO QUE O PRIMEIRO PASSO É EDITAR O ARQUIVO SARG.CSS. OBRIGADO.
[31] Comentário enviado por alerocha79 em 14/06/2010 - 15:02h
Georgejales,
Você pode criar relatórios no sarg facilmente, por padrão ele exibe ip, mas você pode configurar DDNS, DHCP e BIND9 para carregar automaticamente por nomes de computadores. Mais informações em
[33] Comentário enviado por emanum em 29/12/2011 - 09:13h
######## DUVIDA #########
Pessoal seguinte como sou novo preciso de um grande help, cada dia que o sarg gera um relatorio fica dentro de um diretorio com o nome do dia e seu index.
Minha Duvida é a seguinte como posso ter um index com todos os dias do mes ? tipo
dia 01 os dados principais
dia 02 os dados principais
.
.
.
?
[34] Comentário enviado por thiaguin em 18/07/2012 - 11:30h
Alguem saberia me informar como gerar um relatorio no sarg com somente as paginas digitadas no browser pelos usuarios?
eu encaminho os relatorios para diretoria da empresa, e fica muito confuso de entender os relatorios com tanta subpagina e cache nos relatorios.