shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Substituir texto no log do squid


From: Cristiano Ferrari
Subject: Substituir texto no log do squid
Date: Fri, 07 Dec 2007 18:54:42 -0000
User-agent: eGroups-EW/0.82

Pessoas, boa tarde.

A dúvida é quanto a shell, mas o objetivo é resolver um problema com o
SARG.

Tenho o squid atuando como proxy de uma rede mista (win+linux) e
utilizo o módulo NTLM para autenticação das estações windows.
Entretanto, não sei porquê algumas conexões chegam sem autenticação,
sendo devidamente barradas pelo squid. Por não serem autenticadas, o
nome do usuário não fica gravado no log, como o exemplo abaixo
(deveria estar no primeiro "-", antes do NONE):

1196848451.093     32 192.168.0.39 TCP_DENIED/407 1921 GET
http://maps.google.com/maps? - NONE/- text/html

O problema é que uso o SARG para acompanhar os acessos e não quero que
estas conexões sejam listadas pelo número IP e sim pelo usuário. A
solução aparentemente fácil seria preencher o sarg.usertab com uma
listagem dos IP das estações e seus respectivos nomes de usuário, e
ser feliz. Mas não foi bem assim. Preenchendo o usertab, o sarg
mistura e embaralha as informações dos usuários. Postei uma dúvida há
uns 10 dias atrás na linux-board, mas sem respostas
(http://br.groups.yahoo.com/group/linux-board/message/26891).

Na falta da solução, testei o que pude, varrendo o google atrás de uma
resposta, além do posto na lista, mas sem sucesso.

Diante do problema, resolvi partir para um "recurso técnico", a
popular gambiarra. Tive a idéia de criar um script (viram, não disse
que a dúvida é sobre shell script) que me permtisse varrer o log do
squid e trocar cada ocorrência do primeiro " - " pelo nome do usuário
vinculado ao IP existente no 3.º campo do log, de acordo com uma
listagem previamente cadastrada em um arquivo, como a do usertab.

Sei que a solução passa pelo uso de sed e/ou awk mas, honestamente,
não tenho a menor idéia de como começar. Já fiz bastante coisas em
shell script mas sou totalmente newbie no uso de sed/awk.

Alguém tem alguma idéia de como posso fazer isso?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]