Парсер логов 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: 7 комментариев

  1. Дмитрий

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

  2. Юрий

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

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

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

  3. Sysop

    Не понятно, что он парсит.
    при вводе в GREP емаил, выводиться туча всего, но не то что надо.
    если все же емаил есть, то он просто подсвечивается, но список от этого меньше не становиться. Память выедается на раз. пришлось на почтовый сервер увеличить RAM до 8Гб и в php лимит мемори увеличить до 512, но это не спасает, если сделать запрос подряд раз 8-9, в логах появляется ошибка лимита времени на поиск.
    А так задумка классная. Использую для своих инженеров. Сам пользую cli 🙂

  4. AvitoRu1Sor

    Пополение баланса Авито (Avito) за 50% | Телеграмм @a1garant

    Здравствуйте, дорогие друзья!

    Будем рады предоставить Всем вам услуги по пополнению баланса на действующие активные аккаунты Avito (а также, абсолютно новые). Если Вам требуются конкретные балансы — пишите, будем решать. Потратить можно на турбо продажи, любые платные услуги Авито (Avito).

    Аккаунты не Брут. Живут долго.

    Процент пополнения в нашу сторону и стоимость готовых аккаунтов: 50% от баланса на аккаунте.
    Если необходим залив на ваш аккаунт, в этом случае требуются логин и пароль Вашего акка для доступа к форме оплаты, пополнения баланса.
    Для постоянных клиентов гибкая система бонусов и скидок!

    Гарантия:

    И, конечно же ничто не укрепляет доверие, как — Постоплата!!! Вперед денег не просим…

    Рады сотрудничеству!

    Заливы на балансы Авито
    ________

    аккаунты world of tanks на авито
    продаю аккаунты авито
    пополнить авито кошелек через киви кошелек
    заблокировали объявление на авито а деньги не вернуть
    как снять деньги с кошелька на авито

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

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