Plugin PostgreSQL

Vue d'ensemble

Les paramètres de configuration permettent de personnaliser le comportement du plugin PostgreSQL.

Il est recommandé de les spécifier dans leur propre fichier de configuration (par exemple postgresql.conf), plutôt que dans le fichier de configuration de l'agent 2. Utilisez ensuite la directive Include pour inclure ce fichier dans la configuration de Zabbix agent 2.

Le plugin PostgreSQL est un plugin chargeable et est disponible et entièrement décrit dans le dépôt du plugin PostgreSQL.

Tous les paramètres sont facultatifs, sauf indication explicite précisant que le paramètre est obligatoire.

Notez que :

  • Les valeurs par défaut reflètent les valeurs par défaut du processus, et non celles des fichiers de configuration fournis.
  • Les valeurs prennent en charge les variables d'environnement ;
  • Zabbix prend en charge les fichiers de configuration uniquement en encodage UTF-8 sans BOM.
  • Les commentaires commençant par "#" ne sont pris en charge qu'au début de la ligne.

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 Afficher la version du plugin et les informations de licence.
-h --help Afficher les informations d'aide (raccourci).
-t, --test <item key> Lancer le plugin pour les tests (la configuration du plugin est ignorée).

Paramètres

Parameter Mandatory Range Default Description
Plugins.PostgreSQL.Default.CacheMode no prepare Mode de cache pour la connexion PostgreSQL.
Valeurs prises en charge :
prepare (par défaut) - créera des instructions préparées sur le serveur PostgreSQL ;
describe - utilisera l'instruction préparée anonyme pour décrire une instruction sans en créer une sur le serveur.
Notez que "describe" est principalement utile lorsque l'environnement n'autorise pas les instructions préparées, par exemple lors de l'utilisation d'un pooler de connexions comme PgBouncer.
Plugins.PostgreSQL.CallTimeout no 1-30 global timeout Temps d'attente maximal (en secondes) pour qu'une requête soit exécutée.
Plugins.PostgreSQL.CustomQueriesPath no /usr/local/share/zabbix/custom-queries/postgreSQL pour les systèmes Unix

*:\Program Files\Zabbix Agent 2\Custom Queries\PostgreSQL pour les systèmes Windows, où * est le nom du lecteur provenant de la variable d'environnement ProgramFiles
Chemin complet d'un répertoire contenant des fichiers .sql avec des requêtes personnalisées.
Plugins.PostgreSQL.CustomQueriesEnabled no false Si défini, active l'exécution de la clé d'élément postgresql.custom.query. Si désactivé, aucune requête ne sera chargée depuis le chemin du répertoire des requêtes personnalisées.
Plugins.PostgreSQL.Default.Database no Base de données par défaut pour la connexion à PostgreSQL ; utilisée si aucune valeur n'est spécifiée dans une clé d'élément ou une session nommée.
Plugins.PostgreSQL.Default.Password no Mot de passe par défaut pour la connexion à PostgreSQL ; utilisé si aucune valeur n'est spécifiée dans une clé d'élément ou une session nommée.
Plugins.PostgreSQL.Default.TLSCAFile no
(yes, if Plugins.PostgreSQL.Default.TLSConnect is set to verify_ca or verify_full)
Chemin complet d'un fichier contenant le ou les certificats de l'AC racine pour la vérification du certificat du pair lors des communications chiffrées entre Zabbix agent 2 et les bases de données surveillées ; utilisé si aucune valeur n'est spécifiée dans une session nommée.
Plugins.PostgreSQL.Default.TLSCertFile no
(yes, if Plugins.PostgreSQL.Default.TLSConnect is set to verify_ca or verify_full)
Chemin complet d'un fichier contenant le certificat PostgreSQL ou la chaîne de certificats pour les communications chiffrées entre Zabbix agent 2 et les bases de données surveillées ; utilisé si aucune valeur n'est spécifiée dans une session nommée.
Plugins.PostgreSQL.Default.TLSConnect no Type de chiffrement pour les communications entre Zabbix agent 2 et les bases de données surveillées ; utilisé si aucune valeur n'est spécifiée dans une session nommée.
Valeurs prises en charge :
required - connexion via TLS comme mode de transport sans vérification d'identité ;
verify_ca - connexion via TLS et vérification du certificat ;
verify_full - connexion via TLS, vérification du certificat et vérification que l'identité de la base de données (CN) spécifiée par DBHost correspond à son certificat.
Un type de chiffrement non défini signifie une connexion non chiffrée.
Plugins.PostgreSQL.Default.TLSKeyFile no
(yes, if Plugins.PostgreSQL.Default.TLSConnect is set to verify_ca or verify_full)
Chemin complet d'un fichier contenant la clé privée PostgreSQL pour les communications chiffrées entre Zabbix agent 2 et les bases de données surveillées ; utilisé si aucune valeur n'est spécifiée dans une session nommée.
Plugins.PostgreSQL.Default.Uri no URI par défaut pour la connexion à PostgreSQL ; utilisé si aucune valeur n'est spécifiée dans une clé d'élément ou une session nommée.

Ne doit pas inclure d'identifiants intégrés (ils seront ignorés).
Doit correspondre au format URI.
Schémas pris en charge : tcp, unix.
Exemples : tcp://127.0.0.1:5432
tcp://localhost
unix:/var/run/postgresql/.s.PGSQL.5432
Plugins.PostgreSQL.Default.User no Nom d'utilisateur par défaut pour la connexion à PostgreSQL ; utilisé si aucune valeur n'est spécifiée dans une clé d'élément ou une session nommée.
Plugins.PostgreSQL.KeepAlive no 60-900 300 Durée maximale d'attente (en secondes) avant la fermeture des connexions de plugin inutilisées.
Plugins.PostgreSQL.Sessions.<SessionName>.CacheMode no prepare Mode de cache pour la connexion PostgreSQL.
<SessionName> - définit le nom d'une session à utiliser dans les clés d'élément.
Valeurs prises en charge :
prepare (par défaut) - créera des instructions préparées sur le serveur PostgreSQL ;
describe - utilisera l'instruction préparée anonyme pour décrire une instruction sans en créer une sur le serveur.
Notez que "describe" est principalement utile lorsque l'environnement n'autorise pas les instructions préparées, par exemple lors de l'utilisation d'un pooler de connexions comme PgBouncer.
Plugins.PostgreSQL.Sessions.<SessionName>.Database no Base de données pour la connexion de session.
<SessionName> - définit le nom d'une session à utiliser dans les clés d'élément.
Plugins.PostgreSQL.Sessions.<SessionName>.Password no Must match the password format. Mot de passe pour la connexion de session.
<SessionName> - définit le nom d'une session à utiliser dans les clés d'élément.
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCAFile no
(yes, if Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect is set to verify_ca or verify_full)
Chemin complet d'un fichier contenant le certificat de l'AC racine pour la vérification du certificat du pair.
<SessionName> - définit le nom d'une session à utiliser dans les clés d'élément.
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile yes, if Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile is specified Chemin complet d'un fichier contenant le certificat PostgreSQL ou la chaîne de certificats.
<SessionName> - définit le nom d'une session à utiliser dans les clés d'élément.
Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect no Type de chiffrement pour la connexion PostgreSQL.
<SessionName> - définit le nom d'une session à utiliser dans les clés d'élément.

Valeurs prises en charge :
required - connexion via TLS comme mode de transport sans vérification d'identité ;
verify_ca - connexion via TLS et vérification du certificat ;
verify_full - connexion via TLS, vérification du certificat et vérification que l'identité de la base de données (CN) spécifiée par DBHost correspond à son certificat.
Un type de chiffrement non défini signifie une connexion non chiffrée.
Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile yes, if Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile is specified Chemin complet d'un fichier contenant la clé privée PostgreSQL.
<SessionName> - définit le nom d'une session à utiliser dans les clés d'élément.
Plugins.PostgreSQL.Sessions.<SessionName>.Uri no Chaîne de connexion d'une session nommée.
<SessionName> - définit le nom d'une session à utiliser dans les clés d'élément.

Ne doit pas inclure d'identifiants intégrés (ils seront ignorés).
Doit correspondre au format URI.
Schémas pris en charge : tcp, unix.
Exemples : tcp://127.0.0.1:5432
tcp://localhost
unix:/var/run/postgresql/.s.PGSQL.5432
Plugins.PostgreSQL.Sessions.<SessionName>.User no Nom d'utilisateur de la session nommée.
<SessionName> - définit le nom d'une session à utiliser dans les clés d'élément.
Plugins.PostgreSQL.System.Path yes Chemin vers l'exécutable du plugin PostgreSQL.
Exemple d'utilisation : Plugins.PostgreSQL.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-postgresql
Plugins.PostgreSQL.Timeout no 1-30 global timeout Délai d'expiration d'exécution de la requête (durée, en secondes, à attendre qu'une requête se termine avant de l'arrêter).

Voir aussi :