2022 Zabbix中国峰会
2022 Zabbix中国峰会

11 PostgreSQL 插件

概览

这部分列出了PostgreSQL Zabbix agent 2插件配置文件(postgresql.conf)支持的参数。

自Zabbix 6.0.10起,PostgreSQL插件是一个可加载插件,并且可以在PostgreSQL插件仓库中找到并得到完整描述。

Zabbix 6.0.19起,Windows的预编译插件二进制文件可用,并且与之前的6.0版本兼容。

请注意:

  • 默认值反映了进程默认值,而不是配置文件中的值;
  • Zabbix仅支持UTF-8编码的配置文件,不包含BOM
  • 仅支持以"#"开头的注释在行的开始处。

选项

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

参数

在 Zabbix 6.0.10 之前的版本中,参数名称以 Plugins.Postgres.<Parameter> 开头,而不是 Plugins.PostgreSQL.<Parameter>。例如,Plugins.Postgres.KeepAlive

参数 必填 范围 默认值 描述
Plugins.PostgreSQL.Default.CacheMode prepare PostgreSQL 连接的缓存模式。
支持的值:
prepare (默认) - 将在 PostgreSQL 服务器上创建准备好的语句;
describe - 将使用匿名准备好的语句来描述一个语句,而不需要在服务器上创建语句。
请注意 "describe" 主要在使用不允许准备好的语句的环境中非常有用,例如当运行像 PgBouncer 这样的连接池时。
自版本 6.0.25 起支持。
Plugins.PostgreSQL.CallTimeout 1-30 全局超时时间 请求完成的最大等待时间(秒)。
Plugins.PostgreSQL.CustomQueriesPath disabled 包含 .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_caverify_full)
包含顶级 CA(s) 证书的文件的完整路径名,用于对端证书验证,用于 Zabbix agent 2 与监控数据库之间的加密通信;如果命名会话中未指定值,则使用。
自版本 6.0.18 起支持。
Plugins.PostgreSQL.Default.TLSCertFile
(如果是 Plugins.PostgreSQL.Default.TLSConnect 设置为 verify_caverify_full)
包含 PostgreSQL 证书或证书链的文件的完整路径名,用于 Zabbix agent 2 与监控数据库之间的加密通信;如果命名会话中未指定值,则使用。
自版本 6.0.18 起支持。
Plugins.PostgreSQL.Default.TLSConnect Zabbix agent 2 与监控数据库之间通信的加密类型;如果命名会话中未指定值,则使用。
支持的值:
required - 使用 TLS 作为传输模式进行连接,不进行身份检查;
verify_ca - 使用 TLS 连接并验证证书;
verify_full - 使用 TLS 连接,验证证书,并验证数据库身份 (CN) 由 DBHost 指定并与其证书匹配。
未定义的加密类型意味着未加密连接。
自版本 6.0.18 起支持。
Plugins.PostgreSQL.Default.TLSKeyFile
(如果是 Plugins.PostgreSQL.Default.TLSConnect 设置为 verify_caverify_full)
包含 PostgreSQL 私钥的文件的完整路径名,用于 Zabbix agent 2 与监控数据库之间的加密通信;如果命名会话中未指定值,则使用。
自版本 6.0.18 起支持。
Plugins.PostgreSQL.Default.Uri 连接到 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 连接到 PostgreSQL 的默认用户名;如果项目键或命名会话中未指定值,则使用。
自版本 6.0.18 起支持。
Plugins.PostgreSQL.KeepAlive 60-900 300 在关闭未使用的插件连接之前等待的最大时间(秒)。
Plugins.PostgreSQL.Sessions.<SessionName>.CacheMode prepare PostgreSQL 连接的缓存模式。
<SessionName> - 定义用于项目键中的会话名称。
支持的值:
prepare (默认) - 将在 PostgreSQL 服务器上创建准备好的语句;
describe - 将使用匿名准备好的语句来描述一个语句,而不需要在服务器上创建语句。
请注意 "describe" 主要在使用不允许准备好的语句的环境中非常有用,例如当运行像 PgBouncer 这样的连接池时。
自版本 6.0.25 起支持。
Plugins.PostgreSQL.Sessions.<SessionName>.Database 会话连接的数据库。
<SessionName> - 定义用于项目键中的会话名称。
Plugins.PostgreSQL.Sessions.<SessionName>.Password 必须符合密码格式。 会话连接的密码。
<SessionName> - 定义用于项目键中的会话名称。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCAFile
(如果是 Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect 设置为 verify_caverify_full)
包含顶级 CA(s) 证书的文件的完整路径名,用于对端证书验证。
<SessionName> - 定义用于项目键中的会话名称。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile 是,如果指定了 Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile

在版本 6.0.22 之前,如果 Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect 设置为 verify_caverify_full 总是必填
包含 PostgreSQL 证书或证书链的文件的完整路径名。
<SessionName> - 定义用于项目键中的会话名称。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect PostgreSQL 连接的加密类型。
<SessionName> - 定义用于项目键中的会话名称。

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

在版本 6.0.22 之前,如果 Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect 设置为 verify_caverify_full 总是必填
包含 PostgreSQL 私钥的文件的完整路径名。
<SessionName> - 定义用于项目键中的会话名称。
Plugins.PostgreSQL.Sessions.<SessionName>.Uri 命名会话的连接字符串。
<SessionName> - 定义用于项目键中的会话名称。

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

参见: