Третий путь наблюдения за узлом — и единственный, чей вывод готовая система мониторинга понимает без переводчика. Появился в PowerMTA 5.5.
Что отдаётся, по группам:
| Группа | Метрики | Что открывает |
|---|---|---|
| трафик | получатели, письма, байты, соединения | спрос и его сезонность |
| насыщение | глубина очереди в получателях и байтах, текущие соединения | приближение к пределу |
| ошибки | 4xx, 5xx, внутренние; отдельно очередные | доля неудач |
| задержки | длительность разговора, время до первой попытки | ранние признаки беды |
Метки различают направление и способ подачи. У трафика есть srcType: подача по SMTP, по API отправки, внутренняя (например, уведомления о недоставке), по Transmissions API и засеивание. То есть видно, каким путём пришли письма, — а этого не показывает ни монитор, ни учёт.
Это сводки, а не события. Вендор говорит прямо: набор рассчитан на здоровье системы в целом, и разбирать по нему отдельные письма не предполагается — для этого есть учёт и журнал.
Три метрики требуют отдельного включения: обе задержки разговора (track-inbound-perf-stats, track-outbound-perf-stats) и время до первой попытки (track-time-first-attempt). Остальные работают сразу с блоком.
🔎 В схеме место под это предусмотрено — колонка node_engines.metrics_port, — но её никто не заполняет: путь наметили и не прошли.
🔎 И это единственная поверхность узла, которой не нужен наш секрет. Управляющий интерфейс требует ключа, вебхук — токена, а метрики отдаются как есть. Клиенту, у которого свой мониторинг, её можно отдать одной строкой в конфигурации, ничего больше не открывая.
Собственных значений у механизма нет — его включает блок, а три метрики открываются строками уровня узла:
| Что нужно | Чем включается |
|---|---|
| вся поверхность | блок <prometheus-listener> |
| задержка приёма | track-inbound-perf-stats |
| задержка отправки | track-outbound-perf-stats |
| время до первой попытки | track-time-first-attempt |
| разбивка последней по приёмникам | time-first-attempt-domains-file |
# блок отдаёт метрики; три строки добавляют к ним задержки <prometheus-listener 0/0:9090></prometheus-listener> track-inbound-perf-stats true track-outbound-perf-stats true track-time-first-attempt true
что делают не так и чем это кончается3 ошибки▶
§ 11.22
наш опыт
§ 11.22
4 связи
curl -s http://NODE:9090/metrics | head -30
3 статьи
◇Пять способов очереди отдать письмоОчередь не обязана ходить по SMTP: она умеет писать в файл, запускать программу, стучаться по HTTP или выбрасывать.◇Как письмо попадает в MTAШесть описанных способов подачи: расширенный SMTP, четыре языковые обвязки и каталог, за которым узел следит на диске.◇Что узел рассказывает о себе и по каким каналамСемь поверхностей наблюдения: веб-монитор, консоль в четырёх форматах, журнал, учёт, поиск по учёту, метрики и выгрузка во внешнюю аналитику.