Поток сбора метрик#
Поток сбора метрик — процесс получения, пошаговой обработки и транспортировки метрик до места долговременного хранения. Каждый экземпляр коллектора позволяет выполнять в асинхронном режиме произвольный набор таких потоков.
Поток связывает в единую цепочку набор сконфигурированных компонентов коллектора: Источник последовательность Обработчиков, Агрегатор и Приемник.
Объединение компонентов в поток выполняется через параметр flows конфигурации коллектора. Подробнее в разделе Структура параметра конфигурации flows
В каждом потоке должен быть по крайней мере один источник, обязательно единственный приемник метрик и опционально произвольное число обработчиков и агрегаторов.
Существует возможность объединения в поток данных сразу от нескольких источников.
В таком случае, источники группируются в последовательность с использованием параметра конфигурации inputs (вместо обязательного параметра input).
Для удобства отладки и тестирования конфигураций каждый поток снабжается параметром статуса status.
Коллектор запускает на выполнения только те потоки, статус которых установлен в значение active или nonstop.
Потоки со статусом inactive проверяются на корректность создания, но на выполнение не передаются.
Выполнение потоков со статусом nonstop не приостанавливается при получении управляющей команды stop (актуально для потоков с liveness-пробами).
Запуск «активных» потоков производится последовательно, согласно их перечислению в конфигурации flows.
Перед каждым запуском очередного потока выдерживается пауза, размер которой в миллисекундах задается параметром flowInitialDelayStepMs.
Период повторного запроса исходных данных метрик определяется параметром компонента-Источника emitRateMs (в миллисекундах).
Дополнительно каждый поток может корректировать (мультиплицировать) это значение с помощью коэффициента «ускорения» speedRatio (вещественное, если < 1 – замедление, если > 1 – ускорение, по умолчанию = 1).
С каждым потоком метрик может быть связан необязательный итератор потока.
Итератор позволяет «клонировать» связанный с ним поток, заменяя в каждой копии определенные параметры исходных компонентов потока на значения, указанные в итераторе.
Это позволяет избежать чрезмерной перегруженности конфигурации Коллектора «схожими» потоками сбора метрик.
Например, для сбора однотипных метрик с каждого сервера кластера Kafka организуется итератор с подменой сервера и порта JMX-сервера в input-компонентах потока.