O link na empresa em que trabalho é um pouco limitado e sempre algum usuário acaba abusando um pouco e deixando o acesso mais lento para todos os outros.
Sempre tive dificuldades em conseguir rastrear quem está abusando do link (com o
iptraf é possível, mas é um pouco complicado e não é muito exato). Buscando no Google, encontrei o
SQStat.
Este script mostra em uma página
PHP todos os acessos que estão acontecendo em tempo real e também permite que você configure um tempo para atualização automática da página.
A instalação dele é absurdamente simples:
Primeiro faça o download da versão mais recente no site. Quando escrevi essa dica o link era:
sqstat-1.20.tar.gz
Coloque este arquivo no root do servidor web da máquina com o proxy e extraia o arquivo:
# tar xzvf sqstat-1.20.tar.gz
Mude o nome do diretório para sqstat (apenas para facilitar o acesso no navegador, isto é opcional).
Renomeie o arquivo
config.inc.php.defaults para
config.inc.php;
Edite o arquivo config.inc.php:
- em "$squidhost[0]=" coloque 127.0.0.1 (se o host que você for monitorar for o host onde você instalou o SQStat);
- em "$squidport[0]=" coloque a porta onde o Squid está escutando no host;
- em "$resolveip[0]=" coloque true para que o SQStat resolva os nomes dos hosts;
- em "$group_by[0]=" você pode colocar "host" se não utilizar autenticação no Squid, o que mostrará os IPs dos clientes; você também pode colocar "username" se utilizar autenticação, assim todas as conexões mostradas na página serão agrupadas por nome de usuário ao invés de host.
Agora é necessário configurar o Squid para que o SQStat consiga analisar os dados. Faça o seguinte no seu
squid.conf:
acl manager proto cache_object
acl webserver src 10.0.0.1/255.255.255.255
http_access allow manager webserver
http_access deny manager
Na linha "acl webserver ... ", substitua "10.0.0.1" pelo IP do servidor web que exibirá a página do SQStat.
Reinicie o Squid.
Pronto! O SQStat já está instalado e configurado. Para acessá-lo abra seu navegador e digite:
http://ip-do-servidor-web/sqstat/sqstat.php
Você também pode monitorar mais de um proxy utilizando o mesmo servidor web. Copie o bloco de configuração do host que configuramos acima e substitua os "[0]" por "[1]" para outro host. Para um terceiro, você deveria colocar "[2]" e assim por diante.
Espero que ajude a todos vocês!
[]'s
Pedro
www.pedropereira.net
[1] Comentário enviado por
gesousa em 17/06/2009 - 10:21h:
Qual a diferença dele para o sarg?
ele é mais rápido do que o tail -f /var/log/squid/access.log ?
[2] Comentário enviado por
pogo em 17/06/2009 - 12:45h:
gesousa,
O SARG e o SQStat possuem finalidades diferentes. O SARG lê e armazena todos os acessos para gerar relatórios HTML sobre eles. Não é em tempo real.
O SQStat, além de fornecer algumas informações a mais, mostra os acessos no segundo em que eles acontecem. Permitindo que você tome uma ação imediata se algum usuário estiver abusando da banda, por exemplo.
Se ele é mais rápido que o tail -f /var/log/squid/access.log eu não sei, mas que é 1000 vezes mais amigável, isso com certeza absoluta =)
[]'s
Pedro
[3] Comentário enviado por
doomk em 17/06/2009 - 17:51h:
cara... essa ferramenta é maravilinda ! =)))
testei aqui na empresa e o treco dedura mesmo quem está consumindo banda...
vai mais uma dica, pra quem não tem autenticação no squid, como o meu caso, e quer ter visualizado os nomes em vez dos IPs, é só jogar um txt com os ips e nomes e descomentar a linha $hosts_file[0]="hosts.txt" que ele substitui.
show de bola.
Parabéns.
[4] Comentário enviado por
rafagavioes em 18/06/2009 - 01:17h:
achei muito legal companheiro.
Parabéns e obrigado. Estou usando e aprovo! nota 10
[5] Comentário enviado por
edcomrocha em 19/06/2009 - 20:47h:
Show de bola, aqui esta rodando bem....
Só tenho uma duvida.
Como faço pra criar o arquivo de hosts.txt?
Criei o arquivo aqui descomentei a linha que nosso amigo doomk disse mais quando rodo o sqstat ele da um erro estranho e nao vai...
Alguma dica dos colegas
Falow abraços
[6] Comentário enviado por
pogo em 19/06/2009 - 22:44h:
edcomrocha,
Poste o erro aqui para ficar mais fácil ajudá-lo! Mas talvez, será que você não inverteu a ordem das coisas? Digo, trocou a ordem do IP com o nome do host.
[]'s
Pedro
[7] Comentário enviado por
doomk em 22/06/2009 - 08:13h:
O arquivo hosts.txt, tem que estar semelhante ao exemplo abaixo:
192.168.0.2 fulado
192.168.0.3 beltrano
192.168.0.4 ze
192.168.0.5 joao
na linha: $hosts_file[0]="hosts.txt", é bom configurar o caminho completo do arquivo, exemplo:
$hosts_file[0]="/etc/httpd/conf/hosts.txt"
com isso vai funfar belezinha.
abrç.
[8] Comentário enviado por
WAkky em 30/06/2009 - 14:02h:
Galera,
Tou recebendo o seguinte erro:
SqStat error
Error (110): Connection timed out
Valew,
[9] Comentário enviado por
pogo em 30/06/2009 - 14:33h:
WAkky,
Talvez seu firewall esteja bloqueando alguma coisa. Dê uma olhada se as portas necessárias estão liberadas.
[]'s
Pedro
[10] Comentário enviado por
wakky em 30/06/2009 - 17:26h:
@Pedro
Vou tentar... mas creio ter feito um flush no Firewall...
[]´s
Wakky
[11] Comentário enviado por
Wakky em 01/07/2009 - 06:12h:
@pogo
continua nao funcionando...
[12] Comentário enviado por
halleybr em 19/08/2010 - 10:57h:
Amigos,
quando coloco 127.0.0.1 no squid e no sqstat, ele da erro de "connection refused"
E quando coloco o ip local mesmo no caso 192.168.0.30 ele da "connection timeout"
alguem poderia me ajudar????
To precisando muito disso.... abração amigos
[13] Comentário enviado por
juninhomaumau em 23/09/2010 - 14:34h:
Boa tarde amigos, oq que acontece é o seguinte: segui o tutorial ao pé da letra, muito bem detalhado e tal, porém qd vou acessar o servidor de uma maquina da rede tipo http://ipdoservidor/sqstat/sqstat.php ele abre no navegador como se seu fosse fazer download deste arquivo, perguntando se eu quero ABRIR OU SALVAR!! este arquivo sqstat.php!!
Sendo assim n consigo vizualizar o log!!
Agradeço desde já pela boa vontade dos Senhores!!
DEBIAN - SQUID
Edmilson
[14] Comentário enviado por
hayttle em 29/10/2010 - 23:23h:
Olá, muito bom o post, mas se eu tiver uma rede grande com mais de 100 máquinas em DHCP, vou ter que inserir todos os nomes das máquina e IPs no hosts.txt?
Sds,
Hayttle
[15] Comentário enviado por
pogo em 30/10/2010 - 09:51h:
hayttle,
O ideal é que você utilize o Squid com autenticação para que assim os nomes de usuários apareçam na página, e não o endereço IP. Assim, não importa quantas máquinas ou usuários você tem nada rede: você não vai ter muito trabalho.
[]'s
Pedro Pereira
[16] Comentário enviado por
juniorrox em 22/11/2010 - 17:33h:
Rapaziada!
Instalei e criei a regras como falaram mas ocorre este erro abaixo toda vez que tento acessar.
SqStat error
Error (1): Cannot get data. Server answered: HTTP/1.0 403 Forbidden
Alguem saberia me dizer o que esta causando este problema.
Hoje utilizo meu squid integrado com AD, pode ser isso?
Abs.
Luiz