analyza maillog
Miroslav BENES
miroslav.benes na zdas.cz
Čtvrtek Červenec 21 13:04:21 CEST 2005
> Přeji pěkný den,
> pokud mne paměť neklame, je "log" textovým souborem.
> Není pak jednodušší tento texťák prohnat přes " grep" a rouru do
>jiného texťáku[označen třeba A.txt], kde budou všechny odkazy pouze na
> @xxx.cz , a tento texťák [A.txt] přes jiný "grep" a jinou rouru do dalšího
>texťáku [B.txt] kde budou pouze odkazy na pepa.novak na xxx.cz
>
>Pokud to v texťáku B.txt nenajdete, tak si projedete A.txt kde to snad
>bude:-) .
>
To bohužel nestačí.
Malý příklad z praxe : Odesílal jsem dotaz do konference (začátek tohoto
vlákna). Zkusím o něm najít údaje.
Vím, že v logu bude dnešní datum, vím aspoň přibližně hodinu. Hledám
tedy řádky, kde bude následující text :
"from=miroslav.benes na xxx.cz"
(od některých poštovních klientů se ten text vyskytuje ve tvaru
"from=<pepa.novak na xxx.cz>", to ale v toto chvíli nebudeme řešit).
Řádek z logu který zadaným podmínkám odpovídá je tady :
Jul 21 10:16:28 smtpgw sendmail[2024]: KAA02024:
from=miroslav.benes na xxx.cz, size=2059, class=0, pri=32059, nrcpts=1,
msgid=<42DF59DB.1070009 na zdas.cz>, bodytype=8BITMIME, relay=root na localhost
Z něho vyčtu, kdo je odesilatelem (to jsem ale už zadával do vyhledávací
podmínky) a třeba i docela užitečnou informaci o velikosti (zde cca 2 kB).
Po tomto filtrování ale nevidím, komu byla zpráva odeslána ani jak to
dopadlo. Na to si musím z nalezeného řádku vyzobnout ID zprávy (zde
KAA02024), prohledat celý log znovu a filtrovat řádky jenom s tímto
řetězcem:
Jul 21 ... (řádek s údaji o odeslání - viz výše)
Jul 21 10:16:29 smtpgw sendmail[2026]: KAA02024: to=linux na linux.cz,
ctladdr=miroslav.benes na xxx.cz (0/0), delay=00:00:01, xdelay=00:00:01,
mailer=relay, relay=aaa.xxx.cz. [999.999.999.999], stat=Sent (2.0.0
j6L8GTo24188 Message accepted for delivery)
Z něj vyčtu, že adresátem je linux na linux.cz a že byla odeslána.
Aby to nebylo tak jednoduché, stává se, že se ID zprávy v jednom logu
opakuje i u naprosto nesouvisejících zpráv, takže se musí výsledek
takového hledání brát s rezervou ...
No a protože se hledá informace nadvakrát (a podle zákona schválnosti
často na dvou řádcích, které spolu nesousedí), je tenhle postup docela
nadraka.
Líbilo by se mi, kdyby se průběžně (např. po hodině) tyto informace z
logu vytahaly a uložily např. do databáze, odkud by byly přehledně
zobrazitelné. Navíc by se hledání značně zjednodušilo, protože by se
vypouštěly maily, u kterých je odesilatel i adresát jen v naší doméně
(tj. v rámci podniku si lidi zavolají a nemá tedy smysl údaje o
přeposílání pošty archivovat).
Další informace o konferenci Linux