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' ICQ #: 257322664 Platon Software Development Group http://platon.sk/ http://www.gnu.org/philosophy/no-word-attachments.html