log-disabled-ips

<domain>

Писать ли в журнал, когда и какие исходящие адреса отключались
в конфигурации это строкаlog-disabled-ips falseвнутри блока <domain>
История отключений — или её отсутствие

Включает запись в журнал узла о том, когда и какие адреса отправки выводились из работы. Умолчание — false, то есть по умолчанию история не ведётся вовсе.

Чем это отличается от списка отключённых. Команда show disabled sources показывает состояние на сейчас и живёт в памяти MTA: перезапуск службы стирает её начисто. Журнал — файл на диске, он переживает перезапуск и отвечает на другой вопрос: что происходило, когда и в каком порядке.

Когда без него не обойтись. Адреса отключаются и возвращаются сами — по таймеру, по ответу приёмника, — и к моменту разбора в списке может не быть ничего. Без журнала связать «объём просел во вторник» с «во вторник правило выключило три адреса» будет нечем.

Главная ловушка. Директива живёт в блоке приёмника, а не на уровне узла: включённая для одного получателя, она молчит про остальных. Задавать её надо в общем блоке <domain *> — иначе история окажется выборочной, и именно про того приёмника, который создал проблему, записи может не быть.
Что делает Хаб. Не пишет. Свои отключения он ведёт в собственном журнале управления узлом — там записана и операция, и кто её запустил, и когда она истекает.

Строку стоит включить, если на узле есть свои правила почтовика с disable-source-ip: такие отключения в журнал Хаба не попадают, и кроме файла на узле их следов нигде нет.

Рекомендуемые значения

Включать в общем блоке приёмников — история должна быть полной, а не про избранные домены.

Стоит дёшево. Запись появляется только в момент события, а события эти редкие: журнал от неё не разрастается.

Оставлять false осмысленно только там, где адреса не отключает никто и никогда — то есть где нет ни правил с disable-source-ip, ни людей с доступом к консоли узла.

Из руководства здесь умолчание false и назначение директивы. Совет включать в общем блоке и оценка стоимости — наши.
Пример в конфигурации
# история нужна по всем приёмникам, а не по избранным
<domain *>
    log-disabled-ips true    disabled-source-ip-notify ops@example.net
    reenable-source-ip-after 4h
</domain>
Три строки закрывают механизм целиком: узнать сразу (письмо), разобрать потом (журнал), не забыть вернуть (таймер).
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается2 ошибки▶

Включают в блоке одного приёмника

наш опыт

Чем чреватоДиректива живёт в блоке получателя. Включённая для gmail.com, она ничего не запишет про отключения на всех остальных — а проблема обычно приходит оттуда, откуда не ждали.
Как заметитьЖурнал пуст, хотя адреса в списке отключённых были.
Как правильноЗадавать в общем блоке <domain *>, а в частных — только если нужно наоборот, выключить.

Полагаются на список отключённых как на историю

наш опыт

Чем чреватоСписок живёт в памяти MTA и показывает только текущее состояние. Адрес, отключённый и вернувшийся по таймеру, в нём не оставляет следа; перезапуск службы стирает и то, что есть.
Как заметитьОбъём просел, список пуст, объяснить нечем.
Как правильноВключить журнал заранее — задним числом историю не восстановить.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
log-disabled-ips <boolean>
Значения
true или false (принимаются и yes/no)
Умолчание
false § 3.3.10.6
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<domain>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Значение сливается по блокам <domain> от общего к частному: побеждает наиболее подходящий блок, а не последний по файлу. Подхватывается по pmta reload, перезапуск не нужен.
Как проверить на узле
Проверяется по самому журналу — он лежит там, куда указывает директива уровня узла log-file:
grep -rn log-disabled-ips /etc/pmta/
grep -i "disabl" /var/log/pmta/log | tail -20
Пустой вывод второй команды при включённой директиве означает, что отключений просто не было. Если строки в конфигурации нет — истории нет вообще, и прошедшие отключения восстановить будет неоткуда: список отключённых показывает только текущее состояние.
В Хабе
Цена ошибки
безопасно: неверное значение ничего не ломает
Сценарии
Разобраться с доставляемостью