[comment]: # ({d60be363-d60be363})
# 3 Agent 2

[comment]: # ({/d60be363-d60be363})

[comment]: # ({72fba9e6-734dc3ed})
#### Vue d'ensemble

Zabbix agent 2 est une nouvelle génération de [Zabbix agent](/manual/concepts/agent), écrite en Go (avec du code C réutilisé de Zabbix agent).
Il est conçu pour :

-   Réduire le nombre de connexions TCP ;
-   Offrir une meilleure [concurrence des vérifications](#check-concurrency) ;
-   Être facilement extensible avec des [plugins](/manual/extensions/plugins), qui fournissent des vérifications simples avec un code minimal et prennent en charge des vérifications complexes composées de scripts de longue durée et de 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.

Toutes les métriques prises en charge par Zabbix agent 2 sont collectées par des plugins.

[comment]: # ({/72fba9e6-734dc3ed})

[comment]: # ({c03d41e5-eaa0f2bb})
##### Vérifications passives et actives

Zabbix agent 2 prend en charge les [vérifications passives et actives](/manual/concepts/agent#passive-and-active-checks), de la même manière que Zabbix agent.
De plus, les vérifications actives de Zabbix agent 2 prennent en charge les [intervalles flexibles/de planification](/manual/config/items/item/custom_intervals) et la [concurrence des vérifications](#check-concurrency) au sein d'un même serveur actif.

::: noteclassic
Par défaut, après un redémarrage, Zabbix agent 2 planifiera la première collecte de données pour les vérifications actives à un moment aléatoire conditionnellement, dans l'intervalle de mise à jour de l'élément, afin d'éviter des pics d'utilisation des ressources.
Pour exécuter immédiatement les vérifications actives qui ne disposent pas d'un [intervalle de mise à jour](/manual/config/items/item/custom_intervals#scheduling-intervals) *Scheduling* après le redémarrage de l'agent, définissez le paramètre `ForceActiveChecksOnStart` (au niveau global) ou `Plugins.<Plugin name>.System.ForceActiveChecksOnStart` (n'affecte que les vérifications de plugins spécifiques) dans le [fichier de configuration](/manual/appendix/config/zabbix_agent2).
Si le paramètre au niveau du plugin est défini, il remplacera le paramètre global.
:::

[comment]: # ({/c03d41e5-eaa0f2bb})

[comment]: # ({c777f783-05ea1336})
##### 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 la configuration `Plugins` [parameter](#configuration-file).

[comment]: # ({/c777f783-05ea1336})

[comment]: # ({ec9f8f5e-a2064519})
#### Plateformes prises en charge

Pour les plateformes prises en charge, consultez la page [Requirements](/manual/installation/requirements#supported-platforms).

[comment]: # ({/ec9f8f5e-a2064519})

[comment]: # ({138e3f53-72764340})
#### 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é.

[comment]: # ({/138e3f53-72764340})

[comment]: # ({6910e45e-cabc0f5f})
##### 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](https://www.zabbix.com/download?zabbix=7.4) - sélectionnez le composant Agent 2 (après avoir choisi votre version de Zabbix, la distribution OS et la version OS), puis suivez les instructions ;
-   [Sources Zabbix](https://www.zabbix.com/download_sources#74) - téléchargez les fichiers source et compilez l'agent en [configurant](/manual/installation/install#configure-the-sources) avec l'option `--enable-agent2`.

::: noteclassic
Les capacités de surveillance de Zabbix agent 2 peuvent être étendues à l'aide de plugins chargeables, disponibles séparément.
Pour plus de détails, consultez [Plugins chargeables](/manual/extensions/plugins#loadable-plugins).
:::

[comment]: # ({/6910e45e-cabc0f5f})

[comment]: # ({f46eec4a-710d239c})
##### Si installé en tant que paquet

Zabbix agent 2 s'exécute en tant que 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 mise en arrière-plan en tant que démon sous Linux.

L'agent peut être démarré en exécutant :

```bash
systemctl start zabbix-agent2
```

Pour arrêter, redémarrer ou vérifier l'état de Zabbix agent 2, utilisez les commandes suivantes :

```bash
systemctl stop zabbix-agent2
systemctl restart zabbix-agent2
systemctl status zabbix-agent2
```

[comment]: # ({/f46eec4a-710d239c})

[comment]: # ({d6099b39-87c53fa7})
##### Démarrer manuellement

Vous pouvez démarrer l'agent Zabbix en localisant le binaire `zabbix_agent2` et en l'exécutant directement ; par exemple :

```bash
zabbix_agent2
```

[comment]: # ({/d6099b39-87c53fa7})

[comment]: # ({27b40128-466bb9c2})
#### 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.

[comment]: # ({/27b40128-466bb9c2})

[comment]: # ({60f78e08-214485f8})
##### Installation

Zabbix agent 2 peut être installé sur Windows à l'aide de l'une des méthodes suivantes :

-   [Binaires Zabbix agent précompilés](https://www.zabbix.com/download_agents?version=7.4) - 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](/manual/installation/install_from_packages/win_msi) ;
-   [Sources Zabbix](https://www.zabbix.com/download_sources#74) - téléchargez les fichiers sources et suivez les instructions de la page [Compilation de Zabbix agent 2 sur Windows](/manual/installation/install/building_zabbix_agent_2_on_windows).

::: noteclassic
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](/manual/extensions/plugins#loadable-plugins).
:::

Consultez la page [Zabbix agent sur Microsoft Windows](/manual/appendix/install/windows_agent#installing-agent-as-windows-service) pour plus de détails sur l'installation de Zabbix agent 2 (à partir d'une archive ZIP) en tant que service Windows.

[comment]: # ({/60f78e08-214485f8})

[comment]: # ({b596fdca-45c02f12})
#### Options

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

|Parameter|Description|
|--|--------|
|**UNIX and Windows agent**|<|
|`-c --config <config-file>`|Chemin vers le [fichier de configuration](/manual/concepts/agent2#configuration-file).<br>Vous pouvez utiliser cette option pour spécifier un fichier de configuration qui n'est pas celui par défaut.|
|`-f --foreground`|Exécuter Zabbix agent au premier plan (par défaut: true).|
|`-p --print`|Afficher les éléments connus et quitter.<br>Notez que pour renvoyer également les résultats des [paramètres utilisateur](/manual/config/items/userparameters), 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.<br>Notez que pour renvoyer également les résultats des [paramètres utilisateur](/manual/config/items/userparameters), 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 d'administration. Voir [runtime control](/manual/concepts/agent2#runtime-control).|
|**Windows agent only**|<|
|`-m --multiple-agents`|Utiliser plusieurs instances d'agent (avec les options `-i`, `-d`, `-s`, `-x`).<br>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 Zabbix agent Windows. Valeurs autorisées :<br>`automatic` - *(par défaut)* démarrer le service automatiquement au démarrage de Windows;<br>`delayed` - retarder le démarrage du service jusqu'à ce que les services démarrés automatiquement aient terminé leur démarrage;<br>`manual` - démarrer le service manuellement (par un utilisateur ou une application);<br>`disabled` - désactiver le service, afin qu'il ne puisse pas être démarré par un utilisateur ou une application.<br>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 Zabbix agent Windows en tant que service.|
|`-d --uninstall`|Désinstaller le service Zabbix agent Windows.|
|`-s --start`|Démarrer le service Zabbix agent Windows.|
|`-x --stop`|Arrêter le service Zabbix agent 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.

```bash
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
```

[comment]: # ({/b596fdca-45c02f12})

[comment]: # ({76f056ab-11aa0de0})
##### Contrôle à l'exécution

Le contrôle à l'exécution fournit plusieurs 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 valeurs des options `UserParameter` et `Include` à partir du fichier de configuration actuel.|
|`help`|Afficher les informations d'aide sur le contrôle à l'exécution.|

Exemples :

-   Augmenter le niveau de journalisation pour l'agent 2.
-   Afficher les options de contrôle à l'exécution.

```bash
zabbix_agent2 -R log_level_increase
zabbix_agent2 -R help
```

Depuis Zabbix 7.4.1, les commandes de contrôle à l'exécution de l'agent 2 écrivent la sortie dans `stdout` (sortie standard) au lieu de `stderr` (sortie d'erreur standard).

[comment]: # ({/76f056ab-11aa0de0})

[comment]: # ({2d620e96-77e9b590})
#### Fichier de configuration

Le chemin par défaut du fichier de configuration est le suivant :

-   Sous UNIX, la valeur par défaut est `/usr/local/etc/zabbix_agent2.conf` ou celle définie par les variables de [compilation](/manual/installation/install#configure-the-sources) `--sysconfdir` ou `--prefix`.
-   Sous Windows, la valeur par défaut est `C:\\Program Files\\Zabbix Agent 2\\zabbix_agent2.conf`.

Si une seule instance de l'agent s'exécute sur un hôte, elle peut utiliser le fichier de configuration par défaut ou un fichier de configuration spécifié sur la [ligne de commande](/manual/concepts/agent2#options).
En cas de plusieurs instances, chaque instance d'agent doit avoir son propre fichier de configuration (l'une des instances peut utiliser le fichier de configuration par défaut).

Les paramètres de configuration de Zabbix agent 2 correspondent en grande partie à ceux de Zabbix agent, avec quelques exceptions :

|Parameters|<|Description|
|-|---------|----------|
|Paramètres de configuration spécifiques à Zabbix agent 2|<|<|
| |`ControlSocket`|Le chemin du socket de contrôle à l'exécution. Zabbix agent 2 utilise un socket de contrôle pour les [commandes à l'exécution](#runtime-control).|
| |`EnablePersistentBuffer`,<br>`PersistentBufferFile`,<br>`PersistentBufferPeriod`|Ces paramètres servent à configurer le stockage persistant sur Zabbix agent 2 pour les éléments actifs.|
| |`ForceActiveChecksOnStart`|Détermine si l'agent doit effectuer les vérifications actives 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.<Nom du plugin>.<Paramètre>=<valeur>`. Un paramètre courant de plugin est `System.Capacity`, qui définit la limite du nombre de vérifications pouvant être exécutées simultanément.|
| |`StatusPort`|Le port sur lequel Zabbix agent 2 écoutera les requêtes HTTP de statut et l'affichage de la liste des plugins configurés ainsi que de certains paramètres internes.|
|Paramètres de configuration spécifiques à Zabbix agent non pris en charge sur Zabbix agent 2|<|<|
| |`AllowRoot`,<br>`User`|Non pris en charge sur Zabbix agent 2 car il ne prend pas en charge la mise en arrière-plan en tant que démon.|
| |`EnableRemoteCommands`|Obsolète ; les paramètres `AllowKey` et `DenyKey` sont utilisés à la place dans les deux agents.|
| |`ListenBacklog`|Utilisé dans Zabbix agent pour définir le nombre maximal de connexions en attente dans la file TCP. Non pris en charge sur Zabbix agent 2.|
| |`LoadModule`,<br>`LoadModulePath`|Les modules chargeables ne sont pas pris en charge sur Zabbix agent 2.|
| |`MaxLinesPerSecond`,<br>`LogRemoteCommands`|Dans Zabbix agent 2, `Plugins.Log.MaxLinesPerSecond` et `Plugins.SystemRun.LogRemoteCommands` sont utilisés à la place.|
| |`StartAgents`|Ce paramètre est utilisé dans Zabbix agent pour augmenter la concurrence des vérifications passives ou les désactiver. Dans Zabbix agent 2, la concurrence est configurée au niveau du plugin et peut être limitée par un paramètre de capacité. Les vérifications passives sont désactivées dans Zabbix Agent 2 si le paramètre `Server` n'est pas spécifié.|

Pour plus de détails, consultez les options du fichier de configuration de [Zabbix agent2](/manual/appendix/config/zabbix_agent2).

[comment]: # ({/2d620e96-77e9b590})

[comment]: # ({76a6838b-472820ac})
#### Codes de sortie

Zabbix agent 2 peut également être compilé avec des versions plus anciennes 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.

[comment]: # ({/76a6838b-472820ac})
