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

Deixando o Squid bloquear o MSN Messenger para você
Limpeza de cache no Squid
Verificando erros na instalação do Squid
Fazendo rotate do Squid automaticamente
Simples configuração do Squid
Nota Fiscal Eletrônica com Squid/Autenticação
ECache - O cache efetivo no Squid
Como fazer aparecer a logomarca da sua empresa no lugar das propagandas do MSN
Squid autenticando em um servidor LDAP (Active Directory)
Squid (quase) transparente para maquina unica

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:




  

Sexta, 28 de Agosto de 2015




Leitura recomendada

Sistemas Operacionais

Top 5 membros

Últimos membros online

Últimos membros cadastrados



Capa do livro
Dominando Java Server Faces e Facelets Utilizando Spring 2.5, Hibernate e JPA


Capa do livro
Princípios de Sistemas de Informação: Tradução da 9º Edição Norte-Americana


Capa do livro
Kit de Treinamento MCTS (Exame 70-680) - Configuração do Windows 7





Hostnet

IMD