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: он поддерживает широкий спектр возможностей для сбора данных, но в конфигурации по умолчанию включён только минимальный набор, а большинство плагинов отключено. Прежде чем включать какие-либо плагины, убедитесь, что статистика доступна на стороне экземпляра БД.
Предупреждение
⚠️ ВАЖНО! Активация дополнительных плагинов может привести к значительным накладным расходам (затратам на сбор данных), поэтому их включение должно быть тщательно продумано.