[Megoldva] log elemzés - bash

Sziasztok!

Saját log elemző írásán dolgozom. Egyelőre még csak annyi a célom, hogy a legtöbbet előforduló sorokat előfordulásuk gyakorisága szerint rendezzem. Ehhez azonos mintára kell hoznom -a külön erre a célra kigyűjtött, 1,3 GB-os- tűzfal logot: eltávolítani az időpecséteket, stb. és csak a hasznos üzenet részt hagyni meg. A formátum nagyjából megegyezik (csak a logolás szint tér el a vészesebb pontokat figyelő bejegyzéseknél).

Adott tehát a következő példa sor:


Feb  7 07:02:15 SERVER_NÉV kernel: [145088.358435] FW: INPUT_DROP IN=eth1 OUT= MAC=ff:ff:ff:ff:ff:ff:00:27:22:2c:12:91:08:00 SRC=akármi DST=akármi.255 LEN=96 TOS=0x00 PREC=0x00 TTL=128 ID=7043 PROTO=UDP SPT=137 DPT=137 LEN=76

Mit gondoltok, hogy lenne a legegyszerűbb eltávolítani a haszontalannak vélt információt, és a log bejegyzést csak a "FW: " utáni részt kiíratni??

- awk-val: a 7. blokk utáni rész kiíratása - megvalósítani csak felsorolással tudnám: 8,9,10, stb... de nem tudom mi lesz a vége... (ugyanis nem mindig egyezik a log üzi hossza)
- más tippem nincs

Köszönet, és Boldog Új Évet Nektek!

Üdv.:
V007

Hozzászólások

cut -d'FW:' -f 2

de tudsz rola, hogy van olyan hogy logwatch? pont erre a celra irodott (asszem Perl) scriptek gyujtemenye. lesd, meg es ha nem jo meg mindig adhatsz hozza uj feature-t
--
A legértékesebb idő a pillanat amelyben élsz.
https://sites.google.com/site/jupiter2005ster/

Nem kell komoly dolgokra gondolni. A tűzfalat szeretném felül vizsgálni.
- Vajon a túl sok log elemzés miért következik be
- Mi az amit csuklóból a logolásra kerülés előtt tilthatnék
- Érdemes-e valamilyen szabály rögtön tiltó listára tennem valakit
- stb. (ha meglátom a log üzit be ugrik)

Szerk.: Hogy kell-e ezért nekem plusz szolgáltatás azt még nem tudom. Megnézem ezt a logwatch-et.

nézd :) elég sok logturkálós cucc van már, gyanús, hogy gyorsabban végzel. Főleg -- és meg ne sértődj, nem azért mondom, hogy bántsalak, puszta ténymegállapítás -- ha a "hogyan kapjuk ki egy kb értelmesen formázott sorból a nekünk kellő részt" megoldásához fórumtémára van szükséged.

Az awk a NF változót nyútja, hogy el tudd dönteni, meddig szervezz ciklust a mezőkhöz.

Ha nem volna neki ilyen, akkor ezt lehetne tenni:

...
for (i=1; $i; ++i) {
# i. mező adjusztálása
}

if (i > 1) {
# utolsó mező utáni műveletek
}

...

Ui. a mezőhivatkozásban használható változó, másrész az üres sztring (mint a nemlétező mező) logikai értéke hamis.

sed 's/.*FW://' input

--------------
„If there were no hell, we would be like the animals. No hell, no dignity.”