Парсер логов Postfix на PHP

Иногда пользователи приходят и спрашивают почему почта не пришла/ушла. Ты заходишь по SSH на почтовый сервер grep’аешь логи почтовика по адресу, вычленяешь номер очереди, снова grep’аешь и смотришь что вылезло. Или просто иногда хочешь посмотреть как поживает сервер и выводишь tail’ом последние сообщения. Такой вывод не особо то располагает к изучению логов и я решил найти какой-нибудь анализатор логов чтобы можно было удобно глянуть кто, что и куда.

В интернете наткнулся на скрипт, который написан на PERL и делает почти то, что было нужно мне. А именно — сортирует лог по очередям сообщений, по дате и можно посмотреть только с ошибками. Но он не удовлетворил всех моих требований, да и к тому же вывод был несколько неудобен для восприятия и для просмотра текста ошибки необходимо было воспользоваться горизонтальной прокруткой, что в консоли не очень то и удобно. А так же этот скрипт не выводил сообщения без очереди (NOQUEUE) а иногда в них можно найти интересную информацию.

И вот я решил соорудить свой велосипед, только он написан PHP и имеет простой веб-интерфейс. Теперь заходя набирая в браузере IP своего почтового сервера я могу мониторить логи в удобном формате. Выглядит это так:

postfix log parser
Итак, суть скрипта и настройки.

Можно выбирать файл (настройки по умолчанию ищите в скрипте 12 строка). Можно выводить по определенной очереди или вывалить все безочередные (NOQUEUE). Можно ввести дату и время за которое показать лог. Можно ввести ключевые слова (MAIL FROM/TO) и будут выведены только нужные записи. Можно выбрать статус (все или с ошибками). По умолчанию лимит на страницу — 200 записей, его вы тоже можете поменять в самом скрипте (8 строка).

Будьте осторожны при попытке вывода логов за большой период времени и/или увеличении лимита свыше 500, т.к. в этом случае скрипт может генерировать страничку более 10 секунд.

Плюс этого скрипта в том, что не нужно заходить на сервер и разгребать лог вручную, минус в том что если у вас большой почтовый трафик то вам он не подойдет.

Поддерживает  Spamassassin, Clamav.

Вы можете скачать скрипт с репозитория на гитхабе.

Если есть пожелания, замечания, пишите в комментариях.

Парсер логов Postfix на PHP: 5 комментариев

  1. Дмитрий

    Хорошо бы сделать визуальный выбор файла логов, т.к. их может быть много, например после авторотации.

  2. Юрий

    Не пойму, что произошло, долгое время отлично пользовался, ничего не изменилось, но скрипт перестал что либо выводить. Так же загружается окно, так же прописан путь к файлу логов, но при нажатии view снизу чистота.

    1. admin Автор записи

      Проверьте пожалуйста лог вашего сервера на наличие ошибок

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *