Visualizando acessos dos usuários em tempo real no Squid

Posted: quinta-feira, 23 de setembro de 2010 by Wairisson Gomes in Marcadores:
0

Por Pedro Pereira, disponível em: http://www.vivaolinux.com.br/dica/Visualizando-acessos-dos-usuarios-em-tempo-real-no-Squid

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!