Компоненты коллектора

Ресиверы:

Процессоры:

Экспортеры:

Ресиверы

Postgrespro

Ресивер postgrespro является компонентом OpenTelemetryCollector и осуществляет сбор данных с экземпляров СУБД. Ресивер является внутренней разработкой компании PostgresPro и НЕ является частью открытой экосистемы OpenTelemetry.

Ресивер организован по модульному принципу и позволяет регулировать объем собираемых данных через включение модулей. Некоторые модули предусматривают дополнительную настройку.

Модули — это внутренние компоненты ресивера, отвечающие за сбор разных типов статистических данных. Каждый модуль предназначен для сбора конкретной информации, которая затем преобразуется в группы метрик. pgpro-otel-collector предоставляет группы метрик, описывающие различные подсистемы, события и процессы внутри системы управления базами данных (СУБД), такие, как использование таблиц и индексов, работа фоновых процессов, использование ресурсов запросами и т. д.

Количество статистических данных может варьироваться в зависимости от версии и редакции Postgres Pro, что ведёт к большой вариативности и сложности методов сбора. Ещё одна важная роль pgpro-otel-collector — скрывать эти отличия от систем мониторинга, в то же время предоставляя максимум информации о наблюдаемой системе.

Ресивер postgrespro содержит следующие модули:

Каждый из этих модулей может предоставлять десятки видов метрик. В зависимости от числа объектов в экземпляре, количество метрик может исчисляться тысячами. Однако некоторые метрики или даже группы метрик могут быть не нужны. Поэтому pgpro-otel-collector позволяет включать и выключать нужные модули, таким образом контролируя количество и качество собираемых данных.

Важно: включение следующих модулей в некоторых обстоятельствах могут создавать значительную нагрузку на экземпляр СУБД. Модули выключены в конфигурации по умолчанию и их включение должно рассматриваться очень серьезно с должным уровнем ограничения сбора только по необходимым объектам.

Filelog

Ресивер filelog является открытым компонентом OpenTelemetry, подробную информацию о ресивере можно получить тут.

Коллектор использует ресивер filelog для сбора журналов экземпляра СУБД - для этого нужно добавить ресивер filelog в секцию receivers и описать его настройку.

Настройка ресивера зависит от настроек экземпляра СУБД и используемого формата журнала (см. параметры logging_collector и log_destination). Коллектор поддерживает сбор журналов в формате CSV и JSON.

Hostmetrics

Ресивер hostmetrics является открытым компонентом OpenTelemetry, подробную информацию о ресивере можно получить тут.

Коллектор использует ресивер hostmetrics для сбора метрик операционной системы - для этого нужно добавить ресивер hostmetrics в секцию receivers и описать его настройку.

Процессоры

Attributes

Процессор attributes является открытым компонентом OpenTelemetry, подробную информацию о процессоре attributes можно получить тут.

Процессор attributes используется для обработки отдельных атрибутов записей журнала. Процессор нужно добавить в секцию processors и описать его настройку.

Настройка процессора также зависит от настроек экземпляра СУБД и используемого формата журнала (см. параметры logging_collector и log_destination).

Resource

Процессор resource является открытым компонентом OpenTelemetry, подробную информацию о процессоре resource можно получить тут.

Процессор resource используется для добавления дополнительных атрибутов записей журнала. Процессор нужно добавить в секцию processors и описать его настройку.

Настройка процессора также зависит от настроек экземпляра СУБД и используемого формата журнала (см. параметры logging_collector и log_destination).

Batch

Процессор batch является открытым компонентом OpenTelemetry, подробную информацию о процессоре batch можно получить тут.

Процессор batch используется для формирования пакетов данных и регулировки механизма отправки данных. Процессор нужно добавить в секцию processors и описать его настройку.

Экспортеры

Prometheus

Экспортер prometheus является открытым компонентом OpenTelemetry, подробную информацию о ресивере можно получить тут. Экспортер prometheus является наиболее простым в использовании. Экспортер не требует обязательной настройки внешних компонентов и может быть включен по умолчанию. Экспортер нужно добавить в секцию exporters и описать его настройку.

OTLPHTTP

Экспортер otlphttp является открытым компонентом OpenTelemetry, подробную информацию о ресивере можно получить тут. Экспортер otlphttp используется для отправки собранных метрик в OTLP-совместимую систему хранения или мониторинга которая предварительно должна быть развернута и доступна. Экспортер нужно добавить в секцию exporters и описать его настройку.