Pflogsumm — сбор статистики почты

В данной статье пойдет речь об одном из способах получения статистики работы почтового сервера (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, последний умеет предоставлять данные в виде наглядных графиков и может оказаться полезным для повседневного просмотра статистики.

EnglishRussianUkrainian