This is a translation of the original English documentation page. Help us make it better.

3 Agent 2

Aperçu

L'agent Zabbix 2 est une nouvelle génération d'agent Zabbix et peut être utilisé à la place de l'agent Zabbix. L'agent Zabbix 2 a été développé pour :

  • réduire le nombre de connexions TCP
  • améliorer la simultanéité des vérifications
  • être facilement extensible avec des plugins. Un plugin doit être capable de :
    • fournir des vérifications triviales composées de quelques lignes de code simples
    • fournir des contrôles complexes consistant en des scripts de longue durée et une collecte de données autonome avec renvoi périodique des données
  • être un remplaçant direct de l'agent Zabbix (en ce sens qu'il prend en charge toutes les fonctionnalités précédentes)

L'agent 2 est écrit en langage de programmation Go (avec du code C de l'agent Zabbix réutilisé). Un environnement Go configuré avec une version Go actuellement prise en charge est requis pour créer l'agent Zabbix 2.

L'agent 2 n'a pas de prise en charge intégrée de la démonisation sous Linux ; il peut être exécuté en tant que service Windows.

Les vérifications passives fonctionnent de la même manière que l'agent Zabbix. Les vérifications actives prennent en charge les intervalles planifiés/flexibles et vérifient la simultanéité au sein d'un serveur actif.

Par défaut, l'agent Zabbix 2 planifiera la première collecte de données pour les vérifications actives à une heure conditionnellement aléatoire dans l'intervalle de mise à jour de l'élément pour éviter les pics d'utilisation des ressources. Pour effectuer des vérifications actives qui n'ont pas d'intervalle de mise à jour planifié immédiatement après le redémarrage de l'agent, définissez le paramètre ForceActiveChecksOnStart (niveau global) ou Plugins .<Plugin name>.System.ForceActiveChecksOnStart (affecte uniquement les vérifications de plugins spécifiques) dans le fichier de configuration. Le paramètre au niveau du plugin, s'il est défini, remplacera le paramètre global. Forcer les vérifications actives au démarrage est pris en charge depuis Zabbix 6.0.2.

Vérifier la simultanéité

Les vérifications de différents plugins peuvent être exécutées simultanément. Le nombre de vérifications simultanées dans un plugin est limité par le paramètre de capacité du plugin. Chaque plug-in peut avoir un paramètre de capacité codé en dur (100 étant la valeur par défaut) qui peut être réduit à l'aide du paramètre Plugins.<PluginName>.System.Capacity=N dans la configuration le paramètre Plugins. L'ancien nom de ce paramètre Plugins.<PluginName>.Capacity est toujours pris en charge, mais a été déprécié dans Zabbix 6.0.

Voir aussi : Directives de développement de plugins.

Passive and active checks

Passive checks work similarly to Zabbix agent. Active checks support scheduled/flexible intervals and check concurrency within one active server.

By default, after a restart, Zabbix agent 2 will schedule the first data collection for active checks at a conditionally random time within the item's update interval to prevent spikes in resource usage. To perform active checks that do not have Scheduling update interval immediately after the agent restart, set ForceActiveChecksOnStart parameter (global-level) or Plugins.<Plugin name>.System.ForceActiveChecksOnStart (affects only specific plugin checks) in the configuration file. Plugin-level parameter, if set, will override the global parameter. Forcing active checks on start is supported since Zabbix 6.0.2.

Check concurrency

Checks from different plugins can be executed concurrently. The number of concurrent checks within one plugin is limited by the plugin capacity setting. Each plugin may have a hardcoded capacity setting (100 being default) that can be lowered using the Plugins.<PluginName>.System.Capacity=N setting in the Plugins configuration parameter. Former name of this parameter Plugins.<PluginName>.Capacity is still supported, but has been deprecated in Zabbix 6.0.

Plates-formes prises en charge

L'agent Zabbix 2 est pris en charge pour les plates-formes suivantes.

Installation

L'agent Zabbix 2 est disponible dans des paquets Zabbix pré-compilés. Pour compiler l'agent Zabbix 2 à partir des sources, vous devez spécifier l'option de configuration --enable-agent2.

Options

Les paramètres de ligne de commande suivants peuvent être utilisés avec l'agent Zabbix 2 :

Paramètre Description
-c --config <config-file> Chemin d'accès au fichier de configuration.
Vous pouvez utiliser cette option pour spécifier un fichier de configuration qui n'est pas celui par défaut.
Sous UNIX, la valeur par défaut est /usr/local/etc/zabbix_agent2.conf ou tel que défini par les variables compile-time --sysconfdir ou --prefix
-f --foreground Exécuter l'agent Zabbix au premier plan (par défaut : vrai).
-p --print Afficher les éléments connus et quitter.
Remarque : Pour renvoyer également les résultats des paramètres utilisateur, vous devez spécifier le fichier de configuration (s'il ne se trouve pas à l'emplacement par défaut).
-t --test <item key> Tester l'élément spécifié et quitter.
Remarque : Pour renvoyer également les résultats des paramètres utilisateur, vous devez spécifier le fichier de configuration (s'il ne se trouve pas à l'emplacement par défaut).
-h --help Afficher les informations d'aide et quitter.
-v --verbose Afficher les informations de débogage. Utiliser cette option avec les options -p et -t.
-V --version Afficher la version de l'agent et les informations de licence.
-R --runtime-control <option> Effectuer des fonctions administratives. Voir contrôle d'exécution.

Exemples spécifiques d'utilisation de paramètres de ligne de commande :

  • afficher tous les éléments d'agent intégrés avec leurs valeurs
  • tester un paramètre utilisateur avec la clé "mysql.ping" définie dans le fichier de configuration spécifié
shell> zabbix_agent2 --print
       shell> zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
Contrôle d'exécution

Le contrôle d'exécution fournit quelques options pour le contrôle à distance.

Option Description
log_level_increase Augmenter le niveau de journalisation.
log_level_decrease Diminuer le niveau de journalisation.
metrics Lister les métriques disponibles.
version Afficher la version de l'agent.
userparameter_reload Recharger les paramètres utilisateur à partir du fichier de configuration actuel.
Notez que UserParameter est la seule option de configuration de l'agent qui sera rechargée.
help Afficher les informations d'aide sur le contrôle d'exécution.

Exemples :

  • augmentation du niveau de journalisation pour l'agent 2
  • affichage des options de contrôle d'exécution
shell> zabbix_agent2 -R log_level_increase
       shell> zabbix_agent2 -R help

Fichier de configuration

Les paramètres de configuration de l'agent 2 sont pour la plupart compatibles avec l'agent Zabbix à quelques exceptions près.

Nouveaux paramètres Description
ControlSocket Le chemin du socket de contrôle d'exécution. L'agent 2 utilise un socket de contrôle pour les commandes d'exécution.
EnablePersistentBuffer,
PersistentBufferFile,
PersistentBufferPeriod
Ces paramètres sont utilisés pour configurer le stockage persistant sur l'agent 2 pour les éléments actifs.
ForceActiveChecksOnStart Détermine si l'agent doit effectuer des vérifications actives immédiatement après le redémarrage ou réparties uniformément dans le temps. Pris en charge depuis Zabbix 6.0.2.
Plugins Les plugins peuvent avoir leurs propres paramètres, au format Plugins.<Plugin name>.<Parameter>=<value>. Un paramètre de plugin courant est System.Capacity, définissant la limite des vérifications pouvant être exécutées en même temps.
StatusPort L'agent de port 2 écoutera la demande d'état HTTP et affichera une liste de plugins configurés et certains paramètres internes
Paramètres abandonnés Description
AllowRoot,User Non pris en charge car la démonisation n'est pas prise en charge.
LoadModule,LoadModulePath Les modules chargeables ne sont pas pris en charge.
StartAgents Ce paramètre a été utilisé dans l'agent Zabbix pour augmenter la simultanéité des vérifications passives ou pour les désactiver. Dans l'agent 2, la simultanéité est configurée au niveau du plug-in et peut être limitée par un paramètre de capacité. Alors que la désactivation des vérifications passives n'est actuellement pas prise en charge.
HostInterface,HostInterfaceItem Pas encore pris en charge.

Pour plus de détails, consultez les options du fichier de configuration pour zabbix_agent2.

Codes de sortie

À partir de la version 4.4.8, l'agent Zabbix 2 peut également être compilé avec les anciennes versions d'OpenSSL (1.0.1, 1.0.2).

Dans ce cas, Zabbix fournit des mutex pour le verrouillage dans OpenSSL. Si un verrouillage ou un déverrouillage mutex échoue, un message d'erreur est écrit dans le flux d'erreurs standard (STDERR) et l'agent 2 quitte avec le code de retour 2 ou 3, respectivement.