3 Agent 2
Aperçu
Zabbix agent 2 est une nouvelle génération de Zabbix agent, écrite en Go (avec une partie du code C réutilisée depuis Zabbix agent). Il est conçu pour :
- Réduire le nombre de connexions TCP.
- Offrir une concurrence des contrôles améliorée.
- Être facilement extensible avec des plugins, qui fournissent des contrôles simples avec un minimum de code et prennent en charge des contrôles complexes composés de scripts de longue durée d’exécution ainsi que la collecte autonome de données avec des rapports périodiques.
- Servir de remplacement à Zabbix agent, en prenant en charge toutes les fonctionnalités précédentes.
Vérifications passives et actives
Zabbix agent 2 prend en charge les vérifications passives et actives, de manière similaire à Zabbix agent. De plus, les vérifications actives de Zabbix agent 2 prennent en charge les intervalles flexibles/de planification et la concurrence des vérifications au sein d’un même serveur actif.
Par défaut, après un redémarrage, Zabbix agent 2 planifie la première collecte de données pour les vérifications actives à un moment aléatoire conditionnel
dans l’intervalle de mise à jour de l’élément afin d’éviter des pics d’utilisation des ressources. Pour exécuter immédiatement après le redémarrage de l’agent les vérifications actives qui n’ont pas d’intervalle de mise à jour Scheduling de planification,
définissez le paramètre ForceActiveChecksOnStart (au niveau global) ou Plugins.<Plugin name>.System.ForceActiveChecksOnStart (n’affecte que les vérifications du plugin spécifique)
dans le fichier de configuration. Le paramètre au niveau du plugin, s’il est défini, remplace le paramètre global.
Concurrence des vérifications
Les vérifications provenant de différents plugins peuvent être exécutées simultanément. Le nombre
de vérifications simultanées au sein d’un même plugin est limité par le paramètre de capacité
du plugin. Chaque plugin peut avoir un paramètre de capacité codé en dur (1000 étant la valeur
par défaut) qui peut être réduit à l’aide du paramètre Plugins.<PluginName>.System.Capacity=N dans le paramètre de configuration Plugins.
Plateformes prises en charge
Pour les plateformes prises en charge, consultez la page Requirements.
Agent 2 sur les systèmes de type UNIX
Zabbix agent 2 sur les systèmes de type UNIX s’exécute sur l’hôte surveillé.
Installation
Zabbix agent 2 peut être installé sur des systèmes basés sur Linux à l’aide de l’une des méthodes suivantes :
- Paquets Zabbix - sélectionnez le composant Agent 2 (après avoir sélectionné votre version de Zabbix, la distribution de votre système d’exploitation et la version du système d’exploitation), puis suivez les instructions.
- Sources Zabbix - téléchargez les fichiers source et compilez l’agent en le configurant avec l’option
--enable-agent2.
Les capacités de supervision de Zabbix agent 2 peuvent être étendues à l’aide de plugins chargeables, disponibles séparément. Pour plus de détails, consultez Plugins chargeables.
Si installé en tant que paquet
Zabbix agent 2 s’exécute comme un processus au premier plan et s’appuie sur un gestionnaire de services externe (par exemple, systemd) pour l’exécution en arrière-plan ; Zabbix agent 2 ne dispose pas d’une prise en charge intégrée de la démonisation sous Linux.
L’agent peut être démarré en exécutant :
systemctl start zabbix-agent2
Pour arrêter, redémarrer ou vérifier l’état de Zabbix agent 2, utilisez les commandes suivantes :
systemctl stop zabbix-agent2
systemctl restart zabbix-agent2
systemctl status zabbix-agent2
Démarrage manuel
Vous pouvez démarrer l'agent Zabbix en localisant le binaire zabbix_agent2 et en l'exécutant directement ; par exemple :
zabbix_agent2
Agent 2 sur les systèmes Windows
Zabbix agent 2 s’exécute comme un processus autonome ; cependant, il peut également être exécuté en tant que service Windows.
Installation
Zabbix agent 2 peut être installé sur Windows à l’aide de l’une des méthodes suivantes :
- Binaires précompilés de Zabbix agent - téléchargez le package d’installation MSI de l’agent et suivez les instructions de la page Installation de l’agent Windows à partir d’un MSI.
- Sources de Zabbix - téléchargez les fichiers source et suivez les instructions de la page Compilation de Zabbix agent 2 sous Windows.
Les capacités de supervision de Zabbix agent 2 peuvent être étendues à l’aide de plugins chargeables, disponibles séparément. Pour plus de détails, consultez Plugins chargeables.
Consultez la page Zabbix agent sur Microsoft Windows pour plus de détails sur l’installation de Zabbix agent 2 (à partir d’une archive ZIP) en tant que service Windows.
Options
Les paramètres de ligne de commande suivants peuvent être utilisés avec Zabbix agent 2 :
| Parameter | Description |
|---|---|
| Agent UNIX et Windows | |
| -c --config <config-file> | Chemin vers le fichier de configuration. Vous pouvez utiliser cette option pour spécifier un fichier de configuration différent de celui par défaut. Sur UNIX, la valeur par défaut est /usr/local/etc/zabbix_agent2.conf ou celle définie par les variables de compilation --sysconfdir ou --prefix Sur Windows, la valeur par défaut est C:\Program Files\Zabbix Agent 2\zabbix_agent2.conf |
| -f --foreground | Exécuter Zabbix agent au premier plan (par défaut : true). |
| -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). |
| -T --test-config | Valider le fichier de configuration et quitter. |
| -h --help | Afficher les informations d’aide et quitter. |
| -v --verbose | Afficher les informations de débogage. Utilisez 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> | Exécuter des fonctions administratives. Voir runtime control. |
| Agent Windows uniquement | |
| -m --multiple-agents | Utiliser plusieurs instances d’agent (avec les options -i, -d, -s, -x). Pour distinguer les noms de service des instances, chaque nom de service inclura la valeur Hostname du fichier de configuration spécifié. |
| -S --startup-type <value> | Définir le type de démarrage du service de l’agent Zabbix Windows. Valeurs autorisées :automatic - (par défaut) démarrer le service automatiquement au démarrage de Windows ;delayed - retarder le démarrage du service après la fin du démarrage des services lancés automatiquement ;manual - démarrer le service manuellement (par un utilisateur ou une application) ;disabled - désactiver le service, afin qu’il ne puisse pas être démarré par un utilisateur ou une application.Vous pouvez utiliser cette option avec l’option -i, ou séparément pour modifier le type de démarrage d’un service déjà installé. |
| -i --install | Installer l’agent Zabbix Windows en tant que service. |
| -d --uninstall | Désinstaller le service de l’agent Zabbix Windows. |
| -s --start | Démarrer le service de l’agent Zabbix Windows. |
| -x --stop | Arrêter le service de l’agent Zabbix Windows. |
Exemples spécifiques d’utilisation des paramètres de ligne de commande :
- afficher tous les éléments intégrés de l’agent avec leurs valeurs
- tester un paramètre utilisateur avec la clé "mysql.ping" définie dans le fichier de configuration spécifié
- installer un service "Zabbix Agent" pour Windows en utilisant le chemin par défaut vers le fichier de configuration C:\Program Files\Zabbix Agent 2\zabbix_agent2.conf
- modifier le type de démarrage d’un service "Zabbix Agent" installé pour Windows en utilisant le fichier de configuration zabbix_agent2.conf situé dans le même dossier que l’exécutable de l’agent
zabbix_agent2 --print
zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
zabbix_agent2.exe -i
zabbix_agent2.exe -c zabbix_agent2.conf -S delayed
Contrôle d’exécution
Le contrôle d’exécution fournit certaines options de 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 valeurs des options UserParameter et Include à partir du fichier de configuration actuel. |
| help | Afficher les informations d’aide sur le contrôle d’exécution. |
Exemples :
- augmentation du niveau de journalisation pour l’agent 2
- afficher les options de contrôle d’exécution
zabbix_agent2 -R log_level_increase
zabbix_agent2 -R help
Fichier de configuration
Les paramètres de configuration de l’agent 2 sont pour la plupart compatibles avec Zabbix agent, à 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 les contrôles actifs immédiatement après le redémarrage ou les répartir uniformément dans le temps. |
| 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, qui définit la limite du nombre de contrôles pouvant être exécutés en même temps. |
| StatusPort | Le port sur lequel l’agent 2 écoutera les requêtes d’état HTTP et affichera une liste des plugins configurés ainsi que certains paramètres internes |
| Paramètres supprimé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 était utilisé dans Zabbix agent pour augmenter la concurrence des contrôles passifs ou les désactiver. Dans l’agent 2, la concurrence est configurée au niveau du plugin et peut être limitée par un paramètre de capacité. |
Pour plus de détails, consultez les options du fichier de configuration pour zabbix_agent2.
Codes de sortie
Zabbix agent 2 peut également être compilé avec d’anciennes versions d’OpenSSL (1.0.1, 1.0.2).
Dans ce cas, Zabbix fournit des mutex pour le verrouillage dans OpenSSL. Si le verrouillage ou le déverrouillage d’un mutex échoue, un message d’erreur est affiché sur le flux d’erreur standard (STDERR) et Agent 2 se termine avec le code de retour 2 ou 3, respectivement.