Tecnologia e Diversão em um só lugar …

20 20UTC Fevereiro 20UTC 2009

LOG – SARG

Arquivado em: Linux - Server e Desktop — rnobrega @ 3:18 PM

Problema Raiz

Com a crescente melhora nos links de comunicação e com o aumento dos serviços on-line de comunicação, P2P, Redes Sociais, Webmail, etc…, precisei aumentar o controle para melhorar o uso dos recursos de telecomunicação disponibilizados pela organização para execução dos trabalhos.

Fizemos campanhas de conscientização sobre o uso da internet, nada adiantou o que me deixou com um problema muito grande a ser resolvido da melhor maneira possível (para a empresa é claro).

Procurando por soluções para armazenamento de LOG e controle de acesso a internet, verifiquei que a dupla SQUID+SARG dariam conta do recado de maneira eficiente. Abaixo uma breve descrição do ambiente onde está funcionando harmoniosamente (ou quase) essa solução.

Ambiente

2-Servidores

2-Links de 1.2 Mbps

No meu caso utilizei a distribuição Debian Etch 4.0, com todas as atualizações de segurança e com os seguintes serviços habilitados.

  • KDE
  • SQUID
  • IPTABLES
  • ETHERAPE

Tenho, além disso, um servidor Windows 2003 SP2 rodando DHCP, IIS, TS, Servidor de Impressão e Arquivos, DNS e AD.

Claro que o cenário não é o mais recomendado para a configuração de todos os serviços descritos, mas é isso que tenho de recurso.

Objetivo

Criar LOG de acesso a sites da internet, como já estava utilizando o SQUID como proxy, verifiquei quais as opções. Entre elas encontrei o SARG, falando com amigos e depois fazendo cursos, resolvi colocar o SARG pra funcionar, de que forma:

  • Criar LOG de tudo que foi acessado por DIA / SEMANA / MÊS
  • Criar ranking dos sites mais acessados
  • Usuários que mais acessaram

Apenas com a habilitação do SARG já se consegue saber qual o volume trafegado por usuário em que período e também em qual site, isso já me bastaria se eu não precisasse com frequência bloquear usuários, devido acesso a sites inapropriados.

Para que seja possível criar os dados por DIA / SEMANA / MÊS, você deve ter umas 1.000 opções, então não vou dizer faça igual pois caso seu ambiente seja diferente é possível que com algumas adaptações seja mais pratico para alcançar seus objetivos.

Abaixo coloco como referencia todas as informações necessárias para estudo de como montar LOG´s com o SARG.

Primeiro:

Crie no seu Linux um diretório para armazenar os arquivos que serão gerados pelo SARG.

Crie dois arquivos para armazenar as informações do LOG semanal e mensal (para o diário não precisa), dentro do diretório criado anteriormente.

Crie três script´s com o nome que você achar melhor (Sugestão: SARG_DIARIO.sh , SARG_SEMANAL.sh, SARG_MENSAL.sh), eles serão responsáveis por gerar os relatórios do SARG sem que você precise ficar rodando comandos na mão.

Segundo:

Abaixo imagem com o conteúdo do script DIARIO.


Explicação: Todas as linhas que começam com # são comentários, a linha 4 “pega” o conteúdo do access.log gerado durante os acessos à internet e faz um “append ¹ “ no final do arquivo já existente SQUID_MENSAL.log , a linha 7 faz a mesma coisa que a 4 porém armazena os LOG´s de apenas uma semana.

Na linha 10 finalmente é gerado o relatório de acesso diário do SARG dentro do diretório /var/www/squid-reports/Daily/ quando acessar a tela de relatórios do SARG é possível solicitar se os relatórios serão apresentados por Dia / Semana / Mês.

Depois veremos como os arquivos SQUID_SEMANAL E SQUID_MENSAL são zerados ao final de cada período.

¹ Append: Termo usado para explicar quando o conteúdo será acrescentado a um arquivo já existente, sem apagar os dados já contidos no arquivo.

Abaixo imagem com o conteúdo do script SEMANAL.


Neste script é possível identificar na linha 2 os relatórios do SARG sendo gerados dentro do diretório /var/www/squid-reports/Weekly, depois de gerar os relatórios, executamos um comando para que o arquivo SQUID_Semanal.log volte a ser zerado, começando a armazenar os LOG´s da próxima semana.


Abaixo imagem com o conteúdo do script MENSAL.


Neste script é possível identificar na linha 2 os relatórios do SARG sendo gerados dentro do diretório /var/www/squid-reports/Montly, depois de gerar os relatórios, executamos um comando para que o arquivo SQUID_Mensal.log volte a ser zerado, começando a armazenar os LOG´s da próxima semana.


Terceiro:

Colocar agendamento do /etc/cron.tab

Colocarei aqui apenas as linhas referentes ao agendamento do SARG.


Resultado

Seguindo passo a passo o procedimento acima, acredito que não ocorram problemas e todos os relatórios poderão ser visualizados no próprio servidor Linux ou de outra máquina qualquer, até mesmo pela internet, mas não vou entrar nesse assunto agora, já que o foco desde post são apenas os Log´s do SARG.

Caso não tenha ficado claro alguma parte desse post, pode mandar mensagem para ricardo.nobregasantos@gmail.com

Obrigado pela visita !

2 Comentários »

  1. Parabéns, esta funcionando perfeitamente. Muito obrigado pela dica.
    abraços
    Paulo Barretto

    Comment por Paulo Barretto — 28 28UTC Agosto 28UTC 2009 @ 12:29 PM

    • Ainda bem que foi útil …

      Qualquer dúvida, posta ai..

      Comment por rnobrega — 28 28UTC Agosto 28UTC 2009 @ 3:58 PM


Feed RSS dos comentários deste post URI do TrackBack

Deixe um comentário

Blog no WordPress.com.