11 PostgreSQL 插件

概述

本节列出了PostgreSQL Zabbix agent 2插件配置文件(postgresql.conf)中支持的参数。

自Zabbix 6.0.10版本起,PostgreSQL插件作为可加载插件提供,其完整说明详见PostgreSQL plugin repository

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 no prepare PostgreSQL连接的缓存模式。
支持的值:
prepare(默认)- 将在PostgreSQL服务器上创建预处理语句;
describe - 将使用匿名预处理语句描述语句而不在服务器上创建语句。
注意"describe"主要用于不允许预处理语句的环境,例如运行PgBouncer等连接池时。
自版本6.0.25起支持。
Plugins.PostgreSQL.CallTimeout no 1-30 global timeout 请求完成的最大等待时间(秒)。
Plugins.PostgreSQL.CustomQueriesPath no disabled 包含自定义queries的.sql文件目录的完整路径。
Plugins.PostgreSQL.Default.Database no 连接PostgreSQL的默认数据库;当监控项键或命名会话中未指定值时使用。
自版本6.0.18起支持。
Plugins.PostgreSQL.Default.Password no 连接PostgreSQL的默认密码;当监控项键或命名会话中未指定值时使用。
自版本6.0.18起支持。
Plugins.PostgreSQL.Default.TLSCAFile no
(yes, if Plugins.PostgreSQL.Default.TLSConnect is set to verify_ca or verify_full)
包含Top级CA证书的文件完整路径,用于Zabbix agent 2与受监控数据库之间加密通信的证书验证;当命名会话中未指定值时使用。
自版本6.0.18起支持。
Plugins.PostgreSQL.Default.TLSCertFile no
(yes, if Plugins.PostgreSQL.Default.TLSConnect is set to verify_ca or verify_full)
包含PostgreSQL证书或证书链的文件完整路径,用于Zabbix agent 2与受监控数据库之间加密通信;当命名会话中未指定值时使用。
自版本6.0.18起支持。
Plugins.PostgreSQL.Default.TLSConnect no Zabbix agent 2与受监控数据库之间通信的加密类型;当命名会话中未指定值时使用。
支持的值:
required - 使用TLS作为传输模式连接,不进行身份检查;
verify_ca - 使用TLS连接并验证证书;
verify_full - 使用TLS连接,验证证书并验证DBHost指定的数据库身份(CN)与其证书匹配。
未定义加密类型表示未加密连接。
自版本6.0.18起支持。
Plugins.PostgreSQL.Default.TLSKeyFile no
(yes, if Plugins.PostgreSQL.Default.TLSConnect is set to verify_ca or verify_full)
包含PostgreSQL私钥的文件完整路径,用于Zabbix agent 2与受监控数据库之间加密通信;当命名会话中未指定值时使用。
自版本6.0.18起支持。
Plugins.PostgreSQL.Default.Uri no 连接PostgreSQL的默认URI;当监控项键或命名会话中未指定值时使用。

不应包含嵌入式凭据(将被忽略)。
必须匹配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 no 连接PostgreSQL的默认用户名;当监控项键或命名会话中未指定值时使用。
自版本6.0.18起支持。
Plugins.PostgreSQL.KeepAlive no 60-900 300 关闭未使用的插件连接前的最大等待时间(秒)。
Plugins.PostgreSQL.Sessions.<SessionName>.CacheMode no prepare PostgreSQL连接的缓存模式。
<SessionName> - 定义用于监控项键的会话名称。
支持的值:
prepare(默认)- 将在PostgreSQL服务器上创建预处理语句;
describe - 将使用匿名预处理语句描述语句而不在服务器上创建语句。
注意"describe"主要用于不允许预处理语句的环境,例如运行PgBouncer等连接池时。
自版本6.0.25起支持。
Plugins.PostgreSQL.Sessions.<SessionName>.Database no 会话连接的数据库。
<SessionName> - 定义用于监控项键的会话名称。
Plugins.PostgreSQL.Sessions.<SessionName>.Password no Must match the password format. 会话连接的密码。
<SessionName> - 定义用于监控项键的会话名称。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCAFile no
(yes, if Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect is set to verify_ca or verify_full)
包含Top级CA证书的文件完整路径,用于证书验证。
<SessionName> - 定义用于监控项键的会话名称。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile yes, if Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile is specified

Before version 6.0.22 always mandatory if Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect is set to verify_ca or verify_full
包含PostgreSQL证书或证书链的文件完整路径。
<SessionName> - 定义用于监控项键的会话名称。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect no PostgreSQL连接的加密类型。
<SessionName> - 定义用于监控项键的会话名称。

支持的值:
required - 使用TLS作为传输模式连接,不进行身份检查;
verify_ca - 使用TLS连接并验证证书;
verify_full - 使用TLS连接,验证证书并验证DBHost指定的数据库身份(CN)与其证书匹配。
未定义加密类型表示未加密连接。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile yes, if Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile is specified

Before version 6.0.22 always mandatory if Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect is set to verify_ca or verify_full
包含PostgreSQL私钥的文件完整路径。
<SessionName> - 定义用于监控项键的会话名称。
Plugins.PostgreSQL.Sessions.<SessionName>.Uri no 命名会话的连接string。
<SessionName> - 定义用于监控项键的会话名称。

不应包含嵌入式凭据(将被忽略)。
必须匹配URI格式。
支持的方案:tcp, unix
示例:tcp://127.0.0.1:5432
tcp://localhost
unix:/var/run/postgresql/.s.PGSQL.5432
Plugins.PostgreSQL.Sessions.<SessionName>.User no 命名会话的用户名。
<SessionName> - 定义用于监控项键的会话名称。
Plugins.PostgreSQL.System.Path yes 外部插件可执行文件的路径。自Zabbix 6.0.10起支持。
Plugins.PostgreSQL.Timeout no 1-30 global timeout 请求执行超时(在关闭请求前等待完成的持续时间,秒)。

另请参阅: