pgpro-otel-collector имеет следующие ограничения и требования:
pgpro-otel-collector должен иметь возможность подключиться к экземпляру Postgres Pro. Параметры подключения задаются в файле конфигурации; при необходимости их можно изменять.
Пользователь, от имени которого выполняется подключение к СУБД, должен иметь соответствующие права и доступ к внутренней статистике активности.
Для сбора метрик операционной системы с помощью ресивера hostmetrics могут потребоваться привилегированные права доступа (root) в файловую систему procfs. Например, такой доступ требуется для плагина process.
Для сбора журналов активности экземпляра СУБД с помощью ресивера filelog требуется доступ к соответствующим каталогам и файлам журналов.
Экспортёр prometheus обладает ограниченной масштабируемостью при высоких нагрузках. За подробной информацией об устранении неполадок обратитесь к Разделу 9.3.
Процессор memory_limiter начинает сбрасывать данные, если ограничения памяти превышены, что может привести к потере данных и дополнительной нагрузке на процессор. За подробной информацией о связанных с этим проблемах и способах их решения обратитесь к Разделу 9.4.
Перечисленные ниже плагины требуют дополнительной настройки или прав доступа. Обязательно выполните указанные шаги.
Все права доступа должны быть предоставлены пользователю, от имени которого работает и собирает метрики pgpro-otel-collector (в данной документации это otelcol). За подробностями о настройке пользователя СУБД обратитесь к Подразделу 6.6.2.1.
Для плагина bloat_indexes выполните эту команду во всех целевых базах данных:
GRANT SELECT ON pg_statistic TO otelcol;
В больших базах данных плагины bloat_indexes и bloat_tables могут вызывать значительные задержки отклика при первичном сборе данных. Для решения этой проблемы настройте процесс fetcher для фоновой загрузки данных пакетами нужного размера.
Пример конфигурации процесса fetcher для bloat_tables:
bloat_tables:
enabled: true
collection_interval: 5m
fetcher:
# Следует ли откладывать доступность метрик до завершения первоначальной загрузки данных
wait_init: false
# Включить подробное журналирование для отладки
extended_log_enabled: false
# Количество записей, выбираемых в каждом пакете
batch_size: 10000Для плагинов bloat_tables, cfs, tables и indexes выполните следующую команду для всех отслеживаемых схем:
GRANT USAGE ON SCHEMA имя_схемы TO otelcol;Для buffercache требуется дополнительная настройка:
Установите расширение pg_buffercache, добавив pg_buffercache в переменную shared_preload_libraries в файле postgresql.conf.
Перезапустите сервер СУБД.
Выполните данную команду во всех целевых базах данных:
CREATE EXTENSION pg_buffercache;
Выполните следующую команду:
GRANT pg_monitor TO otelcol;
Для плагина databases пользователь СУБД должен иметь права на выполнение функций pg_ls_dir и pg_stat_file для всех целевых баз данных, чтобы собирать данные о потерянных файлах:
GRANT EXECUTE ON FUNCTION pg_ls_dir(text) TO otelcol; GRANT EXECUTE ON FUNCTION pg_ls_dir(text,boolean,boolean) TO otelcol; GRANT EXECUTE ON FUNCTION pg_stat_file(text) TO otelcol;
Для плагина statements_* требуется дополнительная настройка:
Установите расширение pg_stat_statements, добавив pg_stat_statements в переменную shared_preload_libraries в файле postgresql.conf.
Перезапустите сервер СУБД.
Выполните данную команду во всех целевых базах данных:
CREATE EXTENSION pg_stat_statements;
Выполните следующую команду:
GRANT pg_monitor TO otelcol;
Для плагина tablespaces выполните следующую команду:
GRANT pg_monitor TO otelcol;
Для плагина wait_sampling требуется дополнительная настройка:
Установите расширение pg_wait_sampling, добавив pg_wait_sampling в переменную shared_preload_libraries в файле postgresql.conf.
Перезапустите сервер СУБД.
Выполните данную команду во всех целевых базах данных:
CREATE EXTENSION pg_wait_sampling;