Customizando os arquivos de log do Squid


Autor/fonte: Smailli Hemori Moraes
E-mail/Url: http://www.dicas-l.com.br/dicas-l/20080305.php
Tags: [ squid ]



Digg del.icio.us

Com a liberação do Squid 2.6 surgiram várias novas funcionalidades e uma delas é o logformat que serve para manipular a forma em que o log será gerado. Funciona da seguinte forma:

logformat <nome> <especificação do formato> 

O nome nada mais é do que um nome para manipulação do formato.

A especificação do formato pode ser customizada como o administrador achar melhor, sempre adicionando o prefixo %. Segue a lista de especificações:

  • >a - IP de origem da requisição (cliente);
  • >A - FQDN do cliente;
  • >p - Porta de origem no cliente;
  • < A - IP do servidor de destino;
  • la - IP local do servidor Squid;
  • lp - Porta local do servidor Squid;
  • ts - Segundos passados desde a requisição;
  • tu - Subsegundos;
  • tl - Horário do servidor. Strings opcionais utilizadas como padrão. %d/%b/%Y:%H:%M:%S %z;
  • tg - Horário GMT. Strings opcionais utilizadas como padrão. %d/%b/%Y:%H:%M:%S %z;
  • tr - Tempo de resposta em milisegundos);
  • >h - Cabeçalho de requisição;
  • < h - Cabeçalho de retorno;
  • un - Nome do usuário;
  • ul - Login do usuário;
  • ui - Ident do usuário;
  • us - SSL;
  • ue - ACL externa;
  • Hs - Status do código HTTP;
  • Ss - Status da requisição (TCP_MISS/TCP_REFRESH/TCP_DENIED etc);
  • Sh - Status da hierarquia do Squid (DEFAULT_PARENT etc);
  • mt - MIME type do conteúdo;
  • rm - Método requisitado na conexão (GET/POST/CONNECT etc);
  • ru - URL requisitada;
  • rv - Versão do protocolo requisitado;
  • ea - String retornada por uma ACL externa;
  • < st - Tamanho da resposta, incluindo cabeçalho HTTP;
  • % - % literal.


Nova forma para o log

Para criar um novo template para o seu arquivo de log primeiro precisamos criar uma diretiva do tipo logformat que será usada mais a frente.

logformat MEU_LOG IP do cliente: %>a - Username: %un - Horario: [%tl] - Metodo: %rm - URL: %ru - Status HTTP: %Hs - Status Squid: %Ss

Logo em seguida definimos onde será utilizado o novo template. Estou separando em dois arquivos de logs (access.log e gerencia.log) para não atrapalhar o correto funcionamento do SARG.

O logformat com o nome squid é o padrão do Squid que estamos acostumados a ver e que o SARG necessita para que funcione corretamente.

O logformat com o nome MEU_LOG foi o template que criei para poder enviar, em um formato mais amigável, para a gerencia.

access_log /var/log/squid/access.log squid
access_log /var/log/squid/gerencia.log MEU_LOG

Nunca esquecer de dar um reload no Squid para que as novas configurações entrem em vigor.

# squid -k reconfigure

Log de acesso

Após a criação das regras meus dois logs de acesso, acessando o site http://www.integral.inf.br/, ficaram da seguinte forma

access.log:

1204121424.137     67 172.31.255.103 TCP_MISS/200 21384 GET http://www.integral.inf.br/home/index.php - DIRECT/172.31.254.2 text/html
1204121425.820     17 172.31.255.103 TCP_MISS/200 4116 GET http://www.integral.inf.br/inc/php/logo_casos.php? - DIRECT/172.31.254.2 image/png
1204121425.844     41 172.31.255.103 TCP_MISS/200 3522 GET http://www.integral.inf.br/inc/php/logo_casos.php? - DIRECT/172.31.254.2 image/png
1204121425.858     53 172.31.255.103 TCP_MISS/200 5263 GET http://www.integral.inf.br/inc/php/img_parceiro_banner.php? - DIRECT/172.31.254.2 image/png
1204121425.858     54 172.31.255.103 TCP_MISS/200 7240 GET http://www.integral.inf.br/inc/php/img_parceiro_banner.php? - DIRECT/172.31.254.2 image/png

gerencia.log:

IP do cliente: 172.31.255.103 - Username: moraes - Horario: [27/Feb/2008:11:10:24 -0300] - Metodo: GET - URL: http://www.integral.inf.br/home/index.php - Status HTTP: 200 - Status Squid: TCP_MISS
IP do cliente: 172.31.255.103 - Username: moraes - Horario: [27/Feb/2008:11:10:25 -0300] - Metodo: GET - URL: http://www.integral.inf.br/inc/php/logo_casos.php? - Status HTTP: 200 - Status Squid: TCP_MISS
IP do cliente: 172.31.255.103 - Username: moraes - Horario: [27/Feb/2008:11:10:25 -0300] - Metodo: GET - URL: http://www.integral.inf.br/inc/php/logo_casos.php? - Status HTTP: 200 - Status Squid: TCP_MISS
IP do cliente: 172.31.255.103 - Username: moraes - Horario: [27/Feb/2008:11:10:25 -0300] - Metodo: GET - URL: http://www.integral.inf.br/inc/php/img_parceiro_banner.php? - Status HTTP: 200 - Status Squid: TCP_MISS
IP do cliente: 172.31.255.103 - Username: moraes - Horario: [27/Feb/2008:11:10:25 -0300] - Metodo: GET - URL: http://www.integral.inf.br/inc/php/img_parceiro_banner.php? - Status HTTP: 200 - Status Squid: TCP_MISS

Tratando ACL

Com essa nova funcionalidade podemos atrelar um arquivo de log para cada acl como abaixo.

logformat LOG_DOMINIOS_LIBERADOS IP do cliente: %>a - Username: %un - Horario: [%tl] - Metodo: %rm - URL: %ru - Status HTTP: %Hs - Status Squid: %Ss

acl DOMINIOS_LIBERADOS dstdomain "/etc/squid/DOMINIOS_LIBERADOS.rules"

access_log /var/log/squid/dominios_liberados.log LOG_DOMINIOS_LIBERADOS DOMINIOS_LIBERADOS

Desta forma todo o acesso que casar com a acl DOMINIOS_LIBERADOS será gravado no arquivo de log /var/log/squid/dominios_liberados.log com o formato definido em LOG_DOMINIOS_LIBERADOS.

Fim

Espero que essa informação ajude a facilitar a visualização de log para os usuários do Squid. E também espero ter sido bem claro e não ter esquecido de nada nesse artigo.




Enviado por xKuRt em 05/03/2008 às 07:18


Itens relacionados

Bloqueando o chat do Gmail via firewall (iptables) e proxy (Squid) no Linux
Squid autenticando em um servidor LDAP (Active Directory)
Squid (quase) transparente para maquina unica
Squid - Limpando cache rapidamente
Monitorando acessos on-line em log do Squid com autenticação
squid.conf - Squid no Windows
Proxy transparente com Squid 2.6
Liberando atualização de antivírus no Squid
Squid com bloqueio definitivo do Orkut
Fazendo rotate do Squid automaticamente

Listar todos itens relacionados

Avaliação

Esta publicação ainda não foi avaliada!


Avaliar:


A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.



Comentários

Este artigo ainda não foi comentado ou o(s) comentário(s) que foi(ram) enviado(s) a ele ainda não foi(ram) publicado(s).


Envio de comentário:




  

Quarta, 22 de Outubro de 2014




Leitura recomendada

Projeto de Banco de Dados

Top 5 membros

Últimos membros online

Últimos membros cadastrados



Capa do livro
Android Para Desenvolvedores


Capa do livro
Guia para Projetar Ux


Capa do livro
Excel 2010 - Domine A 110%





Hostnet

IMD