[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?
- Substituir texto no log do squid,
Cristiano Ferrari <=