pgpro-otel-collector базируется на архитектуре OpenTelemetryCollector
и состоит из нескольких компонентов, которые взаимодействуют друг с
другом по конвейерному принципу: сбор - обработка - отправка.
Ресиверы — ключевые компоненты, отвечающие за сбор
данных. pgpro-otel-collector включает в себя следующие
ресиверы:
postgrespro — главный компонент
коллектора, заключающий в себе все инструменты (встроенные модули) для
сбора данных с экземпляра БД.filelog — вспомогательный ресивер,
отвечающий за сбор информации из журналов активности БД.hostmetrics — вспомогательный ресивер
для сбора информации из операционной системы. Могут потребоваться права
root.Процессоры — принимают и обрабатывают данные от ресиверов.
Экспортёры — получают обработанные данные от
процессоров и доставляют их внешним потребителям.
pgpro-otel-collector включает в себя следующие
экспортёры:
otlphttp — экспортирует и отправляет
данные по протоколу OTLP (стандартный протокол OpenTelemetry, внедряемый
многими поставщиками систем мониторинга) с использованием протокола
HTTP.prometheus — экспортирует метрики по
встроенному HTTP-серверу и публикует их на странице
/metrics в формате системы мониторинга Prometheus.
prometheus используется по умолчанию, так как не требует
дополнительной настройки.Согласно общей архитектуре OpenTelemetryCollector, коллектор может быть сконфигурирован таким образом, что один и тот же компонент может использоваться несколько раз. Например, можно использовать несколько экземпляров одного и того же ресивера для сбора данных с нескольких экземпляров СУБД. Или один и тот же экспортер может использоваться для отправки данных в разные хранилища.