- PostgreSQL plugin
- Overview
- Parameter details
- Plugins.PostgreSQL.CallTimeout
- Plugins.PostgreSQL.CustomQueriesPath
- Plugins.PostgreSQL.CustomQueriesEnabled
- Plugins.PostgreSQL.Default.CacheMode
- Plugins.PostgreSQL.Default.Database
- Plugins.PostgreSQL.Default.Password
- Plugins.PostgreSQL.Default.TLSCAFile
- Plugins.PostgreSQL.Default.TLSCertFile
- Plugins.PostgreSQL.Default.TLSConnect
- Plugins.PostgreSQL.Default.TLSKeyFile
- Plugins.PostgreSQL.Default.Uri
- Plugins.PostgreSQL.Default.User
- Plugins.PostgreSQL.KeepAlive
- Plugins.PostgreSQL.Sessions.<SessionName>.CacheMode
- Plugins.PostgreSQL.Sessions.<SessionName>.Database
- Plugins.PostgreSQL.Sessions.<SessionName>.Password
- Plugins.PostgreSQL.Sessions.<SessionName>.TLSCAFile
- Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile
- Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect
- Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile
- Plugins.PostgreSQL.Sessions.<SessionName>.Uri
- Plugins.PostgreSQL.Sessions.<SessionName>.User
- Plugins.PostgreSQL.System.Path
- Plugins.PostgreSQL.Timeout
- Options
- See also
PostgreSQL plugin
Overview
Configuration parameters allow customizing the PostgreSQL plugin behavior.
It is recommended to specify them in their own configuration file (e.g. postgresql.conf), rather than in the agent 2 configuration file. Then use the Include directive to include this file in the Zabbix agent 2 configuration.
The PostgreSQL plugin is a loadable plugin and is available and fully described in the PostgreSQL plugin repository.
All parameters are optional, unless explicitly stated that the parameter is mandatory.
This page is structured as:
- Parameter overview (to see full details of a parameter, click its name)
- Parameter details
| Parameter | Description |
|---|---|
| Plugins.PostgreSQL.CallTimeout | Set the maximum wait time in seconds for a request to be completed. |
| Plugins.PostgreSQL.CustomQueriesPath | Specify full pathname of the directory containing .sql files with custom queries. |
| Plugins.PostgreSQL.CustomQueriesEnabled | Enable execution of the postgresql.custom.query item key. |
| Plugins.PostgreSQL.Default.CacheMode | Specify the default cache mode for the PostgreSQL connection. |
| Plugins.PostgreSQL.Default.Database | Specify the default database name. |
| Plugins.PostgreSQL.Default.Password | Specify the default password. |
| Plugins.PostgreSQL.Default.TLSCAFile | Specify full pathname of the file containing the top-level CA(s) certificate for peer certificate verification. |
| Plugins.PostgreSQL.Default.TLSCertFile | Specify full pathname of the file containing the PostgreSQL certificate or certificate chain. |
| Plugins.PostgreSQL.Default.TLSConnect | Specify the default level of encryption for communications between Zabbix agent 2 and monitored databases. |
| Plugins.PostgreSQL.Default.TLSKeyFile | Specify full pathname of the file containing the PostgreSQL private key. |
| Plugins.PostgreSQL.Default.Uri | Specify the default URI. |
| Plugins.PostgreSQL.Default.User | Specify the default username. |
| Plugins.PostgreSQL.KeepAlive | Set the maximum time of waiting (in seconds) before unused plugin connections are closed. |
| Plugins.PostgreSQL.Sessions.<SessionName>.CacheMode | Specify the named session cache mode for the PostgreSQL connection. |
| Plugins.PostgreSQL.Sessions.<SessionName>.Database | Specify the named session database name. |
| Plugins.PostgreSQL.Sessions.<SessionName>.Password | Specify the named session password. |
| Plugins.PostgreSQL.Sessions.<SessionName>.TLSCAFile | Specify full pathname of the file containing the top-level CA(s) certificate for peer certificate verification. |
| Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile | Specify full pathname of the file containing the PostgreSQL certificate or certificate chain. |
| Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect | Specify the named session level of encryption for communications between Zabbix agent 2 and monitored databases. |
| Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile | Specify full pathname of the file containing the PostgreSQL private key. |
| Plugins.PostgreSQL.Sessions.<SessionName>.Uri | Specify the named session URI. |
| Plugins.PostgreSQL.Sessions.<SessionName>.User | Specify the named session username. |
|Plugins.PostgreSQL.System.Path|Specify path to the PostgreSQL plugin executable.| |Plugins.PostgreSQL.Timeout|Set the request execution timeout.|
Note that:
- The default values reflect process defaults, not the values in the shipped configuration files.
- Values support environment variables;
- Zabbix supports configuration files only in UTF-8 encoding without BOM.
- Comments starting with "#" are only supported at the beginning of the line.
Parameter details
Plugins.PostgreSQL.CallTimeout
Set the maximum wait time in seconds for a request to be completed.
Default: global timeout
Range: 1-30
Plugins.PostgreSQL.CustomQueriesPath
Specify full pathname of the directory containing .sql files with custom queries.
Defaults:/usr/local/share/zabbix/custom-queries/postgreSQL - for Unix systems,*:\Program Files\Zabbix Agent 2\Custom Queries\PostgreSQL - for Windows systems (where * is the drive name from the ProgramFiles environment variable)
Example:
/etc/zabbix/oracle/sql
Plugins.PostgreSQL.CustomQueriesEnabled
Enable execution of the postgresql.custom.query item key.
If disabled, no queries will be loaded from the custom query directory path.
Default: false
Range: true/false
Plugins.PostgreSQL.Default.CacheMode
Specify the default cache mode for the PostgreSQL connection.
Default: prepare
Range:prepare - create prepared statements on the PostgreSQL server;describe - use the anonymous prepared statement to describe a statement without creating a statement on the server.
Note that describe is primarily useful when the environment does not allow prepared statements such as when running a connection pooler like PgBouncer.
Plugins.PostgreSQL.Default.Database
Specify the default database for connecting to PostgreSQL.
Used if no value is specified in an item key or named session.
Plugins.PostgreSQL.Default.Password
Specify the default password for connecting to PostgreSQL.
Used if no value is specified in an item key or named session.
Plugins.PostgreSQL.Default.TLSCAFile
Specify full pathname of the file containing the top-level CA(s) certificate for peer certificate verification for encrypted communications between Zabbix agent 2 and monitored databases.
Used if no value is specified in a named session.
Mandatory: yes, if Plugins.PostgreSQL.Default.TLSConnect is set to verify_ca or verify_full
Plugins.PostgreSQL.Default.TLSCertFile
Specify full pathname of the file containing the PostgreSQL certificate or certificate chain for encrypted communications between Zabbix agent 2 and monitored databases.
Used if no value is specified in a named session.
Mandatory: yes, if Plugins.PostgreSQL.Default.TLSKeyFile is specified
Plugins.PostgreSQL.Default.TLSConnect
Specify the default level of encryption for communications between Zabbix agent 2 and monitored databases.
Used if no value is specified in a named session.
Range:required - connect using TLS as transport mode without identity checks;verify_ca - connect using TLS and verify certificate;verify_full - connect using TLS, verify certificate and verify that database identity (CN) specified by DBHost matches its certificate.
Undefined encryption type means unencrypted connection.
Plugins.PostgreSQL.Default.TLSKeyFile
Specify full pathname of the file containing the PostgreSQL private key for encrypted communications between Zabbix agent 2 and monitored databases.
Used if no value is specified in a named session.
Mandatory: yes, if Plugins.PostgreSQL.Default.TLSCertFile is specified
Plugins.PostgreSQL.Default.Uri
Specify the default URI for connecting to PostgreSQL.
Used if no value is specified in an item key or named session.
Embedded credentials will be ignored.
Must match the URI format.
Supported schemes: tcp, unix
Examples:
tcp://127.0.0.1:5432
tcp://localhost
unix:/var/run/postgresql/.s.PGSQL.5432
Plugins.PostgreSQL.Default.User
Specify the default username for connecting to PostgreSQL.
Used if no value is specified in an item key or named session.
Plugins.PostgreSQL.KeepAlive
Set the maximum time of waiting (in seconds) before unused plugin connections are closed.
Plugins.PostgreSQL.Sessions.<SessionName>.CacheMode
Specify the named session cache mode for the PostgreSQL connection.
<SessionName> - define name of a session for using in item keys.
Default: prepare
Range:prepare - create prepared statements on the PostgreSQL server;describe - use the anonymous prepared statement to describe a statement without creating a statement on the server.
Note that describe is primarily useful when the environment does not allow prepared statements such as when running a connection pooler like PgBouncer.
Plugins.PostgreSQL.Sessions.<SessionName>.Database
Specify the named session database for connecting to PostgreSQL.
<SessionName> - define name of a session for using in item keys.
Plugins.PostgreSQL.Sessions.<SessionName>.Password
Specify the named session password for connecting to PostgreSQL.
<SessionName> - define name of a session for using in item keys.
Must match the password format.
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCAFile
Specify full pathname of the file containing the top-level CA(s) certificate for peer certificate verification for encrypted communications between Zabbix agent 2 and monitored databases.
<SessionName> - define name of a session for using in item keys.
Mandatory: yes, if Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect is set to verify_ca or verify_full
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile
Specify full pathname of the file containing the PostgreSQL certificate or certificate chain for encrypted communications between Zabbix agent 2 and monitored databases.
<SessionName> - define name of a session for using in item keys.
Mandatory: yes, if Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile is specified
Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect
Specify the named session level of encryption for communications between Zabbix agent 2 and monitored databases.
<SessionName> - define name of a session for using in item keys.
Range:required - connect using TLS as transport mode without identity checks;verify_ca - connect using TLS and verify certificate;verify_full - connect using TLS, verify certificate and verify that database identity (CN) specified by DBHost matches its certificate.
Undefined encryption type means unencrypted connection.
Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile
Specify full pathname of the file containing the PostgreSQL private key for encrypted communications between Zabbix agent 2 and monitored databases.
<SessionName> - define name of a session for using in item keys.
Mandatory: yes, if Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile is specified.
Plugins.PostgreSQL.Sessions.<SessionName>.Uri
Specify the named session URI for connecting to PostgreSQL.
<SessionName> - define name of a session for using in item keys.
Embedded credentials will be ignored.
Must match the URI format.
Supported schemes: tcp, unix
Examples:
tcp://127.0.0.1:5432
tcp://localhost
unix:/var/run/postgresql/.s.PGSQL.5432
Plugins.PostgreSQL.Sessions.<SessionName>.User
Specify the named session username for connecting to PostgreSQL.
<SessionName> - define name of a session for using in item keys.
Plugins.PostgreSQL.System.Path
Specify path to the PostgreSQL plugin executable.
Mandatory: yes
Example:
Plugins.PostgreSQL.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-postgresql
Plugins.PostgreSQL.Timeout
Set the request execution timeout (the duration, in seconds, to wait for a request to complete before shutting it down).
Default: global timeout
Range: 1-30
Options
| Parameter | Description |
|---|---|
| -V --version | Print the plugin version and license information. |
| -h --help | Print help information (shorthand). |
| -t, --test <item key> | Launch plugin for testing (plugin config ignored). |
See also
- Description of general Zabbix agent 2 configuration parameters: Zabbix agent 2 (UNIX) / Zabbix agent 2 (Windows)
- Instructions for configuring plugins