База знаний PMTA›Сценарий

Разобрать зависшую очередь

записей в сценарии: 51
log-fileGlobalХаб задаёт самДирективаПуть к файлу журнала; строка обязательна, и она же задаёт расположение журналов монитора и SNMP.max-memory-usage-percentGlobalДирективаПри превышении доли физической памяти узел отвечает 452 на MAIL FROM, пока не опустится ниже.spool-max-recipientsGlobalДирективаОграничивает, сколько получателей узел держит в очередях; сверх потолка подача отбивается временной ошибкой. Умолчание — считать по ресурсам машины.log-commands<source>Хаб задаёт самДирективаПишет в журнал полный обмен командами и ответами; вендор называет это первым шагом при разборе связи.log-rotateGlobalДирективаЧисло файлов, включая текущий; умолчание восемь, ноль отключает ротацию совсем.allow-priority-interruption<domain>ДирективаСо значением no очередь становится неприкосновенной: её соединения не отбирают, каким бы высоким ни был приоритет соседа.allow-priority-interruption-during-transfer<domain>ДирективаСо значением no прерывание откладывается до освобождения соединения; с yes происходит немедленно, посреди передачи. Только для очередей SMTP.log-connections<source>Хаб задаёт самДирективаПишет в журнал строку при открытии и закрытии соединения от этого источника; по умолчанию выключено.log-data<source>Хаб задаёт самДирективаПишет обмен побайтово, в шестнадцатеричном виде и в тексте одновременно; самая подробная и самая тяжёлая ступень.log-verbose<signals>ДирективаДобавляет в журнал сообщения о работе выгрузки событий в SparkPost Signals; по умолчанию выключена.max-message-hops<source>ДирективаЗащита от петли: узел не принимает письмо, которое обошло слишком много почтовых систем.spool-delete-corruptedGlobalДирективаФайлы писем с ошибками кодирования — следами порчи данных на диске — удаляются вместо того, чтобы оставаться лежать без дела.log-hires-timestampGlobalДирективаДобавляет миллисекунды к отметкам времени в журнале; по умолчанию выключено.Файл, программа или эндпоинт — и файл под каждым из трёхкритичноМеханизмТри способа отдать записи учёта; у эндпоинта под низом всё равно файл, который удаляется только после успешной отправки, а ответ не 2xx вызывает повтор.Что узел рассказывает о себе и по каким каналамкритичноМеханизмСемь поверхностей наблюдения: веб-монитор, консоль в четырёх форматах, журнал, учёт, поиск по учёту, метрики и выгрузка во внешнюю аналитику.Очередь — это приёмник вместе с адресом отправкикритичноМеханизмMTA группирует письма по паре «домен получателя плюс адрес отправки»: один домен с двух адресов — это две независимые очереди со своими счётчиками, соединениями и режимом.Получатели, отложенные после временного отказаМеханизмПолучатель, которому приёмник ответил 4xx, переезжает в отдельную область ожидания с интервалом по приёмнику; две команды умеют выпустить его раньше срока.Своя лестница повторовМеханизмretry-after и backoff-retry-after принимают список интервалов — до 30 ступеней, последняя действует до отказа.Приёмник объявляет требование шифрования в своей зоне DNSМеханизмУзел смотрит записи DANE получателя и, если тот требует STARTTLS, отправляет только по зашифрованному каналу с проверенным по отпечатку сертификатом.Одноимённые директивыМеханизмИмя директивы определяет настройку только вместе с блоком: 48 из 417 имён описаны больше чем в одном месте, и одно имя в разных блоках — не всегда одна настройка.Сторож, который перезапускает MTAМеханизмПрисматривает за MTA и после падения поднимает его сам, отправляя отчёт о падении на адрес ответственного.Узлу нужен резолвер, который делает всю работу самМеханизмMTA требует рекурсивного разрешения имён; резолвер, отвечающий отсылкой к другому серверу, вынуждает повторять запрос и предупреждает записью в журнал.Чем опасна виртуальная машинаМеханизмРаботать на виртуальной машине можно, но руководство не рекомендует это без достаточного железа и выверенных настроек гипервизора: под нагрузкой узел может перестать отвечать.Окна отправки, заданные в самом письмеМеханизмЗаголовок несёт один или несколько промежутков, в которые письмо разрешено отправлять; расписание отменяет срок жизни письма, и письмо отбивается, когда окна кончились.Журнал и учёт — два файла и два разных вопросаМеханизмMTA ведёт отдельный журнал и отдельный файл учёта; разделение сделано ради формата, производительности и возможности отдать журнал не раскрывая данные.Держать выбранные домены разрешёнными постоянноМеханизмФайл со списком доменов, чьи записи DNS обновляются по своему расписанию независимо от очереди и вопреки их собственному сроку жизни.Разобраться, почему копится очередь к одному приёмникуПроцедураСначала одной командой проверить маршрут и достижимость, потом заставить узел попробовать доставку с записью сессии, и лишь при перемежающейся неполадке включить журналирование по приёмнику.Что делать после паденияПроцедураПорядок действий после падения: убедиться, что сторож поднял MTA, сохранить письмо с отчётом, найти дамп аварии, передать вендору.show queuesкритичноКомандаПоказывает выбранные очереди и, если не запретить, последние полсотни доставок, отказов и задержек; отбор идёт по соединению, режиму и приостановке.clear dnscacheКомандаУдаляет из кэша DNS MTA все записи домена; со звёздочкой — весь кэш.listКомандаПеречисляет получателей в очередях по отбору; с –pause прерывает доставку получателя, чтобы его показать.resolveКомандаЗапрашивает записи MX и адреса домена и с –connect подключается к первому доступному почтовому хосту.scheduleКомандаСразу назначает очередям попытки доставки, не дожидаясь интервала повтора; с ключом выпускает и отложенных получателей.traceКомандаОткрывает соединение с доменом и пробует доставить одно письмо из очереди, записывая разговор SMTP в журнал.rotate logКомандаЗакрывает текущий журнал и начинает новый; прежний остаётся на месте.show precacheКомандаПечатает домены, чьи записи узел обновляет независимо от содержимого очереди.Отдать файл узлакритичноТочка APIОтдаёт журнал или файл учёта по имени из перечня /logs.Письма в очередиТочка APIПеречисляет письма в выбранных очередях с отбором по заданию, конверту, получателю и отправителю.Перечень журналов и файлов учётаТочка APIПеречисляет файлы журнала и учёта, которые монитор может отдать; само содержимое — через /getFile.Временная неудача очередиЗапись учётаПопытка не удалась на уровне очереди: соединение отвергнуто, не установилось или оборвалось до разговора о письмах.Приёмник отказал в соединенииКод ошибкиСоединение не установилось: удалённый хост отверг его — либо почтовый сервер выключен, либо фильтр отбивает именно этого отправителя.Приёмник замолчал посреди разговораКод ошибкиСоединение установлено, но приёмник перестал отвечать; MTA ждёт десять минут, и это время не настраивается.Запрос имени не завершился — и вывод не делаетсяКод ошибкиЗапрос в службу имён не удался, обычно по времени ожидания; MTA намеренно не отбивает письмо на таком отказе.СоединенияМетрикаЧисло одновременных соединений: сейчас, наибольшее и разрешённый предел, в обе стороны.Кэш имёнМетрикаЧисло имён в кэше и число запросов, ожидающих ответа; отдельно — активные запросы.Глубина очередиМетрикаПолучатели, домены получателей и килобайты в очереди.Три коротких истории по каждой очередикритичноЭкран монитораСтраница одной очереди несёт последние полсотни событий получателей, последние десять ошибок очереди и последние десять смен режима.ЖурналыкритичноЭкран монитораПеречень файлов журнала и учёта со ссылками на скачивание.ОчередиЭкран монитораВерхние очереди — пары «приёмник и адрес отправки» — и форма отбора: по соединениям, режиму, длине списка и порядку.Состояние узлаЭкран монитораСостояние узла на одной странице: трафик, пики, соединения с потолком, кэш DNS, спул и очереди по способам доставки.Собственный журнал узлаФайлЖурнал самого MTA: запуск и остановка, ошибки, следы соединений и предупреждения; ротация автоматическая, число хранимых файлов настраивается.