count-moved-records

<acct-file>

Считать ли записи в перекладываемом файле
в конфигурации это строкаcount-moved-records falseвнутри блока <acct-file>
Сколько записей было в закрытом файле

Когда MTA закрывает файл учёта и перекладывает его, он пишет об этом в свой журнал. Строка добавляет к этому сообщению число записей в файле. Умолчание — false.

Речь только о файлах CSV — так сказано в руководстве.

Зачем это нужно. Число в журнале — независимая от разбирающей стороны цифра: сколько записей узел действительно написал. Если сборщик статистики говорит «получено 9 000», а журнал узла — «в файле было 10 000», расхождение видно сразу и без разбора самих файлов.

Цена — подсчёт при каждом закрытии. На крупных файлах это означает лишний проход по файлу в момент, когда он и так уезжает.

Главная ловушка — искать это число не в том месте. Оно попадает в журнал MTA, а не в файл учёта и не в его имя. Ищут же его обычно в самом учёте.
Что делает Хаб. Не пишет — файлы учёта у нас не перекладываются (move-to не задан), так что сообщения о перемещении, к которому дописывается число, не бывает. Файлы acct-*.csv читает «Статистика учёта» прямо на узле, а поток телеметрии приходит вебхуком, и записи в нём приёмник считает сам.

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

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

Включают тогда, когда сверяют:

Значение Когда
false (умолчание) всегда
true разбираем расхождение между узлом и сборщиком

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

Умолчание false, запись в журнал вместе с сообщением о перемещении и ограничение форматом CSV — из руководства (§ 3.3.11.14). Применение для сверки — наше.
Пример в конфигурации
# на время разбора расхождений между узлом и сборщиком
<acct-file /var/log/pmta/acct.csv>
    move-to /var/log/pmta/archive
    move-interval 1h
    count-moved-records yes</acct-file>
Число появится в журнале MTA рядом с сообщением о перемещении — не в файле учёта и не в его имени.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Ждут числа записей при выключенном перемещении

§ 3.3.11.14

Чем чреватоЧисло дописывается к сообщению о перемещении. Нет move-to — нет и сообщения, а значит и числа.
Как заметитьСтрока включена, в журнале ничего не изменилось.
Как правильноЗадать каталог назначения либо считать записи самим — по файлу.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
count-moved-records <boolean>
Значения
yes | no | true | false
Умолчание
false § 3.3.11.14
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<acct-file>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Наследования нет: строка живёт внутри своего <acct-file> и касается сообщений только о его файлах.
Как проверить на узле
Число ищут в журнале MTA, рядом с сообщением о перемещении:
grep -i "moved" /var/log/pmta/log | tail -10
При включённой строке в сообщении будет количество записей. Пусто — либо файлы не перекладываются (нет move-to), либо формат не CSV.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Собрать телеметрию