17 de setembro de 2008

Relatório de acesso do Proxy

Olá,

Depois de algumas brigas com o SARG (Gerador de relatórios do proxy SQUID), resolvi finalmente procurar um software alternativo. Após várias tentativas encontrei uma solução que me atendeu perfeitamente, chama-se Lightsquid que é desenvolvido por Serey Erokhin, essa solução utiliza perl e script's cgi para gerar seus relatórios e é bem simples, rápido e leve.

Em um breve comparativo do tamanho do relatório gerado de um mesmo log entre 01 à 14 de Setembro que fiz nota-se uma diferença:
SARG: 1.2 GB
Lightsquid: 6.3 MB

Para realizar a instalação basta fazer o download do pacote no site do Lightsquid, durante esse post eu utilizei a versão 1.7.1 em um servidor OpenSuSE Linux 10.3 com o apache2, mas deve funcionar em qualquer distribuição Linux, certifique-se também de ter o pacote perl-GD (ou correspondente) instalado para poder gerar os gráficos.

Após realizar o download descompacte utilizando o comando abaixo:
# tar -xvzf lightsquid-1.7.1.tgz -C /srv/www/htdocs/

Altere o nome do diretório para o que desejar:
# cd /srv/www/htdocs
# mv lightsquid-1.7.1 light


Ajuste as permissões:
# chown wwwrun:www -R light
# chmod +x *.cgi
# chmod +x *.pl

Crie o arquivo lightsquid.conf e adicione as linhas abaixo, se utilizar vhost no apache então adicione as linhas no vhost correspondente:
# vim /etc/apache2/conf.d/lightsquid.conf
<Directory "/srv/www/htdocs/light">
   AddHandler cgi-script .cgi
   AllowOverride All
</Directory>
Reinicie o apache:
# /etc/init.d/apache2 restart

Edite o arquivo de configuração do lightsquid (essas foram as opções que alterei, adapte-as para as suas necessidades):
# vim lightsquid.cfg
$cfgpath             ="/srv/www/htdocs/light";
$tplpath             ="/srv/www/htdocs/light/tpl";
$langpath            ="/srv/www/htdocs/light/lang";
$reportpath          ="/srv/www/htdocs/light/report";
$ip2namepath         ="/srv/www/htdocs/light/ip2name";
$ip2name="ip";
$lang                ="pt_br";
Rode o aplicativo para checagem do software, deverá retornar algo parecido com o conteúdo abaixo:
# ./check-setup.pl
LightSquid Config Checker, (c) 2005 Sergey Erokhin GNU GPL

LogPath   : /var/log/squid
reportpath: /srv/www/htdocs/light/report
Lang      : /srv/www/htdocs/light/lang/pt_br
Template  : /srv/www/htdocs/light/tpl/base
Ip2Name   : /srv/www/htdocs/light/ip2name/ip2name.ip

all check passed, now try access to cgi part in browser
Execute o lightparser.pl para gerar o relatório:
# ./lightparser.pl

Agende no crontab para executar a cada 30 minutos (adapte para a sua necessidade):
# vim /etc/crontab
*/30 *  * * *   root    /srv/www/htdocs/light/lightparser.pl today > /dev/null
Para gerar o relatório dos antigos logs execute o comando abaixo:
# ./lightparser.pl access.log.1.gz
# ./lightparser.pl access.log.2.gz
# ./lightparser.pl access.log.3.gz


OBS.: Os arquivos de log DEVEM estar nesse formato para poderem ser importados, utilize o comando abaixo para fazer isso automaticamente:
# for x in `ls /var/log/squid/access.log-2008*`; do cp $x /var/log/squid/access.log.1.gz; /srv/www/htdocs/light/lightparser.pl access.log.1.gz; done

Pronto! Agora basta acessar o relatório (http://ip.do.seu.servidor/light) através do seu navegador preferido, se for o Firefox melhor!!! ;-)

Nenhum comentário: