Specifikacia statistik pre analyzu logov z MTA postfix
------------------------------------------------------ {{{
vim: fdm=marker fdl=0 fdc=3
}}}
Created: 2004-12-05
Ucel
---- {{{
Statistiky maju poskytnut zakladny ale aj rozsireny prehlad
o funkcnosti mailoveho systemu pri prijimani a spracovavani
prichadzajucich a odchadzajucich sprav.
}}}
Popis databazy
-------------- {{{
V databaze mame tieto stlce:
id - interne pocitadlo, v podstate nezaujimave
created - datum, kedy bola udalost zaprotokolovana
hostname - skratene meno servera, kde bezi mailovy system
log_level - uroven syslogu
process_name - meno procesu, ktory vyprodukoval zaznam
pid - PID procesu
postfix_key - kluc, ktory pridelil postfix spracovavanemu mailu.
Na zaklade tohto mozno spojit viacero zaznamov
patriace tomu istemu spracovavanemu emailu.
Situaciu komplikuje filtrovanie mailov cez amavis,
kedy je pridelenych viacero ID v podstate tomu
istemu mailu
new_postfix_key - po spracovani mailu amavisom, prideli postfix nove
ID.
client_hostname - hostname klienta, od ktoreho bol mail prijaty
client_ip - IP klienta, od ktoreho bol mail prijaty
client_uid - UID usera, ak bol mail posielany z localhostu
message_id - mozno zistit z hlavicky mailu
resent_message_id - mozno zistit z hlavicky mailu
mail_from - adresa odosielatela
mail_to - adresa prijimatela
mail_size - velkost prijateho mailu
mail_nrcpt - pocet prijimatelov v mailovej hlavicke
relay - brana, cez ktoru bol mail prijaty/odoslany
delay - cas potrebny na filtrovanie a ulozenie mailu
(spamassassin, procmail a pod.)
status - status - sent | deffered | ...
proto - SMTP | ESMTP
helo - parameter z HELO prikazu
sasl_method -
sasl_username - parametre klienta (road warrior) odosielajuceho
mail, ktory bol autentifikovany cez SASL
amavis_id - ID mailu v postfixe
amavis_counter - pocet mailov spracovany danou instanciou amavisu
amavis_virus_name - meno virusu, ak bol v maile najdeny
amavis_banned_file - meno zahodeneho suboru (?)
amavis_quarantine - meno suboru, pod akym bol mail ulozeny do
karanteny
amavis_SA_score - spam score mailu od spamassassinu
message - podrobnejsia sprava (napr. dovod zamietnutia
spravy pri NOQUEUE)
Vzhladom na potencialne mnozstvo dat, malo by byt rozhranie pripravene
na to, ze zaznamy za jednotlive obdobia sa mozu nachadzat vo viacerych
tabulkach (napr. podla mesiacov), globalna statistika je v tabulke typu
MERGE, data z aktualneho mesiaca (dna/tyzdna/roka/) su v tabulke, do
ktorej sa permanentne zapisuje. Na konci mesiaca sa zaznamy z minuleho
mesiaca presunu do tabulky meno_tabulky_2005_02. Cize pri nejakom
prehlade za jeden mesiac sa pouzije mesacna tabulka namiesto globalnej
tabulky MERGE (kvoli optimalizacii a setreniu strojoveho casu).
Zoznam tabuliek, z ktorych sa robia selecty by mohol byt detekovany
automaticky (ci mame MERGE tabulku alebo nie), alebo na zaklade configu.
TODO: doplnit popis vztahov medzi zaznamami a pripadne dolnit
pozadovanymi selectami
}}}
Zoznam obrazoviek
----------------- {{{
0. vyhladavanie mailu
- vyhladavanie podla:
- datumu a casu
- typu mailu (virusy, spam, normalny, ...)
- stavu dorucenia (doruceny, nedoruceny, zahodeny)
(ale mozno to treba spojit s vyhladavanim podla typu mailu, vid
vyssie)
- prijimatela
- odosielatela
- podla (pri|od)chadzajuceho serveru
- podla velkosti mailu
- Message-ID
- Resent-Message-ID
1. uvodny prehlad podla serverov
meno 1. servera - prijate maily, odoslane, rejecnute, infected maily
meno 2. servera - prijate maily, odoslane, rejecnute, infected maily
...
prekliky:
- na casove prehlady podla typu mailov (prijate, odoslane, ...)
- na casovy prehlad o danom serveri
- zmena casoveho intervalu, za ktory je tato globalna statistika
- pocet prijatych mailov je povedzme za posledny tyzden (mozno vsak
upravit za ake obdobie)
2. casovy prehlad pre dany server
prekliky:
- zmena casoveho intervalu, za ktore je spravena statistika
- zmena zasovej jednotky, v ktorej sa rataju pocty mailov
- zobrazenie casovej statistiky iba pre dany typ mailu
nejakym sposobom by sa malo byt mozne preklikat ku kompletnemu logu za
nejake obdobie. Napr. zoznam celej komunikacie za poslednu
(pol)hodinu.
3. casovy prehlad pre dany typ mailu
zobrazenie poctu mailov (iba konkretneho typu) podla casu pre kazdy
hostname, ktory sa v databaze najde
}}}
Odporucania
----------- {{{
Vzhladom na poziadavky, ktore budu kladene na statisticke web rozhranie,
bude vyhodne navrhnut vseobecne rozhranie, ktorym sa specifikuje:
- ktory stlpec v databaze obsahuje casovu informaciu
- zoznam stlpcov, ktore maju splnat nejaku podmienku
- stlpce, na zaklade ktorych sa maju hodnoty zgrupovat
- dalsie stlpce, ktore treba vybrat z databazy
a to bude sluzit ako vstup na vygenerovanie spravnej poziadavky pre
spracovanie databazou (query). Data ziskane z databazy sa zobrazia
v tabulkach na web stranke.
}}
--
Lubomir Host 'rajo' <rajo AT platon.sk> ICQ #: 257322664
Platon Software Development Group http://platon.sk/
http://www.gnu.org/philosophy/no-word-attachments.html
Platon Group <platon@platon.sk> http://platon.sk/
|