PostgreSQL 插件

概述

配置参数可用于自定义 PostgreSQL 插件的行为。

建议将这些参数指定在它们自己的配置文件中(例如 postgresql.conf),而不是放在 agent 2 配置文件中。然后使用 Include 指令将该文件包含到 Zabbix agent 2 配置中。

PostgreSQL 插件是一个可加载插件,可在 PostgreSQL 插件仓库 中获取并查看完整说明。

除非明确说明该参数为必填,否则所有参数均为可选

本页结构如下:

  • 参数概览(要查看参数的完整详情,请点击其名称)
  • 参数详情
参数 描述
Plugins.PostgreSQL.CallTimeout 设置请求完成前的最大等待时间(秒)。
Plugins.PostgreSQL.CustomQueriesPath 指定包含自定义查询 .sql 文件的目录完整路径。
Plugins.PostgreSQL.CustomQueriesEnabled 启用 postgresql.custom.query 监控项键的执行。
Plugins.PostgreSQL.Default.CacheMode 指定 PostgreSQL 连接的默认缓存模式。
Plugins.PostgreSQL.Default.Database 指定默认数据库名称。
Plugins.PostgreSQL.Default.Password 指定默认密码。
Plugins.PostgreSQL.Default.TLSCAFile 指定包含用于对等证书验证的顶级 CA 证书的文件完整路径。
Plugins.PostgreSQL.Default.TLSCertFile 指定包含 PostgreSQL 证书或证书链的文件完整路径。
Plugins.PostgreSQL.Default.TLSConnect 指定 Zabbix agent 2 与被监控数据库之间通信的默认加密级别。
Plugins.PostgreSQL.Default.TLSKeyFile 指定包含 PostgreSQL 私钥的文件完整路径。
Plugins.PostgreSQL.Default.Uri 指定默认 URI。
Plugins.PostgreSQL.Default.User 指定默认用户名。
Plugins.PostgreSQL.KeepAlive 设置未使用的插件连接在关闭前的最大等待时间(秒)。
Plugins.PostgreSQL.Sessions.<SessionName>.CacheMode 指定 PostgreSQL 连接的命名会话缓存模式。
Plugins.PostgreSQL.Sessions.<SessionName>.Database 指定命名会话的数据库名称。
Plugins.PostgreSQL.Sessions.<SessionName>.Password 指定命名会话的密码。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCAFile 指定包含用于对等证书验证的顶级 CA 证书的文件完整路径。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile 指定包含 PostgreSQL 证书或证书链的文件完整路径。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect 指定命名会话中 Zabbix agent 2 与被监控数据库之间通信的加密级别。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile 指定包含 PostgreSQL 私钥的文件完整路径。
Plugins.PostgreSQL.Sessions.<SessionName>.Uri 指定命名会话 URI。
Plugins.PostgreSQL.Sessions.<SessionName>.User 指定命名会话用户名。

|Plugins.PostgreSQL.System.Path|指定 PostgreSQL 插件可执行文件的路径。| |Plugins.PostgreSQL.Timeout|设置请求执行超时时间。|

请注意:

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

参数详情

Plugins.PostgreSQL.CallTimeout

设置请求完成的最大等待时间(秒)。

默认值:global timeout
范围:1-30

Plugins.PostgreSQL.CustomQueriesPath

指定包含自定义查询 .sql 文件的目录的完整路径名。

默认值:
/usr/local/share/zabbix/custom-queries/postgreSQL - 适用于 Unix 系统,
*:\Program Files\Zabbix Agent 2\Custom Queries\PostgreSQL - 适用于 Windows 系统(其中 * 是来自 ProgramFiles 环境变量的驱动器名称)

示例:

/etc/zabbix/oracle/sql
Plugins.PostgreSQL.CustomQueriesEnabled

启用 postgresql.custom.query 监控项键的执行。
如果禁用,则不会从自定义查询目录路径加载任何查询。

默认值:false
范围:true/false

Plugins.PostgreSQL.Default.CacheMode

指定 PostgreSQL 连接的默认缓存模式。

默认值:prepare
范围:
prepare - 在 PostgreSQL 服务器上创建预处理语句;
describe - 使用匿名预处理语句来描述语句,而不在服务器上创建语句。

请注意,describe 主要适用于环境不允许使用预处理语句的情况,例如运行 PgBouncer 之类的连接池时。

Plugins.PostgreSQL.Default.Database

指定用于连接 PostgreSQL 的默认数据库。
当监控项键或命名会话中未指定值时使用。

Plugins.PostgreSQL.Default.Password

指定用于连接 PostgreSQL 的默认密码。
当监控项键或命名会话中未指定值时使用。

Plugins.PostgreSQL.Default.TLSCAFile

指定包含用于验证 Zabbix agent 2 与被监控数据库之间加密通信的对等证书的顶级 CA 证书的文件完整路径。
如果未在命名会话中指定值,则使用此项。

必填:yes,如果 Plugins.PostgreSQL.Default.TLSConnect 设置为 verify_caverify_full

Plugins.PostgreSQL.Default.TLSCertFile

指定包含 PostgreSQL 证书或证书链的文件的完整路径名,用于 Zabbix agent 2 与被监控数据库之间的加密通信。
如果未在命名会话中指定值,则使用此项。

必填:yes,如果已指定 Plugins.PostgreSQL.Default.TLSKeyFile

Plugins.PostgreSQL.Default.TLSConnect

指定 Zabbix agent 2 与被监控数据库之间通信的默认加密级别。
当命名会话中未指定值时使用。

范围:
required - 使用 TLS 作为传输模式进行连接,不进行身份检查;
verify_ca - 使用 TLS 连接并验证证书;
verify_full - 使用 TLS 连接,验证证书,并验证 DBHost 指定的数据库标识(CN)是否与其证书匹配。

未定义的加密类型表示未加密连接。

Plugins.PostgreSQL.Default.TLSKeyFile

指定包含 PostgreSQL 私钥的文件的完整路径名,用于 Zabbix agent 2 与受监控数据库之间的加密通信。
如果未在命名会话中指定值,则使用此项。

必填:yes,如果已指定 Plugins.PostgreSQL.Default.TLSCertFile

Plugins.PostgreSQL.Default.Uri

指定用于连接 PostgreSQL 的默认 URI。
当监控项键值或命名会话中未指定值时使用。
嵌入的凭据将被忽略。
必须符合 URI 格式。
支持的方案:tcpunix

示例:

tcp://127.0.0.1:5432
tcp://localhost
unix:/var/run/postgresql/.s.PGSQL.5432
Plugins.PostgreSQL.Default.User

指定用于连接 PostgreSQL 的默认用户名。
当监控项键或命名会话中未指定值时使用。

Plugins.PostgreSQL.KeepAlive

设置在关闭未使用的插件连接之前的最长等待时间(秒)。

Plugins.PostgreSQL.Sessions.<SessionName>.CacheMode

指定 PostgreSQL 连接的命名会话缓存模式。
<SessionName> - 定义一个会话名称,用于监控项键值中。

默认值:prepare
范围:
prepare - 在 PostgreSQL 服务器上创建预编译语句;
describe - 使用匿名预编译语句来描述语句,而不在服务器上创建语句。

请注意,describe 主要适用于环境不允许使用预编译语句的情况,例如在使用 PgBouncer 之类的连接池时。

Plugins.PostgreSQL.Sessions.<SessionName>.Database

指定用于连接 PostgreSQL 的命名会话数据库。
<SessionName> - 定义用于监控项键中的会话名称。

Plugins.PostgreSQL.Sessions.<SessionName>.Password

指定用于连接 PostgreSQL 的命名会话密码。
<SessionName> - 定义用于监控项键中的会话名称。
必须符合密码格式。

Plugins.PostgreSQL.Sessions.<SessionName>.TLSCAFile

指定包含用于对 Zabbix agent 2 与受监控数据库之间加密通信进行对等证书验证的顶级 CA 证书的文件完整路径。
<SessionName> - 定义一个会话名称,用于监控项键值中。

必填:yes,如果 Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect 设置为 verify_caverify_full

Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile

指定包含 PostgreSQL 证书或证书链的文件完整路径,用于 Zabbix agent 2 与受监控数据库之间的加密通信。
<SessionName> - 定义用于监控项键中的会话名称。

必填:yes,如果指定了 Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile

Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect

指定会话级别的加密方式,用于 Zabbix agent 2 与受监控数据库之间的通信。
<SessionName> - 定义一个会话名称,用于监控项键值中。

范围:
required - 使用 TLS 作为传输模式进行连接,不进行身份检查;
verify_ca - 使用 TLS 连接并验证证书;
verify_full - 使用 TLS 连接,验证证书,并验证 DBHost 指定的数据库标识(CN)与其证书匹配。

未定义加密类型表示未加密连接。

Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile

指定包含 PostgreSQL 私钥的文件完整路径,用于 Zabbix agent 2 与被监控数据库之间的加密通信。
<SessionName> - 定义一个会话名称,用于监控项键值中。

必填:yes,如果已指定 Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile

Plugins.PostgreSQL.Sessions.<SessionName>.Uri

指定用于连接 PostgreSQL 的命名会话 URI。
<SessionName> - 定义一个会话名称,用于监控项键值中。
嵌入的凭据将被忽略。
必须符合 URI 格式。
支持的 scheme:tcpunix

示例:

tcp://127.0.0.1:5432
tcp://localhost
unix:/var/run/postgresql/.s.PGSQL.5432
Plugins.PostgreSQL.Sessions.<SessionName>.User

指定用于连接 PostgreSQL 的命名会话用户名。
<SessionName> - 定义一个会话名称,用于监控项键中。

Plugins.PostgreSQL.System.Path

指定 PostgreSQL 插件可执行文件的路径。

必填:yes

示例:

Plugins.PostgreSQL.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-postgresql
Plugins.PostgreSQL.Timeout

设置请求执行超时时间(即在关闭请求之前等待其完成的时长,单位为秒)。

默认值:global timeout
范围:1-30

选项

Parameter Description
-V --version 打印插件版本和许可证信息。
-h --help 打印帮助信息(简写)。
-t, --test <item key> 启动插件进行测试(忽略插件配置)。

另请参阅