<prometheus-listener>

Отдача метрик узла в стандартном формате
Третий способ узнать, что с узлом

Блок поднимает отдельный порт, с которого метрики забирает система мониторинга. Появился в PowerMTA 5.5. Имя блока — это адрес и порт: 0/0 означает все адреса машины, можно задать и диапазон — тогда MTA возьмёт один подходящий и напишет какой в журнал.

Блок на узле только один. Разделить метрики по адресам или отдать их двум системам разными портами нельзя.

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

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

Стоимость вендор называет незначительной — но с оговоркой: она относится к самой отдаче метрик, а не к track-time-first-attempt, у которой своя цена в обращениях к диску.

Пример в конфигурации
# весь блок — одна строка имени; содержимое необязательно
<prometheus-listener 0/0:9090></prometheus-listener>

# величины задержек открываются отдельно, строками уровня узла
track-inbound-perf-stats true
track-outbound-perf-stats true
track-time-first-attempt true
Блок сам по себе отдаёт трафик, соединения, очередь и ошибки. Три строки внизу добавляют к ним сводки задержек — без них метрики задержек пусты.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Собрать телеметрию