Привет, %username%! Вчера на работе возникла проблема с почтовым сервером. Проблема проявляла себя следующим образом: клиенты (сотрудники компании в подавляющем большинстве) стали жаловаться на то, что почта у них приходит с задержками. Задержки были самыми разными по времени.

Сеть в офисе поделена на несколько подсетей для снижения нагрузки на основную подсеть и уменьшение количества сетевого “шума”. Первые мысли были именно в сторону проблем с сетью. Но после того как начали поступать жалобы из разных подсетей стало ясно, что проблемы не в работе сети. Решение удивило и меня самого и моего коллегу в Питере. И так. Время начала проблемы примерно 17:15-17:30. Мы как правильные человеки работаем до 18:00. Соответственно в 18:05-18:30 почти все сотрудники разбежались по домам и остались только самые стойкие, а так же те кому домой нет нужды торопиться (а имено Я). Проверить что, у кого и как настроено конечно можно: сбрасываем пароль на любой, открываем кабинет и смотрим что и как там настроено. Меня такой расклад не устраивал и я отложил проблему до следующего дня.

Сегодня весь день работа почтового сервера не вызывала нареканий со стороны сотрудников компании и все было прекрасно. До очередного часа Х. Примерно в то же самое время начали появляться те же симптомы: задержки в получении писем. Быстренько посмотрев с коллегой логи на почтовом сервере на первый взгляд ничего особенно не заметили. Чуть позже я обратил внимание на лог /var/log/iredapd.log - на сколько я понял в него пишется очередь (или попытки отправить письма или еще что-то подобное) - и там было все забито аккаунтом одного сотрудника.

Обнаружив данного сотрудника на рабочем месте я пошел его убивать дико обрадовался. На его рабочем компьютере был установлен почтовый клиент The Bat! Эта программулина периодически при попытке получить почту выдавала ошибки по таймауту. Самое примитивное снести и поставить его заново не увенчалось успехом. Снести потому, что перед обнаружением в логах записи об ошибках я просил его закрыть The Bat! и данная канитель прекращалась. Возникли мысли, что его комп поимел вирус/малварь/херня_неведомая. Посмотрев зависимость появления записей в логе очереди на сервере и запуск программы The Bat! я начал ковыряться в настроках почтового клиента. В логе The Bat! начали проскакивать ошибки об отсутствующем получателе - попытка отправить на несуществующий адрес на нашем сервере. Адресат был указан с ошибкой (оказалось, что когда-то работал человек и у него была такая почта).

Я создал, на всякий пожарный, данный адрес и сделал пересылку с него на правильный. Далее в настройках The Bat! я обнаружил, что у него автоматическая проверка почты выставлена на интервал в 2 секунды. С*ка засранец! ДВЕ БЛИН СЕКУНДЫ! Т.о. каждые две секунды этот волшебный сотрудник проверял свою почту и в соответствии с настройками The Bat! пытался получить и отправить почту одновременно. Это ужас!

Плюсом ко всему у него в исходящих висели письма с 2013 года! Я их без зазрения совести удалил все к чертям собачьим.

Выставив время проверки почты на 2 минуты (эти менеджеры вечно боятся просрать ВАЖНОЕ письмо и учавствуют в переписках на +100500 человек) я проверил логи очереди сервера. Все стало просто прекрасно!

Итог: Коллеги! Следите за своими хомяками!

ЗЫЖ Сервер настроен на базе Ubuntu 14.04 + iRedMail free. О процессе настройки этой связки я как-нибудь напишу позже и подробнее.


Если у тебя есть вопросы, комментарии и/или замечания – заходи в чат, а так же подписывайся на канал.