6.1. Файл конфигурации #
Главный файл конфигурации находится в /etc/pgpro-otel-collector/basic.yml
и используется по умолчанию. Он состоит из следующих основных секций:
Параметры ресиверов
Параметры процессоров
Параметры экспортёров
Параметры конвейеров
Дополнительные и необязательные параметры
Секции можно размещать в произвольном порядке. На верхнем уровне структура файла конфигурации выглядит следующим образом:
receivers: # Секция для указания ресиверов, ответственных за сбор данных. processors: # Секция для указания процессоров, ответственных за промежуточную обработку данных. exporters: # Секция для указания экспортёров, ответственных за отправку данных. service: pipelines: # Секция для указания конвейеров от начала сбора данных до их отправки.
В зависимости от целей администратора файл конфигурации может быть дополнен следующими компонентами и их параметрами:
Ресивер
postgrespro
для сбора метрик Postgres Pro.Ресивер
filelog
и процессорыresource
иattributes
для сбора журналов Postgres Pro.Ресивер
hostmetrics
для сбора метрик операционной системы.Экспортёр
otlphttp
для отправки данных в OTLP-совместимое хранилище.Экспортёр
prometheus
для публикации данных в формате, совместимом с Prometheus.
Помимо этого, все добавленные компоненты нужно выстроить в конвейер в секции service.pipelines
.
На более детальном уровне структура файла конфигурации выглядит следующим образом:
exporters: otlphttp/logs: # Настройка экспортёра otlphttp для отправки журналов. otlphttp/metrics: # Настройка экспортёра otlphttp для отправки метрик. prometheus: # Настройка экспортёра prometheus для публикации метрик. processors: attributes/convert: # Настройка процессора attributes для обработки записей журнала. resource: # Настройка процессора resource для обработки записей журнала. receivers: postgrespro: # Настройка ресивера для сбора метрик экземпляра СУБД. filelog: # Настройка ресивера для сбора журналов. hostmetrics: # Настройка ресивера для сбора метрик операционной системы. service: extensions: [] pipelines: # Конвейер сбора, обработки и передачи журналов. logs: receivers: - filelog processors: - resource - attributes/convert exporters: - otlphttp/logs # Конвейер сбора, обработки и отправки метрик. metrics: receivers: - postgrespro - hostmetrics processors: exporters: - prometheus - otlphttp/metrics
Архитектура OpenTelemetry Collector позволяет использовать один и тот же компонент несколько раз. Например, можно добавить несколько экземпляров ресивера postgrespro
для сбора метрик с разных экземпляров СУБД. Также можно использовать несколько экземпляров экспортёра otlphttp
, чтобы отправлять метрики и журналы активности в разные хранилища, обеспечивая тем самым разветвление потоков данных.
Для указания нескольких экземпляров компонентов следует использовать нотацию компонент
/имя
, где:
компонент
— название компонента (ресивера, процессора или экспортёра).имя
— дополнительное произвольное имя.
За счёт пар компонент
/имя
формируются уникальные идентификаторы компонентов, которые далее используются в составе конвейеров. Например, otlphttp/logs_main
, postgrespro/primary
, postgrespro/standby
.
Пример использования нескольких экземпляров одного и того же компонента:
receivers: # ... processors: # ... exporters: # Используется два экземпляра экспортёра `otlphttp` для отправки данных в разные пункты назначения. otlphttp/logs_elastic: endpoint: https://elastic.example.org otlphttp/logs_ppem: endpoint: https://ppem.example.org service: extensions: [] pipelines: logs: receivers: # ... processors: # ... # После сбора и обработки записей журнала отправка осуществляется по двум направлениям. exporters: - otlphttp/logs_elastic - otlphttp/logs_ppem
Таким образом, наполняя файл конфигурации, можно гибко определять параметры сбора, обработки и отправки данных.
В каталоге /usr/share/doc/pgpro-otel-collector/examples
находятся дополнительные файлы конфигурации, которые можно использовать для расширения функциональности коллектора. Особое внимание стоит уделить настройке ресивера postgrespro
: он поддерживает широкий спектр возможностей для сбора данных, но в конфигурации по умолчанию включён только минимальный набор, а большинство плагинов отключено. Прежде чем включать какие-либо плагины, убедитесь, что статистика доступна на стороне экземпляра БД.
Предупреждение
⚠️ ВАЖНО! Активация дополнительных плагинов может привести к значительным накладным расходам (затратам на сбор данных), поэтому их включение должно быть тщательно продумано.