В главе 8 об этом две строки со ссылкой на главу учёта, и значимость их несоразмерна длине.
Меняется направление. Аналитика, построенная на файлах, требует забирать их с узла: ждать, пока файл закроется, читать чужую файловую систему, опрашивать. Отправка снимает всё это разом — узел, который шлёт записи сам, для этого опрашивать не надо вовсе.
Цена — приёмник, который должен быть доступен или должен переносить то поведение при повторах, которое у узла окажется. Глава 8 его не описывает; описание — в § 12.1.1, и договор там простой: повтор до ответа 2xx, накопление на диске узла.
И это дополнение, а не замена. Оба способа работают одновременно, и переход поэтому можно делать без рывка: включить вебхук рядом с файлами, сверить, выключить лишнее.
Опрос остаётся для сводок. Раз в сутки модуль «Статистика учёта» запускает на узле по SSH утилиту pmtastats — она считает по CSV-файлам учёта, а файл вебхука ей не годится.
Из этого следует и ограничение: если у Хаба нет публичного адреса, слать некуда, и блок телеметрии не пишется вовсе. Тогда остаётся опрос через управляющий интерфейс — беднее по данным, но работает.
Собственных значений у механизма нет: его включает одна строка, http-webhook-url, а всё остальное настраивает подробности отправки.
| Что решает | Чем |
|---|---|
| куда слать | http-webhook-url |
| как часто | http-webhook-max-interval |
| как доказать, что это ваш узел | http-webhook-extra-headers или http-webhook-certificate |
# одна строка меняет направление потока учёта <acct-file /var/log/pmta/webhook.json> records d, b, t http-webhook-url https://hub.example.com/api/telemetry/pmta/7 http-webhook-extra-headers /etc/pmta/mtahub-headers.txt </acct-file>
что делают не так и чем это кончается2 ошибки▶
§ 12.1.1
наш опыт
4 связи
Договор о телеметрииТот же поток записей, только отданный по сети, а не оставленный файлом. § 8.6
min-free-space<signals>Та же беда, что у вебхука учёта: недоступный приёмник даёт накопление, а предел здесь дисковый. inferenceCSV или JSON — выбирает расширение файла, а не директиваРасширение пути решает не только формат записей, но и заголовок типа содержимого в отправляемом запросе. § 12.1.1
tail -f /var/log/nginx/access.log | grep telemetry
3 статьи
◇Что узел рассказывает о себе и по каким каналамСемь поверхностей наблюдения: веб-монитор, консоль в четырёх форматах, журнал, учёт, поиск по учёту, метрики и выгрузка во внешнюю аналитику.◇Два обработчика входящих отчётов и что с ними делатьОтказы письмом и жалобы разбираются двумя одинаково устроенными блоками; у каждого свой список адресов и своя пара решений о судьбе письма.◇Пять способов очереди отдать письмоОчередь не обязана ходить по SMTP: она умеет писать в файл, запускать программу, стучаться по HTTP или выбрасывать.