6 Plugin MongoDB

Aperçu

Le fichier de configuration de Zabbix agent 2 est utilisé pour configurer les plugins. Ces paramètres de configuration de Zabbix agent 2 sont pris en charge pour faire fonctionner le plugin MongoDB.

Il est recommandé de les spécifier dans leur propre fichier de configuration (par exemple, mongo.conf), puis d’utiliser la directive Include pour ajouter ce fichier à la configuration de Zabbix agent 2.

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

Notez que :

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

Options

Paramètre Description
-V --version Affiche la version du plugin et les informations de licence.
-h --help Affiche les informations d’aide (abrégé).
-t, --test <item key> Lance le plugin pour les tests (configuration du plugin ignorée).

Paramètres

Lors de la connexion à MongoDB, le plugin vérifie sa configuration dans un ordre spécifique, qui détermine quelle valeur utiliser. L’ordre, de la priorité la plus élevée à la plus faible, est le suivant :

  1. Les paramètres spécifiés dans l’URI de connexion (par exemple, les paramètres de requête définis après ? dans Plugins.MongoDB.Sessions.<session_name>.Uri ont la priorité la plus élevée).
  2. Les paramètres dans la clé d’élément Zabbix agent 2 (par exemple, mongodb.collection.stats).
  3. Les paramètres définis dans une session nommée (par exemple, Plugins.MongoDB.Sessions.<SessionName>.User, Plugins.MongoDB.Sessions.<SessionName>.Password).
  4. Les valeurs par défaut (par exemple, Plugins.MongoDB.Default.User, Plugins.MongoDB.Default.Password).

Par exemple :

  • Si vous spécifiez la base de données pour authentifier une connexion au serveur MongoDB dans le paramètre *.<SessionName>.Uri (par exemple, Plugins.MongoDB.Sessions.<session_name>.Uri=mongodb://user:[email protected]:27017/?authSource=admin), alors le plugin considérera que le paramètre *.<SessionName>.AuthSource est défini sur admin, même si le paramètre *.<SessionName>.AuthSource est défini sur une autre valeur.
  • Si vous spécifiez l’URI dans le paramètre *.<SessionName>.Uri (par exemple, Plugins.MongoDB.Sessions.<session_name>.Uri=mongodb://127.0.0.1:27017), mais fournissez le nom d’utilisateur et le mot de passe dans la clé d’élément Zabbix agent 2, le plugin utilisera le nom d’utilisateur et le mot de passe de la clé d’élément, même si Plugins.MongoDB.Sessions.<SessionName>.User et Plugins.MongoDB.Sessions.<SessionName>.Password sont configurés.

Si le schéma mongodb+srv:// est utilisé, l’URI peut récupérer des paramètres à partir d’un enregistrement DNS TXT. Les paramètres obtenus à partir de cet enregistrement TXT remplacent toutes les autres configurations, y compris les paramètres de l’URI, les paramètres de la clé d’élément Zabbix Agent 2 et les paramètres de session.
Un seul enregistrement TXT peut exister pour le nom d’hôte utilisé dans la chaîne de connexion.

Parameter Mandatory Range Default Description
Plugins.MongoDB.System.Path no Chemin vers l’exécutable du plugin MongoDB.
Exemple d’utilisation : Plugins.MongoDB.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-mongodb
Plugins.MongoDB.Timeout no 1-30 global timeout Délai d’expiration d’exécution de la requête (durée, en secondes, pendant laquelle attendre qu’une requête se termine avant de l’arrêter).
Plugins.MongoDB.KeepAlive no 60-900 300 Temps d’attente maximal (en secondes) avant la fermeture des connexions de plugin inutilisées.
Plugins.MongoDB.Sessions.<SessionName>.Uri no tcp://127.0.0.1:27017 Chaîne de connexion d’une session nommée.
<SessionName> - définissez le nom d’une session à utiliser dans les clés d’élément.

Doit correspondre au format URI.
Schémas pris en charge : mongodb:// et mongodb+srv:// ; le schéma tcp:// est obsolète et conservé pour assurer la rétrocompatibilité avec les configurations existantes.
Un port peut être omis (par défaut=27017).
Exemples : mongodb://127.0.0.1:27017, mongodb+srv://example.com, localhost.
Plugins.MongoDB.Sessions.<SessionName>.User no Nom d’utilisateur de la session nommée.
<SessionName> - définissez le nom d’une session à utiliser dans les clés d’élément.
Plugins.MongoDB.Sessions.<SessionName>.Password no Mot de passe de la session nommée.
<SessionName> - définissez le nom d’une session à utiliser dans les clés d’élément.
Plugins.MongoDB.Sessions.<SessionName>.Direct no false Méthode de connexion utilisée pour déterminer si la découverte automatique des nœuds du replica set MongoDB doit être activée ou désactivée.
<SessionName> - définissez le nom d’une session à utiliser dans les clés d’élément.

Valeurs prises en charge :
true - le plugin se connectera uniquement au serveur spécifié, en ignorant les autres membres du replica set ;
false - le plugin découvrira automatiquement tous les nœuds du replica set.
Si le schéma tcp:// (obsolète) est utilisé, le paramètre est défini sur true par défaut.
Plugins.MongoDB.Sessions.<SessionName>.AuthMechanism no Mécanisme d’authentification pour se connecter au serveur MongoDB.
<SessionName> - définissez le nom d’une session à utiliser dans les clés d’élément.

Valeurs prises en charge : SCRAM-SHA-1, SCRAM-SHA-256 et MONGODB-X509.
Plugins.MongoDB.Sessions.<SessionName>.AuthSource no admin Base de données pour authentifier la connexion au serveur MongoDB.
<SessionName> - définissez le nom d’une session à utiliser dans les clés d’élément.

Si le mécanisme d’authentification MONGODB-X509 est utilisé, ce paramètre est automatiquement défini sur $external ; le modifier avec une autre valeur provoquera une erreur au démarrage.
Plugins.MongoDB.Sessions.<SessionName>.ReplicaSet no Nom du replica set, utilisé pour la découverte automatique des nœuds du replica set MongoDB.
<SessionName> - définissez le nom d’une session à utiliser dans les clés d’élément.

Si ce paramètre est utilisé avec le schéma mongodb+srv://, il se comportera comme si plusieurs URL avaient été fournies ; un serveur DNS peut avoir un enregistrement TXT qui peut remplacer ce paramètre (ou tout autre paramètre).

Indisponible si le paramètre Plugins.MongoDB.Sessions.<SessionName>.Direct est défini sur true, l’agent ne pourra pas démarrer.
Plugins.MongoDB.Sessions.<SessionName>.ReadPreference no Ordre de connexion aux nœuds du replica set MongoDB ou de repli.
<SessionName> - définissez le nom d’une session à utiliser dans les clés d’élément.

Valeurs prises en charge : PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode et NearestMode.
Indisponible si le paramètre Plugins.MongoDB.Sessions.<SessionName>.Direct est défini sur true, l’agent ne pourra pas démarrer.
Plugins.MongoDB.Sessions.<SessionName>.TLSConnect no Type de chiffrement pour les communications entre Zabbix agent 2 et les bases de données surveillées.
<SessionName> - définissez le nom d’une session à utiliser dans les clés d’élément.

Valeurs prises en charge :
required - exiger une connexion TLS ;
verify\_ca - vérifier les certificats ;
verify\_full - vérifier les certificats et l’adresse IP.

Pris en charge depuis la version 1.2.1 du plugin.
Plugins.MongoDB.Sessions.<SessionName>.TLSCAFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSConnect is set to one of: verify_ca, verify_full Chemin complet d’un fichier contenant les certificats de la ou des autorités de certification racines pour la vérification du certificat du pair, utilisé pour les communications chiffrées entre Zabbix agent 2 et les bases de données surveillées.
<SessionName> - définissez le nom d’une session à utiliser dans les clés d’élément.
Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile is specified Chemin complet d’un fichier contenant le certificat de l’agent ou la chaîne de certificats, utilisé pour les communications chiffrées entre Zabbix agent 2 et les bases de données surveillées.
<SessionName> - définissez le nom d’une session à utiliser dans les clés d’élément.
Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile is specified Chemin complet d’un fichier contenant la clé privée de la base de données utilisée pour les communications chiffrées entre Zabbix agent 2 et les bases de données surveillées.
<SessionName> - définissez le nom d’une session à utiliser dans les clés d’élément.
Plugins.MongoDB.Default.Uri no tcp://127.0.0.1:27017 URI par défaut pour se connecter à MongoDB.

Doit correspondre au format URI.
Schémas pris en charge : mongodb:// et mongodb+srv://.
Schéma obsolète : tcp:// (utilisé par défaut pour assurer la rétrocompatibilité avec les configurations existantes).
Un port peut être omis (par défaut=27017).
Exemples : mongodb://127.0.0.1:27017, mongodb+srv://example.com, localhost.
Plugins.MongoDB.Default.User no Nom d’utilisateur par défaut pour se connecter à MongoDB.
Plugins.MongoDB.Default.Password no Mot de passe par défaut pour se connecter à MongoDB.
Plugins.MongoDB.Default.Direct no false Méthode de connexion par défaut utilisée pour déterminer si la découverte automatique des nœuds du replica set MongoDB doit être activée ou désactivée.

Valeurs prises en charge :
true - le plugin se connectera uniquement au serveur spécifié, en ignorant les autres membres du replica set ;
false - le plugin découvrira automatiquement tous les nœuds du replica set.
Si le schéma tcp:// (obsolète) est utilisé, le paramètre est défini sur true par défaut.
Plugins.MongoDB.Default.AuthMechanism no Mécanisme d’authentification par défaut pour se connecter au serveur MongoDB.

Valeurs prises en charge : SCRAM-SHA-1, SCRAM-SHA-256 et MONGODB-X509.
Si aucune valeur n’est spécifiée ici, dans une clé d’élément, dans une session nommée ou dans l’URI, un mécanisme basé sur SCRAM sera utilisé (si un nom d’utilisateur est fourni ; sinon, aucune authentification ne sera utilisée).
Plugins.MongoDB.Default.AuthSource no admin Base de données par défaut pour authentifier la connexion au serveur MongoDB.

Si le mécanisme d’authentification MONGODB-X509 est utilisé, ce paramètre est automatiquement défini sur $external ; le modifier avec une autre valeur provoquera une erreur au démarrage.
Plugins.MongoDB.Default.ReplicaSet no Nom du replica set par défaut ; utilisé pour la découverte automatique des nœuds du replica set MongoDB.

Si ce paramètre est utilisé avec le schéma mongodb+srv://, il se comportera comme si plusieurs URL avaient été fournies ; un serveur DNS peut avoir un enregistrement TXT qui peut remplacer ce paramètre (ou tout autre paramètre).
Indisponible si le paramètre Plugins.MongoDB.Default.Direct est défini sur true, l’agent ne pourra pas démarrer.
Plugins.MongoDB.Default.ReadPreference no Ordre par défaut de connexion aux nœuds du replica set MongoDB ou de repli.

Valeurs prises en charge : PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode et NearestMode.
Indisponible si le paramètre Plugins.MongoDB.Default.Direct est défini sur true, l’agent ne pourra pas démarrer.
Plugins.MongoDB.Default.TLSConnect no Type de chiffrement par défaut pour les communications entre Zabbix agent 2 et les bases de données surveillées.

Valeurs prises en charge :
required - exige une connexion TLS.
verify\_ca - vérifie les certificats.
verify\_full - vérifie les certificats et l’adresse IP.
Si aucune valeur n’est spécifiée ici, dans une clé d’élément, dans une session nommée ou dans l’URI, aucune connexion TLS ne sera établie.
Plugins.MongoDB.Default.TLSCAFile no Chemin par défaut d’un fichier contenant les certificats de la ou des autorités de certification racines pour la vérification du certificat du pair. Utilisé pour les communications chiffrées entre Zabbix agent 2 et les bases de données surveillées.
Plugins.MongoDB.Default.TLSCertFile no Chemin par défaut d’un fichier contenant le certificat client MongoDB ou la chaîne de certificats. Utilisé pour les communications chiffrées entre Zabbix agent 2 et les bases de données surveillées.
Plugins.MongoDB.Default.TLSKeyFile no Chemin par défaut d’un fichier contenant la clé privée du client MongoDB utilisée pour les communications chiffrées entre Zabbix agent 2 et les bases de données surveillées.

Voir aussi :