12 PostgreSQL 插件

概述

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

PostgreSQL 插件是一个可加载插件,可在 PostgreSQL plugin repository 中获取,并可在那里查看完整说明。

请注意:

  • 默认值反映的是进程默认值,而不是随软件包提供的配置文件中的值。
  • 值支持 环境变量
  • Zabbix 仅支持使用 UTF-8 编码且不带 BOM 的配置文件。
  • 以 "#" 开头的注释仅在行首支持。

选项

参数 描述
-V --version 打印插件版本和许可证信息。
-h --help 打印帮助信息(简写)。

参数

Parameter Mandatory Range Default Description
Plugins.PostgreSQL.Default.CacheMode no prepare PostgreSQL 连接的缓存模式。
支持的值:
prepare(默认)- 在 PostgreSQL 服务器上创建预处理语句;
describe - 使用匿名预处理语句来描述语句,而不在服务器上创建语句。
请注意,"describe" 主要适用于环境不允许使用预处理语句的情况,例如在使用 PgBouncer 之类的连接池时。
Plugins.PostgreSQL.CallTimeout no 1-30 global timeout 请求完成的最长等待时间(秒)。
Plugins.PostgreSQL.CustomQueriesPath no Unix 系统为 /usr/local/share/zabbix/custom-queries/postgreSQL

Windows 系统为 *:\Program Files\Zabbix Agent 2\Custom Queries\PostgreSQL,其中 *ProgramFiles 环境变量中的驱动器名称
包含自定义查询 .sql 文件的目录完整路径。
Plugins.PostgreSQL.CustomQueriesEnabled no false 如果设置,则启用 postgresql.custom.query 监控项键的执行。如果禁用,则不会从自定义查询目录路径加载任何查询。
Plugins.PostgreSQL.Default.Database no 连接 PostgreSQL 的默认数据库;如果监控项键或命名会话中未指定值,则使用此项。
Plugins.PostgreSQL.Default.Password no 连接 PostgreSQL 的默认密码;如果监控项键或命名会话中未指定值,则使用此项。
Plugins.PostgreSQL.Default.TLSCAFile no
(yes, if Plugins.PostgreSQL.Default.TLSConnect is set to verify_ca or verify_full)
包含顶级 CA 证书的文件完整路径,用于 Zabbix agent 2 与受监控数据库之间加密通信时的对等证书验证;如果命名会话中未指定值,则使用此项。
Plugins.PostgreSQL.Default.TLSCertFile no
(yes, if Plugins.PostgreSQL.Default.TLSConnect is set to verify_ca or verify_full)
包含 PostgreSQL 证书或证书链的文件完整路径,用于 Zabbix agent 2 与受监控数据库之间加密通信时的对等证书验证;如果命名会话中未指定值,则使用此项。
Plugins.PostgreSQL.Default.TLSConnect no Zabbix agent 2 与受监控数据库之间通信的加密类型;如果命名会话中未指定值,则使用此项。
支持的值:
required - 使用 TLS 作为传输模式连接,不进行身份检查;
verify_ca - 使用 TLS 连接并验证证书;
verify_full - 使用 TLS 连接,验证证书,并验证 DBHost 指定的数据库标识(CN)与其证书匹配。
未定义的加密类型表示未加密连接。
Plugins.PostgreSQL.Default.TLSKeyFile no
(yes, if Plugins.PostgreSQL.Default.TLSConnect is set to verify_ca or verify_full)
包含 PostgreSQL 私钥的文件完整路径,用于 Zabbix agent 2 与受监控数据库之间加密通信时的对等证书验证;如果命名会话中未指定值,则使用此项。
Plugins.PostgreSQL.Default.Uri no 连接 PostgreSQL 的默认 URI;如果监控项键或命名会话中未指定值,则使用此项。

不应包含嵌入式凭据(它们将被忽略)。
必须符合 URI 格式。
支持的方案:tcpunix
示例:tcp://127.0.0.1:5432
tcp://localhost
unix:/var/run/postgresql/.s.PGSQL.5432
Plugins.PostgreSQL.Default.User no 连接 PostgreSQL 的默认用户名;如果监控项键或命名会话中未指定值,则使用此项。
Plugins.PostgreSQL.KeepAlive no 60-900 300 关闭未使用的插件连接前的最长等待时间(秒)。
Plugins.PostgreSQL.Sessions.<SessionName>.CacheMode no prepare PostgreSQL 连接的缓存模式。
<SessionName> - 定义用于监控项键中的会话名称。
支持的值:
prepare(默认)- 在 PostgreSQL 服务器上创建预处理语句;
describe - 使用匿名预处理语句来描述语句,而不在服务器上创建语句。
请注意,"describe" 主要适用于环境不允许使用预处理语句的情况,例如在使用 PgBouncer 之类的连接池时。
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)
包含顶级 CA 证书的文件完整路径,用于对等证书验证。
<SessionName> - 定义用于监控项键中的会话名称。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile yes, if Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile is specified 包含 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 包含 PostgreSQL 私钥的文件完整路径。
<SessionName> - 定义用于监控项键中的会话名称。
Plugins.PostgreSQL.Sessions.<SessionName>.Uri no 命名会话的连接字符串。
<SessionName> - 定义用于监控项键中的会话名称。

不应包含嵌入式凭据(它们将被忽略)。
必须符合 URI 格式。
支持的方案:tcpunix
示例: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 PostgreSQL 插件可执行文件的路径。
示例用法:Plugins.PostgreSQL.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-postgresql
Plugins.PostgreSQL.Timeout no 1-30 global timeout 请求执行超时(即在关闭请求之前等待其完成的时间,单位为秒)。

另请参见: