Архитектура

pgpro-otel-collector базируется на архитектуре OpenTelemetryCollector и состоит из нескольких компонентов, которые взаимодействуют друг с другом по конвейерному принципу: сбор - обработка - отправка.

Ресиверы — ключевые компоненты, отвечающие за сбор данных. pgpro-otel-collector включает в себя следующие ресиверы:

  • postgrespro главный компонент коллектора, заключающий в себе все инструменты (встроенные модули) для сбора данных с экземпляра БД.
  • filelog вспомогательный ресивер, отвечающий за сбор информации из журналов активности БД.
  • hostmetrics вспомогательный ресивер для сбора информации из операционной системы. Могут потребоваться права root.

Процессоры — принимают и обрабатывают данные от ресиверов.

Экспортёры — получают обработанные данные от процессоров и доставляют их внешним потребителям. pgpro-otel-collector включает в себя следующие экспортёры:

  • otlphttp экспортирует и отправляет данные по протоколу OTLP (стандартный протокол OpenTelemetry, внедряемый многими поставщиками систем мониторинга) с использованием протокола HTTP.
  • prometheus экспортирует метрики по встроенному HTTP-серверу и публикует их на странице /metrics в формате системы мониторинга Prometheus. prometheus используется по умолчанию, так как не требует дополнительной настройки.

Согласно общей архитектуре OpenTelemetryCollector, коллектор может быть сконфигурирован таким образом, что один и тот же компонент может использоваться несколько раз. Например, можно использовать несколько экземпляров одного и того же ресивера для сбора данных с нескольких экземпляров СУБД. Или один и тот же экспортер может использоваться для отправки данных в разные хранилища.