Logs do Squid de forma legível

Publicado por krum em 27/09/2013

[ Hits: 8.364 ]

 


Logs do Squid de forma legível



Uma vez precisei fazer uma auditoria nos relatórios do Squid, de maneira que fosse direto da fonte dos logs do Squid.

Como o access.log vem ilegível, procurei e achei uma solução para converter ele para dados legíveis, o mesmo que o Sarg faz.

Vamos lá.

Crie um arquivo chamado relatorio.pl:

# touch relatorio.pl

Dentro dele, coloque o seguinte código:

#! /usr/bin/perl -p
s/^\d+\.\d+/localtime $&/e;

Feche o arquivo, adicione permissão de execução e execute:

# chmod +x relatorio.pl
# ./relatorio.pl access.log > access.log-convertido


Para ficar melhor o jeito de organizar as coisas, você pode fazer o seguinte:

# cat /var/log/squid/access.log | ./relatorio.pl > access.log-$(date +%d-%m-%Y).log

Mova o script em Perl para "/sbin":

# mv relatorio.pl /sbin

Tente fazer algum script e adicionar ao "/etc/cron.daily/", algo parecido com:

Crie o arquivo:

# touch perl.sh
# chmod +x perl.sh


Com o conteúdo:

#!/bin/bash
INICIO=$(date | cut -d ' ' -f1,2,3)
ANO=$(date +%Y)
cat /var/log/squid/access.log | relatorio.pl | grep "$INICIO" | grep "$ANO" > access-$(date +%d-%m-%Y).log

Antes de converter, os logs do Squid vêm dessa forma:

 1379436453.033 585 192.168.0.174 TCP_MISS/200 2473 POST http://evintl-ocsp.verisign.com/ - HIER_DIRECT/199.7.55.72 application/ocsp-response
 1379436453.053 593 192.168.0.174 TCP_MISS/200 2473 POST http://evintl-ocsp.verisign.com/ - HIER_DIRECT/199.7.55.72 application/ocsp-response
 1379436453.268 586 192.168.0.174 TCP_MISS/200 2473 POST http://evintl-ocsp.verisign.com/ - HIER_DIRECT/199.7.55.72 application/ocsp-response
 1379436453.312 578 192.168.0.174 TCP_MISS/200 2473 POST http://evintl-ocsp.verisign.com/ - HIER_DIRECT/199.7.55.72 application/ocsp-response


Depois de convertido, fica como está abaixo:

Tue Sep 17 13:47:33 2013    585 192.168.0.174 TCP_MISS/200 2473 POST http://evintl-ocsp.verisign.com/ - HIER_DIRECT/199.7.55.72 application/ocsp-response
Tue Sep 17 13:47:33 2013    593 192.168.0.174 TCP_MISS/200 2473 POST http://evintl-ocsp.verisign.com/ - HIER_DIRECT/199.7.55.72 application/ocsp-response
Tue Sep 17 13:47:33 2013    586 192.168.0.174 TCP_MISS/200 2473 POST http://evintl-ocsp.verisign.com/ - HIER_DIRECT/199.7.55.72 application/ocsp-response
Tue Sep 17 13:47:33 2013    578 192.168.0.174 TCP_MISS/200 2473 POST http://evintl-ocsp.verisign.com/ - HIER_DIRECT/199.7.55.72 application/ocsp-response

E isso aí galera, até mais.
Espero que gostem da dica.

Outras dicas deste autor

Usando login nome e sobrenome separados por ponto no Slackware 14.1 x86_64 e PDC Samba

Exportar variáveis de um script no mesmo sub-shell

Como descobrir seu IP externo com cURL

Shellshock (Slackware): Falha de segurança grave no bash [Resolvido]

PHP - Fatal error: Allowed memory size of bytes exhausted [Resolvido]

Leitura recomendada

Squid - Controle de banda por usuário ou IP

10 passos para você tocar vídeos e sons da Internet pelo Mozilla no seu Kurumin

Como ativar sua rede wireless no Fedora 8

Falha de plugin no Chromium - Ubuntu 10.10

Problemas de mtu/mss - Compartilhamento de velox com cabo cross

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts