7 Paramètres de configuration des plugins
Voir les paramètres de configuration des plugins de Zabbix agent 2 :
- Plugin Ceph
- Plugin Docker
- Plugin Ember+
- Plugin Memcached
- Plugin Modbus
- Plugin MongoDB
- Plugin MQTT
- Plugin MSSQL
- Plugin MySQL
- Plugin NVIDIA GPU
- Plugin Oracle
- Plugin PostgreSQL
- Plugin Redis
- Plugin S.M.A.R.T.
Principes de configuration des plugins
Cette page décrit les principes de configuration des plugins et les bonnes pratiques.
Tous les plugins sont configurés à l'aide du paramètre Plugins.*, qui peut faire partie soit du fichier de configuration de Zabbix agent 2, soit du propre fichier de configuration d'un plugin. Si un plugin utilise un fichier de configuration distinct, le chemin vers ce fichier doit être spécifié dans le paramètre Include du fichier de configuration de Zabbix agent 2.
Un paramètre de plugin typique a la structure suivante :
Plugins.<PluginName>.<Parameter>=<Value>
De plus, il existe deux groupes spécifiques de paramètres :
-
Plugins.<PluginName>.Default.<Parameter>=<Value> utilisé pour définir les valeurs de paramètres par défaut.
-
Plugins.<PluginName>.<SessionName>.<Parameter>=<Value> utilisé pour définir des ensembles distincts de paramètres pour différentes cibles de supervision via des sessions nommées.
Tous les noms de paramètres doivent respecter les exigences suivantes :
- il est recommandé de mettre en majuscule les noms de vos plugins
- le paramètre doit commencer par une majuscule
- les caractères spéciaux ne sont pas autorisés
- l'imbrication n'est pas limitée par un niveau maximal
- le nombre de paramètres n'est pas limité
Par exemple, pour effectuer des vérifications actives qui n'ont pas d'intervalle de mise à jour Scheduling immédiatement après le redémarrage de l'agent, uniquement pour le plugin Uptime, définissez Plugins.Uptime.System.ForceActiveChecksOnStart=1 dans le fichier de configuration.
De même, pour définir une limite personnalisée pour les vérifications simultanées pour le plugin CPU, définissez Plugins.CPU.System.Capacity=N dans le fichier de configuration.
Valeurs par défaut
Vous pouvez définir des valeurs par défaut pour les paramètres liés à la connexion (URI, nom d'utilisateur, mot de passe, etc.) dans le fichier de configuration au format suivant :
Plugins.<PluginName>.Default.<Parameter>=<Value>
Par exemple, Plugins.Mysql.Default.Username=zabbix, Plugins.MongoDB.Default.Uri=tcp://127.0.0.1:27017, etc.
Si aucune valeur n'est fournie pour un tel paramètre dans une clé d'élément ou dans les paramètres de la session nommée, le plugin utilisera la valeur par défaut. Si un paramètre par défaut n'est pas non plus défini, les valeurs par défaut codées en dur seront utilisées.
Si une clé d'élément ne comporte aucun paramètre, Zabbix agent 2 tentera de collecter la métrique en utilisant les valeurs définies dans la section des paramètres par défaut.
Sessions nommées
Les sessions nommées représentent un niveau supplémentaire de paramètres de plugin et peuvent être utilisées pour spécifier des ensembles distincts de paramètres d'authentification pour chacune des instances surveillées. Chaque paramètre de session nommée doit avoir la structure suivante :
Plugins.<PluginName>.Sessions.<SessionName>.<Parameter>=<Value>
Un nom de session peut être utilisé comme paramètre de clé d'élément connString au lieu de spécifier séparément un URI, un nom d'utilisateur et/ou un mot de passe.
Dans les clés d'élément, le premier paramètre peut être soit un connString, soit un URI. Si le premier paramètre de clé ne correspond à aucun nom de session, il sera traité comme un URI. Notez que la transmission d'informations d'identification URI intégrées dans la clé d'élément n'est pas prise en charge ; utilisez plutôt des paramètres de session nommée.
La liste des paramètres de session nommée disponibles dépend du plugin.
Il est possible de remplacer les paramètres de session en spécifiant de nouvelles valeurs dans les paramètres de clé d'élément (voir exemple).
Si un paramètre n'est pas défini pour la session nommée, Zabbix agent 2 utilisera la valeur définie dans le paramètre de plugin par défaut.
Priorité des paramètres
Les plugins de Zabbix agent 2 recherchent les valeurs des paramètres liés à la connexion dans l'ordre suivant :

- Le premier paramètre de clé d'élément est comparé aux noms de session. Si aucune correspondance n'est trouvée, il est traité comme une valeur réelle ; dans ce cas, l'étape 3 sera ignorée. Si une correspondance est trouvée, la valeur du paramètre (généralement un URI) doit être définie dans la session nommée.
- Les autres paramètres seront pris depuis la clé d'élément s'ils sont définis.
- Si un paramètre de clé d'élément (par exemple, le mot de passe) est vide, le plugin recherchera le paramètre correspondant dans la session nommée.
- Si le paramètre de session n'est pas non plus spécifié, la valeur définie dans le paramètre par défaut correspondant sera utilisée.
- En dernier recours, le plugin utilisera la valeur par défaut codée en dur.
Exemple 1
Supervision de deux instances « MySQL1 » et « MySQL2 ».
Paramètres de configuration :
Plugins.Mysql.Sessions.MySQL1.Uri=tcp://127.0.0.1:3306
Plugins.Mysql.Sessions.MySQL1.User=mysql1_user
Plugins.Mysql.Sessions.MySQL1.Password=unique_password
Plugins.Mysql.Sessions.MySQL2.Uri=tcp://192.0.2.0:3306
Plugins.Mysql.Sessions.MySQL2.User=mysql2_user
Plugins.Mysql.Sessions.MySQL2.Password=different_password
Grâce à cette configuration, chaque nom de session peut être utilisé comme connString dans une clé d’élément, par exemple mysql.ping[MySQL1] ou mysql.ping[MySQL2].
Exemple 2
Fourniture de certains paramètres dans la clé d'élément.
Paramètres de configuration :
Plugins.PostgreSQL.Sessions.Session1.Uri=tcp://192.0.2.234:5432
Plugins.PostgreSQL.Sessions.Session1.User=old_username
Plugins.PostgreSQL.Sessions.Session1.Password=session_password
Clé d'élément : pgsql.ping[session1,new_username,,postgres]
En conséquence de cette configuration, l'agent se connectera à PostgreSQL en utilisant les paramètres suivants :
- URI du paramètre de session :
192.0.2.234:5432 - Nom d'utilisateur de la clé d'élément :
new_username - Mot de passe du paramètre de session (puisqu'il est omis dans la clé d'élément) :
session_password - Nom de la base de données de la clé d'élément :
postgres
Exemple 3
Collecte d'une métrique à l'aide des paramètres de configuration par défaut.
Paramètres de configuration :
Plugins.PostgreSQL.Default.Uri=tcp://192.0.2.234:5432
Plugins.PostgreSQL.Default.User=zabbix
Plugins.PostgreSQL.Default.Password=password
Clé d'élément : pgsql.ping[,,,postgres]
Par conséquent, avec cette configuration, l'agent se connectera à PostgreSQL en utilisant les paramètres suivants :
- URI par défaut :
192.0.2.234:5432 - Nom d'utilisateur par défaut :
zabbix - Mot de passe par défaut :
password - Nom de la base de données provenant de la clé d'élément :
postgres
Connexions
Certains plugins prennent en charge la collecte de métriques à partir de plusieurs instances simultanément. Les instances locales et distantes peuvent toutes deux être surveillées. Les connexions TCP et Unix-socket sont prises en charge.
Il est recommandé de configurer les plugins pour maintenir les connexions aux instances dans un état ouvert. Les avantages sont une réduction de la congestion du réseau, de la latence, ainsi que de l'utilisation du processeur et de la mémoire grâce au nombre plus faible de connexions. La bibliothèque cliente s'en charge.
La période pendant laquelle les connexions inutilisées doivent rester ouvertes peut être définie par le paramètre Plugins.<PluginName>.KeepAlive. Exemple : Plugins.Memcached.KeepAlive