Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Ubuntu 9.04 amd64
Por diabolu
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Squid + SARG: Gerando relatórios pelo nome de usuário autenticado
Linux user
Publicado por Alex A. Felicioni em 22/08/2008

Login: alexfelicioni, 55176 pontos
[ Hits: 25674 ]

Squid + SARG: Gerando relatórios pelo nome de usuário autenticado

O objetivo deste tutorial é configurar o SARG (Squid Analize Reports Generator), desenvolvido pelo brasileiro Pedro Orso, para gerar relatórios em português a cada 30 minutos, todos os dias e que forneça o nome dos usuários e ainda possa ser acessado de qualquer computador com navegador de internet.

Pré-requisitos:
  • Squid configurado e funcionando. Não vamos abordar a configuração do mesmo. Para que o SARG coloque no relatório o nome do usuário ao invés do ip, o Squid deve pedir autenticação (usuário e senha);
  • Servidor web Apache.

Configurando o SARG

Vamos começar instalando o SARG. Como root digite:

# apt-get update (atualiza a lista de pacotes)
# apt-get install sarg (baixa o SARG e instala no computador)

Abra o arquivo /etc/squid/sarg.conf e localize a linha LANGUAGE, por padrão deve estar como English, troque para Portuguese. Esta linha define em que idioma será gerado o relatório.

Procure a linha "access_log" e coloque o caminho e o nome do arquivo de log do Squid, por padrão esse arquivo fica em "/var/log/squid/access.log". Se esse não for seu caso, localize no squid.conf, que é e onde fica o seu arquivo de log.

Procure a linha output_dir e coloque /var/www/sarg, essa linha define onde o relatório será colocado depois de pronto para que possa ser acessado.

Salve o arquivo e saia.

Vamos gerar agora um script para rodar o programa.

Crie um novo arquivo chamado sarg.sh (o nome do arquivo aqui tanto faz):

# vim /etc/squid/sarg.sh

Preencha-o com:

#!/bin/bash

INICIO=$(date --date "0 days ago" +%d/%m/%Y)
FIM=$(date --date"0 day ago" +%d/%m/%Y)
sarg -f /etc/squid/sarg.conf -d $INICIO-$FIM -i -x -z

Salve a saia.

Obs.: O parâmetro -i é quem coloca o nome de usuário autenticado ao invés de só colocar o IP.

Transforme este arquivo em executável com o comando:

# chmod +x /etc/squid/sarg.sh

Copie-o para a pasta sbin:

# cp /etc/squid/sarg.sh /sbin

Pronto, seu SARG já está apto a gerar relatórios, apenas digitando o comando:

# sarg.sh

E para acessá-lo, basta abrir um navegador, digitar <ip do seu proxy>/sarg. Exemplo: 192.168.10.1/sarg, e você verá o relatório.

Automatizar a geração de relatório do SARG

Para que o SARG gere relatórios automaticamente, temos que usar o crontab para agendar a execução daquele script sarg.sh que criamos.

Logado como root, abra o arquivo /etc/crontab.

# vim /etc/crontab

Adicione a linha:

00,30 * * * *      root   sarg.sh

Essa linha define que a cada 30 minutos o computador executará o script sarg.sh como usuário root.

Salve o arquivo e saia.

Pronto, agora a cada 30 minutos o seu relatório será atualizado.

O próximo passo é criar um domínio para que possam acessar facilmente o relatório sem precisar saber o ip do servidor, mas isso fica para outro tutorial.


Outras dicas deste autor

Leitura recomendada
   Dica Linux recomendada LPIC-1 - objetivo 101.1 - identificar e editar configurações de hardware
   Dica Linux recomendada Instalando e configurando sua Vivo Zap (Kyocera)
   Dica Linux recomendada Novos repositórios Ubuntu e Debian
   Dica Linux recomendada Escolhendo o melhor servidor de atualização do Ubuntu
   Dica Linux recomendada Utilizando find + exec e agilizando tarefas

Comentários
[1] Comentário enviado por Kleison Paiva em 29/09/2008 - 21:35h:

Estou iniciando no Linux e achei esse tutorial muito bom!!!
Vou tentar implementar isso no servidor que estou configurando!

[2] Comentário enviado por afdominguez em 13/01/2009 - 11:08h:

Alex. voce esta de parabens pelo seu artigo.
Ele salvou minha pele... heheheheh

Agora olha só. no sei script tem que dar um espaço na linha

FIM=$(date --date"0 day ago" +%d/%m/%Y)

entre a palavra --date e a "0 day ago" resolve o problema das datas.

Estou com outro problema, tambem, nao consegui fazer ele rodar no cron. fiz como voce descreu, ajustei as permições certinho e mesmo assim nao roda, a impreção que tenho é que o cron, nao esta funcionando, mas ele esta rodando pois restarto ele sem problemas.

Oque pode ser???

[3] Comentário enviado por alexfelicioni em 14/01/2009 - 00:08h:

Verifica se o arquivo sarg.sh está na pasta /sbin, do contrário o sistema não a encontra.

se estiver certo, dá uma olhada neste artigo http://www.vivaolinux.com.br/artigo/Agendando-tarefas-em-Linux-Unix-usando-o-cron/

falow, espero ter ajudado

[4] Comentário enviado por alexfelicioni em 07/02/2009 - 23:53h:

Pessoal, consegui uma maneira de automatizar o processo de reletórios diários e ainda limpar o cache do squid e limpar os logs do dia anterios, claro que após criado os relatórios.
Quem se interessar me mande um email que eu mando os scripts.
lembrando que foram criados e testados em Debian.

alexfelicioni@ig.com.br

valeu

[5] Comentário enviado por emerson2703 em 10/02/2009 - 11:18h:

Alex, tive um problema quando dou o comando sarg.sh

date: opção não reconhecida '--date0 day ago'
tente 'date --help' para mais informações.
sarg: init
sarg: cannot open config file: /etc/squid/sarg.conf - no such file or directory


[6] Comentário enviado por emerson2703 em 10/02/2009 - 11:36h:

Alex conseguir resolver o problema acima era pra da um espaço date 0,
mas agora esta aparecendo esta mensagem
sarg: cannot open config file: /etc/squid/sarg.conf - no such file or directory
o que é.
espero sua ajuda

[7] Comentário enviado por alexfelicioni em 11/02/2009 - 20:58h:

O erro está dizendo que não achou o arquivo de configuração sarg.conf.

posta o seu script sarg.sh para eu ver;
antes de mais nada, onde voce chama o sarg, dentro do script, tem de ser assim.
sarg -f /etc/squid/sarg.conf -d [ periodo a criar o relatorio ]

verifique se o seu sarg.conf fica mesmo em /etc/squid. ví algums comentários que em algumas distribuiçoes, pode ficar em /etc/sarg.
o meu sarg eu instalei no debian hatch 4 e com o apt-get, não sei se pode dar diferença de quando compilado.

falow, mas posta aí seu script.


[8] Comentário enviado por weltonpba em 11/09/2009 - 09:53h:

Muito bom a Dica! ta de parabens
aqui comigo funcionou perfeito...


[9] Comentário enviado por larrosiere em 16/02/2011 - 16:15h:

caro Alex A. Felicioni tive um problema aqui

no meu caso quando eu digito no browser: ip do proxy/sarg (10.101.4.5/sarg)

ele pede um usuario e senha onde encontro esse login

[10] Comentário enviado por larrosiere em 16/02/2011 - 16:21h:

acho que vi o erro deve ser por que nessa linha apontei para /var/www/squid-reports

abraços aguardo sua resposta

[11] Comentário enviado por ninstf em 22/07/2011 - 12:42h:

Boa tarde, fiz todos os procedimentos mas quando vou acessar via browser nao aparece nada, reparei tambem que no /var/www/sarg nao tem nenhum html ou arquivo la dentro e quando crio "sarg" manualmente aparece em branco para mim, acho que estou falando besteira, mas nao consigo colocar esse sarg para funcionar nem a porrete.
desde ja agradeço.


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.