segunda-feira, 22 de março de 2010

Precisamos de analisador de log?

Necessidade: eu tinha que dar uma olhada em quem estava acessando o que na internet, e sabia que o log do meu squid era "quem" poderia me informar isso.

Ao invês de procurar um programa analizador de log, que tem vários por aí, eu aprendi dar esse comandinho lindo que me resolveu a questão...

tail -f /var/log/squid/access.log | awk '{printf "\n\n\n" $4 "\n" $6 "\n" $8 "\n" $7 }'

Entendendo o comando:
tail vai pegar o o que o squid escrever de "novo " no log dele.
awk é um comando (que na verdade é uma linguagem de programação orientada a dados) que recebe um arquivo ou fonte de dados, que no nosso caso é o log do squid, a analisa ele linha por linha com base no que tá entre as chaves

O que tá entre as chaves é um printf do tipo c/c++ (que tem também em java), o que significa o seguinte:
Primeiro ele dá 3 "enters" pra depois imprimir a coluna 4 do arquivo, que no caso é ...

depois dá mais um enter e imprime a coluna 6 do arquivo que é o tipo de requisição "get/post" por exemplo.

dá mais um enter e imprime a coluna 8 , que é o usuário cadastrado no squid que está fazendo essa requisição ...

dá mais um enter e depois imprime a coluna 7 que é o endereço da requisição

a saída que eu consegui foi a seguinte:

TCP_DENIED/403
GET
ssilva
http://images.ig.com.br/publicador/novahomeig/296/45/45/7545356.bbb10_sergio_e_o_11_eliminado_do_reality_babado_195_260.jpg


TCP_MISS/000
CONNECT
ssilva
authmail.ig.com.br:443


TCP_MISS/200
GET
ssilva
http://www.ig.com.br/cotacao/painel_mercado.xml?4204.004686538903awk: (FILENAME=- FNR=72) fatal: argumentos insuficientes para a string de formato
`


TCP_MISS/200
GET
ssilva
http://ighome.ig.atmo.predicta.com.br/atmo/cap/$s=27$cke=1$cks=1$sw=1024$sh=768$jvm=1$jsv=1.3$un=ig_home$pt=iG%20-%20%C3%9Altimo%20Segundo,%20Economia,%20Esporte,%20TV%20iG,%20Gente%20e%20Delas$nl=pt-br$cn=1$ru=http%3A%2F%2Fwww.ig.com.br%2F$zr=1.6.np%7C6609.645448349255'

quarta-feira, 3 de março de 2010

Erro "Server redirected too many times (20) " com maven

Vai por mim, se você é um usuário do maven, usa linux e está atrás de um proxy e começou a receber o erro "Server redirected too many times (20)", utilize o nexus que resolve. Ele se encarrega de fazer as buscas de archetypes etc... e o bom é que ele sabe lidar com os redirecionamentos.

http://nexus.sonatype.org/