11. Плагин PostgreSQL

Обзор

В этом разделе перечислены параметры, поддерживаемые в файле конфигурации плагина PostgreSQL для Zabbix агента 2 (postgresql.conf).

Начиная с версии Zabbix 6.0.10, плагин PostgreSQL является подгружаемым плагином, который доступен и полностью описан в репозитории плагина PostgreSQL [en]

Предварительно скомпилированные бинарные файлы плагина для Windows доступны, начиная с версии Zabbix 6.0.19, и совместимы с предыдущими версиями 6.0.

Обратите внимание, что:

  • Значения по умолчанию отражают значения по умолчанию для процесса, а не значения в поставляемых файлах конфигурации;
  • Zabbix поддерживает файлы конфигурации только в кодировке UTF-8 без BOM;
  • Комментарии, начинающиеся с «#», поддерживаются только в начале строки.

Опции

Параметр
-V --version Вывести версию плагина и информацию о лицензии.
-h --help Вывести справочную информацию (сокращённо).

Параметры

В версиях Zabbix до 6.0.10, имена параметров начинались с Plugins.Postgres.<Параметр> вместо Plugins.PostgreSQL.<Параметр>. Например, Plugins.Postgres.KeepAlive.

Параметр Обязательный Диапазон По умолчанию Описание
Plugins.PostgreSQL.Default.CacheMode нет prepare Режим кэширования для соединений PostgreSQL.
Поддерживаются значения:
prepare (по умолчанию) - будет создавать параметризованные запросы (prepared statements) на сервере PostgreSQL;
describe - будет использовать анонимные параметризованные запросы (anonymous prepared statement) для описания запросов без создания запросов на сервере.
Обратите внимание, что «describe» главным образом полезен, когда среда не допускает параметризованные запросы, например, при работе пулера соединений наподобие PgBouncer.
Поддерживается с версии 6.0.25.
Plugins.PostgreSQL.CallTimeout нет 1-30 глобальный тайм-аут Максимальное время ожидания (в секундах) завершения запроса.
Plugins.PostgreSQL.CustomQueriesPath нет отключено Абсолютный путь к папке, содержащей файлы .sql для пользовательских запросов.
Plugins.PostgreSQL.Default.Database нет База данных по умолчанию для подключения к PostgreSQL; используется, если значение не указано в ключе элемента данных или в именованной сессии.
Поддерживается с версии 6.0.18.
Plugins.PostgreSQL.Default.Password нет Пароль по умолчанию для подключения к PostgreSQL; используется, если значение не указано в ключе элемента данных или в именованной сессии.
Поддерживается с версии 6.0.18.
Plugins.PostgreSQL.Default.TLSCAFile нет
(да, если Plugins.PostgreSQL.Default.TLSConnect имеет одно из значений: verify_ca, verify_full)
Абсолютный путь к файлу, который содержит сертификаты удостоверяющих центров (certificate authority, CA) верхнего уровня для проверки сертификата узла для зашифрованных соединений между Zabbix агентом 2 и наблюдаемыми базами данных; используется, если значение не указано в именованной сессии.
Поддерживается с версии 6.0.18.
Plugins.PostgreSQL.Default.TLSCertFile нет
(да, если Plugins.PostgreSQL.Default.TLSConnect имеет одно из значений: verify_ca, verify_full)
Абсолютный путь к файлу, который содержит сертификат PostgreSQL или цепочку сертификатов для зашифрованных соединений между Zabbix агентом 2 и наблюдаемыми базами данных; используется, если значение не указано в именованной сессии.
Поддерживается с версии 6.0.18.
Plugins.PostgreSQL.Default.TLSConnect нет Тип шифрования для коммуникаций между Zabbix агентом 2 и наблюдаемыми базами данных; используется, если значение не указано в именованной сессии.
Поддерживаются значения:
required - подключаться, используя TLS как режим транспорта без проверки подлинности;
verify_ca - подключаться с использованием TLS и проверкой сертификата;
verify_full - подключаться с использованием TLS, проверкой сертификата и проверкой того, что идентификатор базы данных (CN), указанный параметром DBHost, соответствует своему сертификату.
Неуказанный тип шифрования означает нешифрованное подключение.
Поддерживается с версии 6.0.18.
Plugins.PostgreSQL.Default.TLSKeyFile нет
(да, если Plugins.PostgreSQL.Default.TLSConnect имеет одно из значений: verify_ca, verify_full)
Абсолютный путь к файлу, содержащему закрытый ключ (private key) PostgreSQL, используется для зашифрованных коммуникаций между Zabbix агентом 2 и наблюдаемыми базами данных; используется, если значение не указано в именованной сессии.
Поддерживается с версии 6.0.18.
Plugins.PostgreSQL.Default.Uri нет URI по умолчанию для подключения к PostgreSQL; используется, если значение не указано в ключе элемента данных или в именованной сессии.

Не должно содержать встроенных креденшиалов (они будут проигнорированы).
Должно соответствовать формату URI.
Поддерживаются схемы: tcp, unix.
Примеры: tcp://127.0.0.1:5432
tcp://localhost
unix:/var/run/postgresql/.s.PGSQL.5432
Поддерживается с версии 6.0.18.
Plugins.PostgreSQL.Default.User нет Имя пользователя по умолчанию для подключения к PostgreSQL; используется, если значение не указано в ключе элемента данных или в именованной сессии.
Поддерживается с версии 6.0.18.
Plugins.PostgreSQL.KeepAlive нет 60-900 300 Максимальное время ожидания (в секундах), прежде чем неиспользуемые плагином соединения закрываются.
Plugins.PostgreSQL.Sessions.<ИмяСессии>.CacheMode нет prepare Режим кэширования для соединений PostgreSQL.
<ИмяСессии> - определяет имя сессии, используемое в ключах элементов данных.
Поддерживаются значения:
prepare (по умолчанию) - будет создавать параметризованные запросы (prepared statements) на сервере PostgreSQL;
describe - будет использовать анонимные параметризованные запросы (anonymous prepared statement) для описания запросов без создания запросов на сервере.
Обратите внимание, что «describe» главным образом полезен, когда среда не допускает параметризованные запросы, например, при работе пулера соединений наподобие PgBouncer.
Поддерживается с версии 6.0.25.
Plugins.PostgreSQL.Sessions.<ИмяСессии>.Database нет База данных именованной сессии для подключения.
<ИмяСессии> - определяет имя сессии, используемое в ключах элементов данных.
Plugins.PostgreSQL.Sessions.<ИмяСессии>.Password нет Должно соответствовать формату пароля. Пароль именованной сессии для подключения.
<ИмяСессии> - определяет имя сессии, используемое в ключах элементов данных.
Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSCAFile нет
(да, если Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSConnect имеет одно из значений: verify_ca, verify_full)
Абсолютный путь к файлу, который содержит сертификаты удостоверяющих центров (certificate authority, CA) верхнего уровня для проверки сертификата узла.
<ИмяСессии> - определяет имя сессии, используемое в ключах элементов данных.
Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSCertFile да, если параметр Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSKeyFile указан.

До версии 6.0.22 всегда обязателен, если Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSConnect имеет одно из значений: verify_ca, verify_full
Абсолютный путь к файлу, который содержит сертификат PostgreSQL или цепочку сертификатов.
<ИмяСессии> - определяет имя сессии, используемое в ключах элементов данных.
Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSConnect нет Тип шифрования для подключения к PostgreSQL.
<ИмяСессии> - определяет имя сессии, используемое в ключах элементов данных.

Поддерживаются значения:
required - подключаться, используя TLS как режим транспорта без проверки подлинности;
verify_ca - подключаться с использованием TLS и проверкой сертификата;
verify_full - подключаться с использованием TLS, проверкой сертификата и проверкой того, что идентификатор базы данных (CN), указанный параметром DBHost, соответствует своему сертификату.
Неуказанный тип шифрования означает нешифрованное подключение.
Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSKeyFile да, если параметр Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSCertFile указан.

До версии 6.0.22 всегда обязателен, если Plugins.PostgreSQL.Sessions.<ИмяСессии>.TLSConnect имеет одно из значений: verify_ca, verify_full
Абсолютный путь к файлу, содержащему закрытый ключ (private key) PostgreSQL.
<ИмяСессии> - определяет имя сессии, используемое в ключах элементов данных.
Plugins.PostgreSQL.Sessions.<ИмяСессии>.Uri нет Строка подключения именованной сессии.
<ИмяСессии> - определяет имя сессии, используемое в ключах элементов данных.

Не должна содержать встроенных креденшиалов (они будут проигнорированы).
Должна соответствовать формату URI.
Поддерживаются схемы: tcp, unix.
Примеры: tcp://127.0.0.1:5432
tcp://localhost
unix:/var/run/postgresql/.s.PGSQL.5432
Plugins.PostgreSQL.Sessions.<ИмяСессии>.User нет Имя пользователя именованной сессии.
<ИмяСессии> - определяет имя сессии, используемое в ключах элементов данных.
Plugins.PostgreSQL.System.Path да Путь до внешнего исполняемого файла плагина. Поддерживается с версии Zabbix 6.0.10.
Plugins.PostgreSQL.Timeout нет 1-30 глобальный тайм-аут Время ожидания выполнения запроса (как долго запрос будет ожидать выполнения, прежде чем будет принудительно завершён).

Смотрите также: