Jeżeli administrujesz nawet niedużym serwerem pocztowym na pewno masz świadomość, że nie jesteś w stanie monitorować logów na bieżąco. Ciężko jest wyłapać np. problem w komunikacji z pewną domeną. Ciężko też oszacować skalę ruchu na serwerze zarówno pod kątem ilości jak i wolumenu maili. Trudno wybrać domeny, dla których warto by zrezygnować z greylistingu, itd, itp…
Na szczęście dostępne jest narzędzie pflogsumm, które wygeneruje nam dość wyczerpujące statystyki z logów postfix’a. Bardzo przydatne przy codziennym przeglądzie “stanu zdrowia” serwera pocztowego.
Przykładowy wycinek statystyk z pewnego małego serwerka prezentuje się tak:
Postfix log summaries for Jul 4
Grand Totals
------------
messages
1158 received
1261 delivered
0 forwarded
5 deferred (50 deferrals)
2 bounced
392 rejected (23%)
0 reject warnings
0 held
0 discarded (0%)
164898k bytes received
242985k bytes delivered
201 senders
77 sending hosts/domains
354 recipients
51 recipient hosts/domains
Per-Hour Traffic Summary
time received delivered deferred bounced rejected
--------------------------------------------------------------------
0000-0100 26 28 2 0 7
0100-0200 14 18 3 0 10
0200-0300 4 4 1 0 8
0300-0400 6 6 1 0 8
0400-0500 4 4 0 0 8
0500-0600 2 2 1 0 9
0600-0700 8 8 1 0 9
0700-0800 16 18 1 0 10
0800-0900 58 60 1 0 8
0900-1000 104 110 5 0 17
1000-1100 132 152 2 0 18
1100-1200 106 106 1 0 31
1200-1300 64 70 2 0 9
1300-1400 112 132 2 0 14
1400-1500 98 106 1 0 78
1500-1600 86 88 2 0 32
1600-1700 56 56 3 0 23
1700-1800 58 77 5 2 19
1800-1900 36 36 3 0 16
1900-2000 26 26 2 0 24
2000-2100 48 50 3 0 9
2100-2200 32 42 2 0 10
2200-2300 34 34 3 0 10
2300-2400 28 28 3 0 5
...
Host/Domain Summary: Message Delivery
sent cnt bytes defers avg dly max dly host/domain
-------- ------- ------- ------- ------- -----------
132 5688k 0 1.7 s 11.0 s gmail.com
104 2633k 0 4.6 s 2.8 m wp.pl
68 1525k 0 1.3 s 9.4 s interia.pl
42 744k 21 1.1 s 83.6 h o2.pl
30 89891 0 0.7 s 2.6 s op.pl
29 6677k 1 16.1 s 7.4 m poczta.onet.pl
26 540k 0 1.9 s 6.7 s poczta.fm
...
Host/Domain Summary: Messages Received
msg cnt bytes host/domain
-------- ------- -----------
50 4142k gmail.com
46 491259 facebookmail.com
38 1446k wp.pl
22 13520k interia.pl
14 675k o2.pl
10 105377 poczta.fm
10 57713 hotmail.com
... i dużo więcej...
Instalacja na Debianie:
apt-get install pflogsumm
Testowo polecenie można uruchomić w następujący sposób:
sudo pflogsumm -i -d yesterday /var/log/mail.log /var/log/mail.log.1
W moim przypadku, logi przewijam codziennie ok 2:00 w nocy, dlatego podaję dwie ścieżki do plików log (bieżącego i wczorajszego) by mi te dwie godzinki nie umknęły 😉
Powyższe polecenie wypisze na standardowe wyjście statystyki w postaci ładnie sformatowanych tekstowych tabel. Warto przyjrzeć się innym parametrom polecenia - można dzięki nim zrezygnować ze statystyk, które nas nie interesują, bądź zmienić domyślną kolejność.
Teraz warto uruchomić okresowe raportowanie. Edytujemy crona:
sudo crontab -e
Na generowanie statystyk warto wybrać godzinę mniejszego obciążenia serwera (@daily oznacza północ), bo proces ich przygotowania dość mocno obciąży CPU. Wpisujemy polecenie wraz z interesującymi nas parametrami:
@daily /usr/sbin/pflogsumm -i --problems_first --no_bounce_detail \
--no_deferral_detail -d yesterday \
/var/log/mail.log /var/log/mail.log.1 | \
mail -e -s "Statystyki poczty na `uname -n`" postmaster
Kolejnego dnia powinniśmy otrzymać nasze statystyki.