Paramètres de configuration: 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 du fichier de configuration de Zabbix agent 2 ou du fichier de configuration propre au plugin. Si un plugin utilise un fichier de configuration séparé, 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 surveillance via des sessions nommées.
Tous les noms de paramètres doivent respecter les exigences suivantes :
- il est recommandé de mettre les noms de vos plugins en majuscules
- 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 du 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 une valeur pour un tel paramètre n'est pas fournie 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 à la place de la spécification séparée d'une URI, d'un nom d'utilisateur et/ou d'un mot de passe.
Dans les clés d'élément, le premier paramètre peut être soit un connString, soit une URI. Si le premier paramètre de clé ne correspond à aucun nom de session, il sera traité comme une URI. Notez que la transmission d'identifiants URI intégrés 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 une URI) doit être définie dans la session nommée.
- Les autres paramètres seront pris à partir de la clé d'élément s'ils sont définis.
- Si un paramètre de clé d'élément (par exemple, password) est vide, le plugin recherchera le paramètre correspondant de 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.
- Si aucune de ces solutions ne fonctionne, 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.1:3306
Plugins.Mysql.Sessions.MySQL2.User=mysql2_user
Plugins.Mysql.Sessions.MySQL2.Password=different_password
À la suite de 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]
À la suite 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'un élément à 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]
En conséquence de 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 issu 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 être surveillées. Les connexions TCP et Unix-socket sont prises en charge.
Il est recommandé de configurer les plugins afin de conserver les connexions aux instances dans un état ouvert. Les avantages sont une réduction de la congestion réseau, de la latence, ainsi que de l'utilisation du CPU et de la mémoire grâce à un nombre plus faible de connexions. La bibliothèque cliente se charge de cela.
La période pendant laquelle les connexions inutilisées doivent rester ouvertes peut être déterminée par le paramètre Plugins.<PluginName>.KeepAlive. Exemple : Plugins.Memcached.KeepAlive