В данной статье пойдет речь об одном из способах получения статистики работы почтового сервера (MTA) — perl-парсере pflogsumm. В основу заложен анализ лога (/var/log/maillog или /var/log/mail.log) без привязки к конкретному программному обеспечению (это может Postfix, Sendmail, Exim и так далее) и дистрибутиву Linux (Ubuntu, CentOS, …). В результате мы получим данные по отправленным сообщениям, полученным, заблокированным, отброшенным.
Установка
Самый простой и быстрый способ получить статистику. Pflogsumm является perl-скриптом, который парсит лог и выдает результат в консоль.
Сначала ставим пакет.
CentOS:
yum -y install postfix-perl-scripts
Ubuntu:
apt update
apt install pflogsumm
Просмотр статистики
Теперь статистику можно получить командой со следующим синтаксисом:
perl /usr/sbin/pflogsumm <опции> <путь до лога>
* полный набор опций можно получить командой:
/usr/sbin/pflogsumm —help
Например, чтобы получить анализ за вчерашний или сегодняшний день, используем опцию -d :
perl /usr/sbin/pflogsumm -d yesterday /var/log/maillog
* yesterday — за вчерашний день. Также можно использовать вариант today (сегодня).
Или можно собрать статистику по всему файлу:
perl /usr/sbin/pflogsumm /var/log/maillog
Ежедневное архивирование
Чтобы не создавать каждый день отчет вручную, создаем задание в cron :
crontab -e
59 23 * * * /bin/perl /usr/sbin/pflogsumm -d today /var/log/maillog > /var/log/mailstat_`date +%Y-%m-%d
* где:
- 59 23 * * * — запускать задание каждый день в 23:59;
- /var/log/mailstat_`date +%Y-%m-%d — сохранять результат получения статистики в каталог /var/local и именем файла mailstat_<текущая дата>.
После мы можем обращаться к статистике за определенный день, читая нужный файл, например:
cat /var/log/mailstat_2024-09-22
Mailgraph как альтернатива Pflogsumm
В статье хочется упомянуть о другом методе получения почтовой статистики — использовании Mailgraph. В отличие от Pflogsumm, последний умеет предоставлять данные в виде наглядных графиков и может оказаться полезным для повседневного просмотра статистики.