[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RES: [shell-script] Tratar um arquivo de log
From: |
Lynn karllo |
Subject: |
Re: RES: [shell-script] Tratar um arquivo de log |
Date: |
Wed, 18 Sep 2002 17:53:40 -0300 (ART) |
Marcelino,
Valeu pela ajuda, era quase isso que estava querendo, não sei vc
conhece o syslog-ng, mas ele tem a possibilidade de jogar as informações do
firewall do IPTABLES no mysql . Certo ? até ai tava legal, porem sugiu o
problema de jogar os dados, porque a log nao segue um padrão com sua ajuda com
o awk, eu consegui fazer quase um padrão na log,mas ainda nao está, como posso
fazer com seu script para ele tornar um padrao
Onde tenha isso como já expliquei:
Sep 9 01:03:49 dark fp=ICMP a=ACCEPT IN= OUT=ppp0 SRC=200.163.82.103
DST=207.33.111.32 LEN=44 TOS=0x00 PREC=0x00 TTL=64 ID=15360 PROTO=TCP SPT=32768
DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0
e saia ao executar o script assim como está abaixo:
Sep 9 01:03:49 dark fp=ICMP a=ACCEPT IN= OUT=ppp0 SRC=200.163.82.103
DST=207.33.111.32 PROTO=TCP SPT=32768 DPT=80
ou
A qual possa tirar as strings
fp=,a=,in=,out=,src=,dst=,proto=,spt=
Deixando só no arquivo o que está apos essas string
Sep 9 01:03:49 dark ICMP ACCEPT " " ppp0 200.163.82.103 207.33.111.32 TCP
32768 80
Para eu fazer um pre-processamento e jogar no mysql nas devidas tabelas,
possibilitando eu ir com um programa no banco e buscar os dados.
Lynn Karllo
Marcelino Silva
wrote:Para este tipo de log, acho o awk mais apropriado por
ser mais rápido. Aí vai duas rotinas simples em awk,
espero que te sirva. Qualquer dúvida me comunique em
pvt.
arq1 - executa primeiro gerando um segundo arquivo de
log com brancos convertidos no caracter de separacao
de campos ":"
BEGIN {FS=":"}
{ gsub(/ +/, ":");
#se o primeiro carcter for branco, retira o ":"
if ($1 == "")
{
sub(":","");
}
print $0
}
--------
arq2 - pesquina o arq1 e retorna os campos selecionado
na rotina
BEGIN {FS = ":" }
{for (i = 1; i <= NF; i++){
#retorna os 8 primeros campos da linha
if (i < 9) {printf($i":")}
#pesquisa palavra chave e retorna o campo que a contem
if ($i ~ "SRC") {printf($i":")}
if ($i ~ "DST") {printf($i":")}
if ($i ~ "PROTO") {print $i}
}
}
-------------
Ex de execução no prompt:
awk -f arq1 arq.log > arq2.log
awk -f arq2 arq2.log > arq3.log
Marcelino
------------------------
--- Lynn <address@hidden> escreveu:
<HR>
<html><body>
<tt>
<BR>
<BR>
Geraldo,<BR>
<BR>
Eu
tava querendo é jogar a log de acordo com os
paramentos que<BR>
eu define em uma tabela mysql, como a log não segue um
padrão, então<BR>
queria fazer um pré tratamento dela, colocando no
padrão para que possa<BR>
jogar na tabela de um banco no mysql.<BR>
<BR>
<BR>
<BR>
Como pode ver nas três linhas de código que
tirei na log, elas não<BR>
segue um padrão.<BR>
<BR>
<BR>
<BR>
1º Após o OUT= não aparece o paramento MAC=<BR>
<BR>
<BR>
<BR>
Sep 9 01:03:49 dark fp=ICMP a=ACCEPT IN=
OUT=ppp0 SRC=200.163.82.103<BR>
DST=207.33.111.32 LEN=44 TOS=0x00 PREC=0x00 TTL=64
ID=15360 PROTO=TCP<BR>
SPT=32768 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0 <BR>
<BR>
<BR>
<BR>
2º Já na linha abaixo já tem o MAC= logo apos o
OUT=<BR>
<BR>
<BR>
<BR>
Sep 9 01:03:58 dark fp=TCP:1 a=DROP IN=ppp0 OUT=
MAC= SRC=207.33.111.34<BR>
DST=200.163.82.103 LEN=40 TOS=0x00 PREC=0x00 TTL=23
ID=59881 PROTO=TCP<BR>
SPT=59285 DPT=79 WINDOW=1024 RES=0x00 SYN URGP=0 <BR>
<BR>
<BR>
<BR>
3º Como foi executado um ping para proprio servidor,
alguns parametros<BR>
são difirentes.<BR>
<BR>
<BR>
<BR>
Sep 10 02:00:41 dark fp=ICMP a=ACCEPT IN= OUT=lo
SRC=127.0.0.1<BR>
DST=127.0.0.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF
PROTO=ICMP TYPE=8<BR>
CODE=0 ID=35073 SEQ=512<BR>
<BR>
<BR>
<BR>
Se eu pudesse fazer um tratamento disso colocando em
arquivo separado os<BR>
paramentros que estão em azul acima, acho que ficaria
um padrão e<BR>
ajudaria colocar na tabela do banco.<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
Sep 9 01:03:49 dark fp=ICMP a=ACCEPT IN= OUT=ppp0
SRC=200.163.82.103<BR>
DST=207.33.111.32 PROTO=TCP SPT=32768 DPT=80<BR>
<BR>
Sep 10 02:00:41 dark fp=ICMP a=ACCEPT IN= OUT=lo
SRC=127.0.0.1<BR>
DST=127.0.0.1 PROTO=ICMP<BR>
<BR>
<BR>
<BR>
As informações necessaries que preciso são essas em
azul, se tiver uma<BR>
idéia de como fazer ou até melhor do que eu pensei,
ajudaria muito.<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
Ats,<BR>
<BR>
Lynn Karllo<BR>
<BR>
_______________________________________________________________________
Yahoo! GeoCities
Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e
acessórios.
http://br.geocities.yahoo.com/
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------
Seu uso do Yahoo! Grupos é sujeito aos Termos do Serviço Yahoo!.
Ats,
Lynn Karllo
---------------------------------
Yahoo! GeoCities
Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e
acessórios.
[As partes desta mensagem que não continham texto foram removidas]
- Re: [shell-script] Tratar um arquivo de log, (continued)
- Re: [shell-script] Tratar um arquivo de log, Geraldo Chatel, 2002/09/16
- RES: [shell-script] Tratar um arquivo de log, Lynn, 2002/09/16
- Re: [shell-script] Performance, aurelio, 2002/09/26
- Re: [shell-script] Performance, Tiago F Bianchini, 2002/09/26
- FTP, --| Samuel |--, 2002/09/26
- Message not available
- Re: [shell-script] FTP, Tiago F Bianchini, 2002/09/26
- Re: RES: [shell-script] Tratar um arquivo de log, Marcelino Silva, 2002/09/18
- Re: RES: [shell-script] Tratar um arquivo de log,
Lynn karllo <=
- Re: RES: [shell-script] Tratar um arquivo de log, Geraldo Chatel, 2002/09/20
- Re: RES: [shell-script] Tratar um arquivo de log, Lynn karllo, 2002/09/20
- Re: RES: [shell-script] Tratar um arquivo de log, Walter Maier Neto, 2002/09/28