O Sarg (Squid Analysis Report Generator) é um dos mais populares e eficientes geradores de relatórios de acesso à Internet para Proxy Squid. Esse artigo tem por finalidade mostrar um "passo-a-passo" de como configurar o Sarg de forma rápida e totalmente funcional e ainda fazendo como que ele gere relatórios com nomes amigáveis (nome do usuário/máquina) ao invés do endereço IP.
# TAG: Gerando Relatório
remove_temp_files yes
index yes
overwrite_report yes
records_without_userid ignore
use_comma no
topsites_num 100
topsites_sort_order BYTES D
exclude_codes /etc/squid/sarg.exclude_codes
max_elapsed 28800000
report_typie topsites users_sites sites_users date_time denied auth_failures site_user_time_date
long_url no
show_successful_message no
topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE
topuser_num 0
download_suffix "zip,arj,bzip,gz,ace,doc,iso,adt,bin,cab,com,dot,drv$,lha,lzh,mdb,mso,ppt,rtf,src,shs,sys,exe,dll,mp3,avi,mpg,mpeg"
Algumas TAGs podem ser modificadas sem maiores problemas, pois tratam-se apenas de formatação dos relatórios, outras tratam-se dos caminhos de arquivos importantes ao bom funcionamento do Sarg e o restante diz respeito a forma que o mesmo vai funcionar, por isso, é de alta importância uma revisão com fins de verificar se existe alguma discrepância entre os dados do sarg.conf aqui sugerido e as características de seu servidor.
As TAGs apresentadas abaixo, são exatamente as que indicarão ao Sarg que nos relatórios gerados por ele, deverá aparecer ao invés do endereço IP, o nome do usuário ou Máquina devidamente setado por você.
Logo após o arquivo criado e salvo, procure no mesmo diretório (/etc/squid) um arquivo denominado 'sarg.usertab', se ele não existir, fique calmo (hehehe), crie-o você mesmo. Este arquivo será altamente importante para que nosso trabalho tenha o devido sucesso. É nele que o administrador irá setar os IPs das máquinas e o nome equivalente as mesmas. O conteúdo a ser adicionado no mesmo é exemplificado abaixo, sendo mudado de acordo com sua rede.
Exemplo:
192.168.0.2 Linus
192.168.0.3 Torvalds
192.168.0.4 Departamento do Linux
Esta é a forma correta do arquivo, qualquer outra forma, não dará o resultado esperado. Na ÚLTIMA LINHA do arquivo 'sarg.usertab' adicione o caractere '#'
Como visto acima, é o 'sarg.usertab' que possibilita ao Sarg mostrar nomes amigáveis ao invés de endereços IPs, fator muito útil em redes de grande porte e não menos importante em pequenas redes.
[1] Comentário enviado por cvs em 07/06/2006 - 08:39h
Legal o artigo... vou utilizar, mas vamos ver o seguinte cenario... Uma rede com mais de 50 computadores e funcionando com dhcp, nada de ip fixo, como fazer ele aparecer o nome das maquinas?
[4] Comentário enviado por Junior Menezes em 07/06/2006 - 10:28h
Caros...
Eu realmente nunca tive oportunidade (ou sequer precisei) utilizar Sarg em redes com DHCP, eu teria que testar e ver uma forma que funcionasse tão bem como funciona com IP Fixo... Assim que eu tiver um tempo, tentarei efetuar testes... No entanto, peço para que se alguém conseguir antes de mim, faça um Post, ou até mesmo um Artigo e disponibilize aqui no VOL e no www.aplinux.com.br para que toda Comunidade Linux possa utilizar em seus projetos... Abraços a todos...
[6] Comentário enviado por agk em 07/06/2006 - 13:45h
A idéia é boa, pois torna mais prática a busca dos relatórios, mas convenhamos que em uma rede pequena isso não é necessário e em uma rede com 250 computadores é inviável trabalhar sem dhcp.
Trabalhando com DDNS +DHCP seria uma forma de resolver a situação.
Gostei do conf do sarg, bem explicado.
Faltou dizer qual a versão dos programas (sarg/squid) que você usou, eu utilizo o sarg 1.4 e não conhecimento dessa função de gerar gráficos.
[ ]'s.
[7] Comentário enviado por econt_linux em 07/06/2006 - 16:32h
Ola pessoal!
Ai camarada.. ótimo artigo...
Pra galera que falou em usar DHCP, eu vi um artigo aqui mesmo no VOL sobre o IDENT, ele faz com que o Squid grave no seu log o nome do Usuário do Samba que acessou a página. Só tem um problema, me parece que não tem como usar proxy transparente nesse caso.
Se alguem souber uma forma de usar proxy transparente e gravando o usuario do samba por favor manda pra gente porque vai ser muito útil mesmo.
[12] Comentário enviado por marioneri em 19/10/2006 - 17:49h
Alguem sabe como fazer para mudar o lugar aonde são salvos os LOGS? Aguardo respostas em mario.neri@gmail.com.
Ótimo tópico, bem explicado e fácil pra quem ainda não domina com excelência o linux! Um abraço e parabéns!
[15] Comentário enviado por thiagodalsoto em 27/06/2007 - 15:08h
Ai vai uma dica, que tambem funciona do mesmo modo que criar o arquivo com o nome dos usuarios, como nosso amigo falou.
Mas desse modo ja usa o proprio arquivo do linux fica ate melhor quando vc pinga um host pelo nome pelo linux ele pinga pois vai resolver o dns local por esse arquivo.
Edit o arquivo /etc/hosts e coloque da mesma forma
192.168.1.1 pinguim
192.168.1.2 doidao
E nao precisa indicar mais nda para o sarg ele vai resolver os nomes por esse aquivo sozinho basta colocar a linha no sarg
resolve_ip yes
Ta ai mais um modo.. eu uso assim..
O melhor mesmo é usar o squid autenticando no samba.. ai sim.. fica legal. Mas isso apenas para quem utiliza proxy autenticado.
[17] Comentário enviado por thiagodalsoto em 28/11/2007 - 15:16h
Pessoal ando usando o mysar, quase ninguem o utiliza pois n é mto conhecido... mas deixei de usar o sarg para utilizar ele.. ele armazena tudo em banco mysql e os relatorios sao em tempo real.... procurer material sobre o mysar.
[18] Comentário enviado por o_krah em 24/01/2008 - 20:53h
aew mano... nao consigo ver os relatorios do sarg de outro pc... quando gero no servidor e vejo nele mesmo clico em daily e aparece tudo bunitinho ja qndo vou ver de outro pc da rede ao clicar em daily nao aparece nenhum log....
[19] Comentário enviado por welington.santos em 31/01/2008 - 15:29h
Tem como gerar relatório com o IP e o nome do usuário ao mesmo tempo, pois controlo um laboratório de informática e cada usuário tem uma senha, então queria controlar o que eles estão baixando e adverti-los sobre a ocorrência. Este script que você fez só mostra o IP.
[20] Comentário enviado por dfabretti em 27/03/2008 - 15:17h
Pra mim aqui na empresa, eu crieu um arquivo chamado ips_nomes onde dentro do arquivo eu coloco o respectivo ip e o usuário que o utiliza...
Recomendo somente para empresas que não possuem uma política de vai-e-vem de funcionários, senão dá um trabalho :|, hehehe! Pra resolver essa situação, teria que ativar no squid a autenticação, aí o sarg se baseia no usuário autenticado e não no ip. Abraços
[21] Comentário enviado por carbonari em 23/07/2008 - 10:54h
Bom dia a todos,
Possuo o sarg instalado em uma maquina gerando os relatorios todos conforme esperado, porém tenho a seguinte duvida:
Agendei no cron para que diariamente seja criado um relatorio de acesso, eu gostaria tambem que fosse gerado um relatorio
mensal juntamente com o grafico mensal porém se gero os relatorios diarios não consigo gerar os mensais uma vez que os relatorios
diarios ja utilizaram-se do arquivo access.log do squid. A duvida é se existe algum meio para gerar esses relatorios diarios e ao final
do mes um relatorio geral...
[26] Comentário enviado por mrjeday em 28/03/2011 - 09:24h
Bom estava lendo este artigo e vi muitos outros semelhantes aqui no VOL e sempre a mesma pergunta: "COMO GERAR RELATÓRIOS DE MÁQUINAS COM NOMES A PARTIR DE DHCP DINÂMICO?" Aí resolvi pesquisar.
Pra começar só tenho uma crítica a fazer ao artigo acima, informar a versão dos programas utilizados.
[27] Comentário enviado por blaiser em 11/12/2011 - 22:55h
Caro amigos, boa noite.
Olha o meu caso é um tanto quanto complicado, mas me ajudem.
Meu gerente necessita acompanhar esse relatorio diario... até ai tudo bem.
Depois de todas essas regras criadas eu adicionei o atalho para acessar: http://10.0.0.1/squid-reports
e o relatorio gerado vem com uns bugs.
1o. nao mostra o nome dos hosts, vem o ip.
2o. quando eu vou no webmin na guia de servidores de relatorios ele aparece lá bonitinho com os nomes e ai?
[29] Comentário enviado por meetgyn em 26/08/2013 - 15:03h
Um exemplo:
Tenho quase 300 maquinas em minha rede, e preciso tirar relatorios com o sarg pelo nome das maquinas. Como farei isso sem ter que pegar o nome de todas as estações e colocar no arquivo sarg.usertab?
Tenho um proxy transparente rodando + servidor de DHCP + BIND9 + FIREWALL rodando no centOS 6. JA revirei meio mundo e nao consegui resolver esta questão. Se alguem ai dos amigos souber de uma solução ficarei muito agradecido.
[30] Comentário enviado por tiaguera em 21/12/2013 - 16:29h
Ótimo tutorial. Parabéns! Ai vai minha contribuição: atualmente estou fazendo o seguinte:
Em redes cabeadas estou usando IPs fixos (sem DHCP) com o squid usando autenticação via freeradius (então é desnecessário esta dica aqui).
Já em redes wireless (também pode-se usar isso em redes cabeadas) eu uso DHCP com prisão de MAC e os usuários eu autêntico também via freeradius com 802.1x PEAP e uso squid transparente... então uso a dica apresentada aqui e no sarg meia volta aparece um endereço IP novo não atribuído a um usuário... então vejo qual o MAC desse IP novo e no log do freeradius vejo qual é o usuário em questão para o colocar na lista do sarg.
Agora to tentando construir um script para automatizar o processo... o problema é que estou usando um servidor de dhcp proprietário ainda...