Sendmail statistika (broj mail poruka u jednom danu) i Zabbix

Dakle kako u Zabbix uvrstiti statističke podatke koji se mogu dobiti od Sendmail-a, i kako od Sendmail-a dobiti date statističke podatke?

U pitanju je CentOS6U4, Sendmail 8.14.4-8 i Zabbix 2.2.

1. Dobijanje statistika od Sendmail-a, na host serveru
# mailstats
Statistics from Tue Jun 5 15:35:14 2012
M msgsfr bytes_from msgsto bytes_to msgsrej msgsdis msgsqur Mailer
0 0 0K 21694 9980291K 0 0 0 prog
1 0 0K 2 7K 0 0 0 *file*
4 907646 381643643K 1943819 702131362K 197750 0 0 esmtp
9 2290491 819163764K 2517402 1311453029K 1019 0 0 local
10 17 60K 32 94K 0 0 0
=====================================================================
T 3198154 1200807467K 4482949 2023564783K 198769 0 0
C 4140662 2098434 198769

Evo šta je ovde šta :
M The mailer number.
msgsfr Number of messages from the mailer.
bytes_from Kbytes from the mailer.
msgsto Number of messages to the mailer.
bytes_to Kbytes to the mailer.
msgsrej Number of messages rejected.
msgsdis Number of messages discarded.
Mailer The name of the mailer.

Mailers are also called Delivery Agents or Mail Delivery Agents :
prog – The program mailer delivers mail to programs (introduced by a vertical bar on the right-hand-side of aliases entries). Some examples are majordomo’s wrapper program, autoreply and vacation.
*file* – This mailer is used when sendmail delivers mail to files (not including local mailboxes, which are delivered to by the local mailer) named on the right-hand-side of the aliases file. Delivery to the special file /dev/null uses this mailer.
local – The local mailer delivers incoming mail to the mailboxes of local users.
esmtp – The esmtp (“Extended Simple Mail Transfer Protocol”) mailer is called to send mail to another mail server somewhere on the Internet.

Problem sa ovim statistikama je to što su one od trenutka kada je server podignut, a nama bi trebalo za svaki dan.
Statistike se inače čuvaju u fajlu /var/log/mail/statistics
Da bi svaki dan statistika bila friška, potrebno ju je u ponoć obrisati :
U CronTab-u :
0 0 * * * /etc/zabbix/brisanje.mail.statistike
Skripta za brisanje :
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin
cp -f /var/log/mail/statistics /etc/zabbix/statistics
cp /dev/null /var/log/mail/statistics
Ova skripta staru statistiku prvo kopira u folder gde ćemo je analizirati.
Prava i vlasništva nad skriptom :
-rwxrwx— 1 zabbix zabbix 139 Oct 9 08:33 brisanje.mail.statistike

A za obradu mail statistike nalogu zabbix treba omogućiti da je pokrene kroz /etc/sudoers fajl, sa root nalog pravima (red se dodaje na kraju fajla), jer za komandu mailstats nalog mora imati root privilegije :
zabbix ALL=NOPASSWD:/usr/sbin/mailstats

Treba dodati novi parametar u /etc/zabbix/zabbix_agentd.conf fajl :
UserParameter=sendmail.dnevni.mail,/etc/zabbix/dnevna.statistika
Gde je stavka “sendmail.dnevni.mail” Key stavka u novom Item-u koji ćemo kreirati na Zabbix serveru.

I sam skript /etc/zabbix/dnevna.statistika koji radi obradu :
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin
a=`sudo mailstats -f /etc/zabbix/statistics|grep ” T “|awk ‘{print $2}’`
b=`sudo mailstats -f /etc/zabbix/statistics|grep ” T “|awk ‘{print $4}’`
let “c = $a + $b”
echo $c
I da i ispred i iza slova “T” je blanko, inače se može desiti da izlista greškom red za Tue (kada je statistika za četvrtak) …..
Prava i vlasništva nad skriptom :
-rwxrwxrwx 1 zabbix zabbix 215 Oct 8 08:54 dnevna.statistika
Ovime se analizira fiksni fajl statistike za predhodni dan, koji smo kopirali u folder /etc/zabbix, i koji se tokom tekućeg dana više ne menja.

2. Na Zabbix serveru oformiti novi “Item” istog Key imena kao u Zabbix agentu (dakle u ovom slučaju to je “sendmail.dnevni.mail”, Type je Zabbix agent).
Da bi se namestilo da se količina mail poruka za (predhodni) dan meri samo jednom dnevno, potrebno je u definiciji “Item-a” vreme provere staviti na sledeći način (provera se vrši jednom dnevno u dva sata ujutru) :
Update interval (in sec) – 0
Flexible intervals : Interval – 60 Period – 1-7,02:00-02:01

3. Testiranje
Pošto se ovaj Item aktivira jednom dnevno, trebalo bi ceo lanac podešavanja testirati odmah. To se radi direktno sa Zabbix servera :
# zabbix_get -s IP-adresa-hosta -k Key-stavka-željenog-Item-a

Dobar link, gde je ovo lepo objašnjeno.