3.1. Конфигурация и права доступа #
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;