quinta-feira, 29 de julho de 2010

Monitorando Squid em Tempo Real

Dei uma procurada na Internet e me deparei com o SQStat. O que ele faz? Bem… Trata-se de um script desenvolvido em PHP que mostra em uma página todos os acessos que estão acontecendo em tempo real e também permite que você configure um tempo para atualização automática desta página.

Sei que existem outras soluções, como o iptraf e o tcptrack, porém, o SQStat mostra o resultado de uma forma muito mais agradável e amigável.

Vou partir da idéia que você já tenha o Proxy (o Squid no caso) e um webserver (o apache, no caso) instalado.

A instalação dele é muito simples. O primeiro paço é baixar o arquivo com o comando abaixo:

# wget -c http://downloads.aprendendolinux.com/programas/sqstat-1.20.tar.gz
(O comando acima baixa um pacote traduzido por mim para Putuguês do Brasil)

Ou com o comando:

# wget -c http://samm.kiev.ua/sqstat/sqstat-1.20.tar.gz
(O comando acima baixa o pacote do site oficial, porém em Inglês)

Agora, vamos descompacta-lo:

# tar -zxvf sqstat-1.20.tar.gz

Vamos agora mover a pasta para o WebServer:

# mv sqstat /var/www/

Vamos agora entrar no diretório do WebServer onde você moveu o pasta:

# cd /var/www/sqstat/

O próximo passo é renomear o arquivo config.inc.php.defaults para config.inc.php:

# mv config.inc.php.defaults config.inc.php

Usando o seu editor predileto, edite o arquivo config.inc.php e configure-o como eu vou mostrar abaixo:

Em “$squidhost[0]=” coloque 192.168.254.1 (ip do servidor onde você instalou o SQStat);
Em “$squidport[0]=” coloque a porta onde o Squid está escutando no servidor;
Em “$resolveip[0]=” coloque true para que o SQStat resolva os nomes das maquinas;
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 “nome-de-usuario” 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 IPs.

Para que isso tudo funcione, é necessário também adicionar algumas linhas ao arquivo de configuração do Squid. Novamente com o seu editor predileto, edite o arquivo /etc/squid/squid.conf e adicione as linhas que demonstrarei abaixo:

acl manager proto cache_object
acl webserver src 192.168.254.1/255.255.255.255
http_access allow manager webserver
http_access deny manager

Obs1.: Na linha “acl webserver …”, substitua “192.168.254.1″ pelo IP do servidor onde você instalou o SQStat;

Obs2.: Essas linhas deve ficar em cima de todas as acls do Squid.

Reinicie o Squid.

# /etc/init.d/squid restart

Pronto! O SQStat já está instalado e configurado. Para acessá-lo abra seu navegador e digite:

http://ip-do-servidor/sqstat/sqstat.php

Nenhum comentário: