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

Squid com Delay Pool + Dansguardian
Verificando erros na instalação do Squid
Bloqueando o MSN Messenger no Squid com facilidade
Bloqueando o Orkut de uma vez por todas no Squid
Squid + SARG: Gerando relatórios pelo nome de usuário autenticado
Squid autenticando em um servidor LDAP (Active Directory)
Bloqueando o chat do Gmail via firewall (iptables) e proxy (Squid) no Linux
Proxy transparente com Squid 2.6
Como funcionam as ACLs do Squid
Como bloquear o Skype no Squid

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:




  

Terça, 30 de Setembro de 2014




Top 5 membros

Últimos membros online

  • 1em 30/09 às 14:04
  • kelexem 24/09 às 09:55
  • xKuRtem 23/09 às 20:00

Últimos membros cadastrados



Capa do livro
Neuromancer 25


Capa do livro
Java na Web com JSF, Spring, Hibernate e Netbeans 6


Capa do livro
Otimização de Conversão - A Arte e a Ciência de Converter Prospects em Clientes





Hostnet

IMD