Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Aprenda inglês de uma vez por todas

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Customizando os arquivos de log do Squid

Colaboração: Smailli Hemori Moraes

Data de Publicação: 05 de março de 2008

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.


Torvalds parabeniza MS por abrir APIs

Fonte: Notícias Linux

Em e-mail para comunidade Linux, Linus Torvalds elogia decisão da Microsoft de abrir APIs e revelar protocolos.

"Eu posso fazer piadas com a Microsoft e, eventualmente, dizer que eles fazem coisas estúpidas. Mas eu penso que neste caso eles deram um passo na direção correta", escreveu Torvalds.

Fonte: http://info.abril.com.br/aberto/infonews/022008/25022008-18.shl

Comente: http://www.noticiaslinux.com.br/nl1203986614.html#comentarios

Veja a relação completa dos artigos de Smailli Hemori Moraes

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1403 votos)

Opinião dos Leitores

William
11 Jan 2012, 02:15
Perfeito o tutorial, bem claro e me ajudou bastante.
renan_gr
21 Out 2010, 14:24
Ótimo artigo, mas tire uma dúvida minha, o username será informado caso o controlador de domínio esteja no mesmo servidor so Squid? Pq aqui tenho um servidor de domínio Win_2k3.
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

PDF Explicado