Gerando e gerenciando relatórios mensais com o SARG

Um dos grandes problemas relacionados ao SARG diz respeito à criação e ao gerenciamento desses relatórios, haja visto que acabam consumindo quantidades significativas de espaço em disco. Neste artigo explico como gerar esses relatórios dos últimos 30 dias e apagar os excedentes.

[ Hits: 34.824 ]

Por: NewLinuxer em 25/06/2007


Gerando os relatórios



Primeiramente gostaria de salientar que este artigo foi baseado em artigos e dicas aqui do VOL e alguns tutoriais espalhados pela internet.

Para podermos gerar os relatórios diariamente teremos que criar um script para ser executado pelo cron.

Considerando que esta explicação se aplica a máquinas que estejam com o Squid e o Sarg rodando, vamos logo por a mão na massa (e se ainda não estão instalados, dê uma pesquisada aqui no site mesmo)!

Aí está o script:

#!/bin/bash

ANTERIOR=$(date --date "1 month ago" +%d/%m/%Y)
ATUAL=$(date --date "0 day ago" +%d/%m/%Y)

sarg -d $ANTERIOR-$ATUAL

Agora explicando.
  • Na primeira linha definimos a variável ANTERIOR, que se refere à data inicial do período ao qual o relatório se refere, não tem muito segredo, ela atribui a data no formato dd/mm/aaaa, porém é nela que está o "pulo do gato", pois a expressão "1 month ago" determina que a data na verdade é a data de um mês atrás, e poderia ser qualquer valor, por exemplo, "3 day ago", para três dias.
  • Na segunda definimos a variável ATUAL, que se refere à data de hoje, para o término do relatório, no mesmo formato, porém com 0 dias de atraso.
  • E na última linha simplesmente executamos o comando sarg com a opção -d seguido das duas variáveis separadas por hífen.

Tornamos o script executável com:

$ chmod +x /endereço_do_script/nome_do_script

Executamos e temos o relatório gerado, mas para que isso ocorra automaticamente devemos incluir uma entrada no arquivo /etc/crontab.

Para isso basta incluir a linha abaixo no arquivo:

59 23 * * * root /endereço_do_script/nome_do_script

Neste caso gerando o relatório todo dia às 23:59h.

    Próxima página

Páginas do artigo
   1. Gerando os relatórios
   2. Excluindo os relatórios antigos
Outros artigos deste autor

Análise sobre políticas de segurança da informação

Wordpress: Hospede blogs no seu Linux

Leitura recomendada

Instalação do Squid 3.2.0.14 no Slackware com execução em ambiente chroot

Colocando senha nos gerenciadores do Squid (SARG e MYSAR) de forma simples

Instalando o Squid + SquidGuard

Squid autenticando no Windows utilizando grupos do AD

Squid autenticando em Windows 2003 com msnt_auth

  
Comentários
[1] Comentário enviado por thyagofs em 25/06/2007 - 13:12h

Boa ! Dica simples, mas sempre de grande valia !
Obrigado por contribuir !

[2] Comentário enviado por adrianoturbo em 26/06/2007 - 21:37h

obrigado pelo tutorial bem objetivo.

[3] Comentário enviado por ronaldooliveira em 31/07/2007 - 18:08h

Boa Tarde amigo
Me foi muito útil essa explicação, inclusive já está rodando no meu servidor. Porém tenho mais um problema e gostaria de saber se vc poderia me ajudar. Tenho um servidor LTSP com 20 thin clients funcionando e acessando a internet, porém qdo o sarg gera o relatório aparece somente o do servidor LTSP. Ele mistura todos os acessos dos 20 thin clients, e mostra como se tivesse acesso do servidor LTSP. Vc sabe me dizer como consigo separar esses acessos e mostrar o relatório, thin client por thin client?

Agradeço desde já

[4] Comentário enviado por metabolicbh em 19/10/2007 - 13:17h

Já vi outros artigos como este, mas o seu ficou muito bem explicado. Parabens...

[5] Comentário enviado por Cr1stt0f3r em 30/10/2009 - 10:30h

olá amigo, qual a quantidade de relatorios que vc me indica a manter?

Desde ja agradeco.

[6] Comentário enviado por wtet em 30/10/2009 - 13:48h

Olá amigo,

a quantidade de relatórios e o tempo a mantê-los varia muito de acordo com a realidade de cada organização, o melhor a ser feito é uma análise da situação e identificar o que precisa ser verificado nesses relatórios, e quando serão necessários.
Também há que analisar a necessidade oriunda de requisitos regulamentatórios, como leis e contratos. Um exemplo disso é a obrigação que os provedores de internet terão (ou já têm, não sei ao certo) de manter logs por um tempo bem longo, algo como 3 anos.

porém para uma análise simples e rastreio de algum evento diria que algo como um mês é suficiente.

[7] Comentário enviado por chaplinux em 01/07/2010 - 12:22h

E Mensal e Anual? como devo proceder??


[8] Comentário enviado por rengaf1 em 24/04/2014 - 15:01h


[7] Comentário enviado por chaplinux em 01/07/2010 - 12:22h:

E Mensal e Anual? como devo proceder??



chaplinux faz assim...

Relatorio Mensal (apenas alterar para a variavel "0 day ago" para "1 month ago" )
Relatorio Anual (apenas alterar para a variavel "0 day ago" para "1 year ago" )

ou seja :

Mensal
------------------------------------------------------------------
#!/bin/bash

ANTERIOR=$(date --date "1 month ago" +%d/%m/%Y)
ATUAL=$(date --date "0 day ago" +%d/%m/%Y)

/usr/local/bin/sarg -d $ANTERIOR-$ATUAL -o /var/www/html/relatorios/mensal >/dev/null 2>&1

exit 0

----------------------------------------------------------

Anual

------------------------------------------------------------
#!/bin/bash

ANTERIOR=$(date --date "1 year ago" +%d/%m/%Y)
ATUAL=$(date --date "0 day ago" +%d/%m/%Y)

/usr/local/bin/sarg -d $ANTERIOR-$ATUAL -o /var/www/html/relatorios/anual >/dev/null 2>&1

exit 0
-----------------------------------------------


OBS: não esquecer de criar os diretorios /relatorios/mensal e /relatorios/anual. todos dentro de /var/www/html

qualquer duvida estamos ai.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts