max-size

<acct-file>Хаб задаёт сам

Предельный размер файла учёта или пачки вебхука
в конфигурации это строкаmax-size 250M for files, 5M for webhooksвнутри блока <acct-file>
Один потолок, два разных смысла

Строка означает разное в зависимости от того, куда идёт учёт, и это её главная особенность.

Для файла — потолок, по достижении которого MTA закрывает файл и начинает новый. Умолчание 250M, минимум 1M. Работает и без move-to: тогда новый файл начинается на месте, с увеличенным номером в имени.

Для вебхука — предельный размер пачки. Умолчание 5M, минимум 50K, потолок 10M.

Это второе условие закрытия, работающее вместе с move-interval для файла и с http-webhook-max-interval для вебхука: что наступит раньше, то и сработает.

Главная ловушка — перенести значение из файлового блока в вебхучный. Пределы у них разные: файлу 250M — умолчание, а вебхуку столько задать нельзя вовсе, там потолок 10M. И наоборот, 50K для файла ниже минимума.
Что делает Хаб. Пишет — и в двух блоках разное.

В файловом блоке max-size 25M — вдесятеро меньше вендорского умолчания. Это осмысленно: move-to у нас нет, файл начинается заново на месте, и мелкие файлы удобнее в разборе.

В блоке телеметрии max-size 1M — впятеро меньше вендорских 5M для вебхука. Тоже осмысленно: минутные пачки и так невелики, а наш приёмник отклоняет тело больше 32 МБ ответом 413, и запас тридцатикратный.

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

Значение зависит от вида потока:

Поток Минимум Умолчание Потолок
файл 1M 250M не назван
вебхук 50K 5M 10M

Смысл тоже разный: у файла это точка, где начинается следующий, у вебхука — предельный объём одного запроса.

Оба умолчания, минимумы, потолок вебхука и поведение без move-to — из руководства (§ 3.3.11.4). Разбор наших значений — по шаблону Хаба.
Пример в конфигурации
# файл: новый начинается на месте по достижении потолка
<acct-file /var/log/pmta/acct.csv>
    max-size 25M    delete-after 7d
</acct-file>

# вебхук: тот же ключ означает предельный размер пачки
<acct-file /var/log/pmta/mtahub-webhook.json>
    http-webhook-url https://hub.example.com/api/telemetry/pmta/7
    http-webhook-max-interval 1m
    max-size 1M
</acct-file>
Одна и та же строка, два разных смысла и два разных диапазона допустимых значений.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Переносят файловое значение в блок вебхука

§ 3.3.11.4

Чем чреватоДиапазоны разные: у вебхука потолок 10M, и значение вроде 250M туда не годится. Конфигурация либо не пройдёт проверку, либо значение будет ограничено.
Как заметитьpmta test config ругается на значение либо пачки уходят меньше заданного.
Как правильноДержать в голове две шкалы: файл от 1M, вебхук от 50K до 10M.

Ставят большой потолок при выключенном перемещении

наш опыт

Чем чреватоБез move-to новый файл начинается на месте, и в каталоге накапливаются очень крупные файлы. Разбирать и переносить их неудобно, а удаление по сроку срезает сразу большой кусок истории.
Как заметитьВ каталоге несколько файлов по сотне мегабайт.
Как правильноУменьшить потолок — мелкие файлы удобнее и в разборе, и в удалении по сроку.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
max-size <size>
Значения
N с множителем b, k, m, g или t
Умолчание
250M for files, 5M for webhooks § 3.3.11.4
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<acct-file>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Наследования нет: строка живёт внутри своего <acct-file> и относится к его потоку — и её смысл определяется тем, файловый это поток или вебхучный.
Как проверить на узле
Для файла потолок виден по размеру закрытых файлов:
ls -la /var/log/pmta/acct*.csv
Закрытые файлы должны быть близки к заданному потолку. Для вебхука то же смотрят по промежуточным файлам — они уходят по размеру или по интервалу, что раньше.
В Хабе
Управляется
Аналитика → Учёт узла
Значение
Хаб подбирает сам — темп, стадия прогрева, метрики
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Собрать телеметрию