pmc-acct-min-free-space

Global

Порог свободного места для файлов учёта консоли управления
в конфигурации это строкаpmc-acct-min-free-space unlimitedвнутри блока Global
Предохранитель для чужого продукта

Умолчание — unlimited, то есть предохранителя нет.

Строка относится к отдельному продукту вендора — консоли управления (PMC). MTA пишет для неё файлы учёта в формате CSV, и при исправной работе консоли они не копятся: она их забирает.

Копиться они начинают, когда что-то сломалось. Руководство перечисляет прямо: машина консоли выключена или перегружена, правила брандмауэра не дают ей подключиться, либо консоль просто выключили, не отменив регистрацию на узле.

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

И оговорка, ради которой строку и ставят: удалённые данные пропадают навсегда, а в отчётах консоли остаются дыры.

Главная ловушка — умолчание. Без порога файлы копятся, пока не кончится место, — а кончится оно не только для них: на том же разделе обычно живут спул, журнал и файлы учёта самого узла.

То есть неполадка чужого продукта, о которой вы можете вообще не знать, останавливает узел целиком. Строка ограничивает ущерб потерей данных консоли — тем, что и так уже частично потеряно.

Вторая половина: порог не чинит причину. Он покупает время, а разбираться с выключенной консолью или брандмауэром всё равно придётся.

Что делает Хаб. Не пишет — и не должен: консолью управления вендора мы не пользуемся вовсе. Файлы учёта для неё не формируются, и копиться нечему.

Свой учёт Хаб получает иначе: события — вебхуком телеметрии из блока учёта (у того собственные пределы: размер файла и интервал отправки), сводки — «Статистикой учёта» по файлам учёта на самом узле.

Строка стала бы важной на узле, где консоль когда-то была зарегистрирована, а потом её выключили, не отменив регистрацию: это ровно тот случай, который руководство называет.

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

Что ставить. Порог нужен там, где консоль зарегистрирована:

Значение Когда
unlimited (умолчание) консоль не используется и не зарегистрирована
5G и больше консоль работает: порог как предохранитель на случай её отказа
меньше файлы учёта на отдельном разделе, и кроме них там ничего нет

Считать надо от того, что ещё должно работать, когда место кончится: спул, журнал и учёт самого узла.

Умолчание unlimited, перечень причин накопления файлов, удаление самых старых и оговорка о безвозвратной потере — из руководства, § 3.3.1.40. Разбивка значений наша.
Пример в конфигурации
# предохранитель на случай, когда консоль перестала забирать файлы
pmc-acct-min-free-space 5G
Ниже порога MTA начнёт удалять самые старые файлы учёта консоли. Данные пропадут навсегда, зато узел продолжит работать.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Оставляют умолчание при зарегистрированной консоли

§ 3.3.1.40

Чем чреватоФайлы копятся, пока не кончится место на разделе, — а на нём обычно живут ещё спул, журнал и учёт самого узла. Неполадка чужого продукта останавливает узел целиком.
Как заметитьРаздел заполнен файлами учёта CSV, узел перестал принимать почту.
Как правильноЗадать порог с запасом на то, что ещё должно работать, и разобраться, почему консоль не забирает файлы.

Выключают консоль, не отменив регистрацию

§ 3.3.1.40

Чем чреватоУзел продолжает писать для неё файлы, а забирать их некому. Руководство называет этот случай в числе причин накопления прямо.
Как заметитьКонсоль выключена, а файлы учёта для неё продолжают появляться.
Как правильноОтменить регистрацию на узле, а не просто выключить консоль.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
pmc-acct-min-free-space <size>
Значения
число с множителем размера или unlimited
Умолчание
unlimited § 3.3.1.40
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
Global
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Директива пишется в корне файла конфигурации и действует на весь узел: файлы учёта для консоли одни на экземпляр, разделить порог между ними нельзя.
Как проверить на узле
Строку читают вместе с тем, зарегистрирована ли консоль вообще:
grep -n 'pmc-acct-min-free-space' /etc/pmta/config
pmta show registration
Пустая регистрация означает, что консоль не подключена и файлы для неё не копятся. Непустая при отсутствии порога — тот самый случай, ради которого строка и сделана.
В Хабе
Цена ошибки
безопасно: неверное значение ничего не ломает
Сценарии
Собрать телеметрию