[comment]: # ({1c2455b7-1c2455b7})
# 2 Enregistrement automatique d'agent actif

[comment]: # ({/1c2455b7-1c2455b7})

[comment]: # ({53523aad-81edbbe2})
#### Aperçu

Il est possible d’autoriser l’enregistrement automatique des Zabbix agent actifs, après quoi le serveur peut commencer à les surveiller.
De cette façon, de nouveaux hôtes peuvent être ajoutés à la supervision sans les configurer manuellement sur le serveur.

L’enregistrement automatique peut se produire lorsqu’un agent actif auparavant inconnu demande des contrôles.

Cette fonctionnalité peut être très pratique pour la supervision automatique de nouveaux nœuds Cloud.
Dès que vous avez un nouveau nœud dans le Cloud, Zabbix commencera automatiquement à collecter les données de performance et de disponibilité de l’hôte.

L’enregistrement automatique des agent actifs prend également en charge la supervision des hôtes ajoutés avec des contrôles passifs.
Lorsque l’agent actif demande des contrôles, à condition que les paramètres de configuration [`ListenIP`](/manual/appendix/config/zabbix_agentd?hl=ListenIP#listenip) ou [`ListenPort`](/manual/appendix/config/zabbix_agentd?hl=ListenIP#listenport) soient définis dans le fichier de configuration, ils sont également envoyés au serveur.
Si plusieurs adresses IP sont spécifiées, la première est envoyée au serveur.

Lors de l’ajout du nouvel hôte enregistré automatiquement, le serveur utilise l’adresse IP et le port reçus pour configurer l’agent.
Si aucune valeur d’adresse IP n’est reçue, celle utilisée pour la connexion entrante est utilisée.
Si aucune valeur de port n’est reçue, 10050 est utilisé.

Il est possible de spécifier que l’hôte doit être enregistré automatiquement avec un [nom DNS](#using-dns-as-default-interface) comme interface agent par défaut.

L’enregistrement automatique est relancé :

-   si les informations de [métadonnées](#using-host-metadata) de l’hôte changent :
    -   en raison d’une modification de HostMetadata et d’un redémarrage de l’agent
    -   en raison d’un changement de la valeur renvoyée par HostMetadataItem
-   pour les hôtes créés manuellement sans métadonnées
-   si un hôte est modifié manuellement pour être supervisé par un autre Zabbix proxy
-   si l’enregistrement automatique du même hôte provient d’un nouveau Zabbix proxy

L’intervalle de pulsation de l’enregistrement automatique de l’agent actif pour le serveur Zabbix et le Zabbix proxy est de 120 secondes.
Ainsi, si un hôte découvert est supprimé, l’enregistrement automatique sera relancé dans 120 secondes.

[comment]: # ({/53523aad-81edbbe2})

[comment]: # ({5d32b87c-5d32b87c})
#### Configuration

[comment]: # ({/5d32b87c-5d32b87c})

[comment]: # ({9340f4a0-bf3762f0})
##### Spécifier le serveur

Assurez-vous que le serveur Zabbix est identifié dans le [fichier de configuration](/manual/appendix/config/zabbix_agentd) de l'agent - `zabbix_agentd.conf` :

```ini
ServerActive=10.0.0.1
```

À moins que vous ne définissiez explicitement un *Hostname* dans `zabbix_agentd.conf`, le nom d'hôte système de l'emplacement de l'agent sera utilisé par le serveur pour nommer l'hôte.
Le nom d'hôte système sous Linux peut être obtenu en exécutant la commande `hostname`.

Si *Hostname* est défini dans la configuration de l'agent Zabbix comme une liste d'hôtes séparés par des virgules, des hôtes seront créés pour tous les noms d'hôte répertoriés.

Redémarrez l'agent après avoir apporté des modifications au fichier de configuration.

[comment]: # ({/9340f4a0-bf3762f0})

[comment]: # ({04e44cd6-7b103292})
##### Action pour l'autenregistrement de l'agent actif

Lorsque le serveur reçoit une demande d'autenregistrement d'un agent, il appelle une [action](/manual/config/notifications/action).
Une action dont la source d'événement est "Autoregistration" doit être configurée pour l'autenregistrement de l'agent.

::: noteclassic
La configuration de la [découverte réseau](network_discovery) n'est pas requise pour que les agents actifs s'autenregistrent.
:::

Dans l'interface Zabbix, allez dans *Alerts → Actions*, sélectionnez *Autoregistration actions* et cliquez sur *Create action* :

-   Dans l'onglet Action, donnez un nom à votre action
-   Facultativement, spécifiez des [conditions](/manual/config/notifications/action/conditions#autoregistration-actions).
Vous pouvez effectuer une correspondance de sous-chaîne ou une correspondance par expression régulière dans les conditions pour le nom d'hôte/métadonnées d'hôte.
Si vous allez utiliser la condition "Host metadata", consultez la section suivante.
-   Dans l'onglet Operations, ajoutez les opérations pertinentes, telles que - 'Add host', 'Add to host group' (par exemple, *Discovered hosts*), 'Link templates', etc.

::: notetip
Si les hôtes qui vont s'autenregistrer ne sont susceptibles d'être pris en charge qu'en surveillance active uniquement (par exemple, des hôtes protégés par un pare-feu depuis votre serveur Zabbix), vous pouvez alors vouloir créer un modèle spécifique comme *Template\_Linux-active* à lier.
:::

Les hôtes créés sont ajoutés au groupe *Discovered hosts* (par défaut, configurable dans *Administration* > *General* > *[Other](/manual/web_interface/frontend_sections/administration/general#other-parameters)*).
Si vous souhaitez que les hôtes soient ajoutés à un autre groupe, ajoutez une opération *Remove from host group* (en spécifiant "Discovered hosts") et ajoutez également une opération *Add to host group* (en spécifiant un autre groupe d'hôtes), car un hôte doit appartenir à un groupe d'hôtes.

[comment]: # ({/04e44cd6-7b103292})

[comment]: # ({96641bd1-66cac4ef})
#### Autorenregistrement sécurisé

Une méthode sécurisée d’autorenregistrement est possible en configurant une authentification basée sur PSK avec des connexions chiffrées.

Le niveau de chiffrement est configuré globalement dans *Administration* >
*Général* > *[Autorenregistrement](/manual/web_interface/frontend_sections/administration/general#autoregistration)*.
Il est possible de sélectionner l’absence de chiffrement, le chiffrement TLS avec authentification PSK, ou les deux (afin que certains hôtes puissent s’enregistrer sans chiffrement tandis que d’autres le fassent via un chiffrement).

L’authentification par PSK est vérifiée par le serveur Zabbix avant l’ajout d’un hôte.
Si elle réussit, l’hôte est ajouté et *[Connexions depuis/vers l’hôte](/manual/config/hosts/host#encryption)* sont définies sur « PSK » uniquement, avec une identité/clé pré-partagée identique à celle du paramètre global d’autorenregistrement.

::: noteimportant
Pour garantir la sécurité de l’autorenregistrement sur les installations utilisant des proxys, le chiffrement entre le serveur Zabbix et le proxy doit être activé.
:::

[comment]: # ({/96641bd1-66cac4ef})

[comment]: # ({6f85d554-9c275675})
#### Utilisation de DNS comme interface par défaut

HostInterface et HostInterfaceItem [paramètres de configuration](/manual/appendix/config/zabbix_agentd) permettent de spécifier une valeur personnalisée pour l'interface de l'hôte lors de l'autodéclaration.

Plus précisément, ils sont utiles si l'hôte doit être autodéclaré avec un nom DNS comme interface agent par défaut plutôt qu'avec son adresse IP.
Dans ce cas, le nom DNS doit être spécifié ou renvoyé comme valeur de l'un des paramètres HostInterface ou HostInterfaceItem.
Si la valeur de l'un de ces paramètres change, par exemple d'une adresse IP à un nom DNS ou inversement, l'interface par défaut de l'hôte autodéclaré sera mise à jour en conséquence.
Cette mise à jour est appliquée à l'hôte existant, et non en en créant un nouveau.
Pour envoyer la nouvelle valeur, l'agent doit être redémarré afin de relancer le processus d'autodéclaration.

::: noteclassic
Si les paramètres HostInterface ou HostInterfaceItem ne sont pas configurés, le paramètre listen\_dns est utilisé à la place.
Cette valeur est déterminée en effectuant une recherche DNS inverse de l'adresse IP de l'agent.
Si le DNS inverse n'est pas correctement configuré ou renvoie un nom invalide, cela peut entraîner une autodéclaration incorrecte ou échouée en raison d'une valeur d'interface invalide.
:::

[comment]: # ({/6f85d554-9c275675})

[comment]: # ({32a8b833-af247ed6})
#### Utilisation des métadonnées d'hôte

Lorsque l'agent envoie une requête d'autodéclaration au serveur, il transmet son nom d'hôte.
Dans certains cas (par exemple, les nœuds cloud Amazon), un nom d'hôte ne suffit pas pour que le serveur Zabbix différencie les hôtes découverts.
Les métadonnées d'hôte peuvent être utilisées en option pour envoyer d'autres informations d'un agent au serveur.

Les métadonnées d'hôte sont configurées dans le [fichier de configuration](/manual/appendix/config/zabbix_agentd) de l'agent - `zabbix_agentd.conf`.
Il existe 2 façons de spécifier les métadonnées d'hôte dans le fichier de configuration :

```ini
HostMetadata
HostMetadataItem
```

Consultez la description des options dans le lien ci-dessus.

Le paramètre HostMetadataItem peut renvoyer jusqu'à 65535 points de code UTF-8.
Une valeur plus longue sera tronquée.

Notez que sur MySQL, la longueur maximale effective en caractères sera plus faible si la valeur renvoyée contient des caractères multioctets.
Par exemple, une valeur contenant uniquement des caractères sur 3 octets sera limitée à 21844 caractères au total, tandis qu'une valeur contenant uniquement des caractères sur 4 octets sera limitée à 16383 symboles.

::: noteimportant
Une tentative d'autodéclaration se produit chaque fois qu'un agent actif envoie une requête de rafraîchissement des vérifications actives au serveur.
Le délai entre les requêtes est spécifié dans le paramètre [RefreshActiveChecks](/manual/appendix/config/zabbix_agentd) de l'agent.
La première requête est envoyée immédiatement après le redémarrage de l'agent.
:::

[comment]: # ({/32a8b833-af247ed6})

[comment]: # ({4c860844-e2de662b})
#### Exemples

[comment]: # ({/4c860844-e2de662b})

[comment]: # ({30b1e8da-070aaeb4})
##### Enregistrement automatique par OS à l’aide de HostMetadata

Supposons que vous souhaitiez que les hôtes soient enregistrés automatiquement par le serveur Zabbix.
Vous disposez d’agents Zabbix actifs (voir la section « Configuration » ci-dessus) sur votre réseau.
Il y a des hôtes Windows et des hôtes Linux sur votre réseau, et vous avez les modèles « Linux by Zabbix agent » et « Windows by Zabbix agent » disponibles dans votre interface Zabbix.
Ainsi, lors de l’enregistrement de l’hôte, vous souhaitez que le modèle Linux/Windows approprié soit appliqué à l’hôte en cours d’enregistrement.
Par défaut, seul le nom d’hôte est envoyé au serveur lors de l’enregistrement automatique, ce qui peut ne pas être suffisant.
Afin de vous assurer que le modèle approprié est appliqué à l’hôte, vous devez utiliser les métadonnées de l’hôte.

[comment]: # ({/30b1e8da-070aaeb4})

[comment]: # ({e73b011d-9543f562})
**Configuration du frontend**

La première chose à faire est de configurer le frontend.
Créez 2 actions.
La première action :

-   Nom : Autorenregistrement de l'hôte Linux
-   Conditions : Les métadonnées de l'hôte contiennent *Linux*
-   Opérations : Lier les modèles : Linux by Zabbix agent

::: noteclassic
Vous pouvez ignorer une opération « Add host » dans ce cas.
Lier un modèle à un hôte nécessite d'abord l'ajout de l'hôte ; le serveur le fera donc automatiquement.
:::

La deuxième action :

-   Nom : Autorenregistrement de l'hôte Windows
-   Conditions : Les métadonnées de l'hôte contiennent *Windows*
-   Opérations : Lier les modèles : Windows by Zabbix agent

[comment]: # ({/e73b011d-9543f562})

[comment]: # ({5c00417a-110dbc2b})
**Configuration de l’agent**

Vous devez maintenant configurer les agents.
Ajoutez la ligne suivante aux fichiers de configuration de l’agent :

```ini
HostMetadataItem=system.uname
```

De cette façon, vous vous assurez que les métadonnées de l’hôte contiendront « Linux » ou « Windows » selon l’hôte sur lequel un agent s’exécute.
Voici un exemple de métadonnées d’hôte dans ce cas :

```default
Linux: Linux server3 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/Linux
Windows: Windows WIN-0PXGGSTYNHO 6.0.6001 Windows Server 2008 Service Pack 1 Intel IA-32
```

N’oubliez pas de redémarrer l’agent après avoir apporté des modifications au fichier de configuration.

[comment]: # ({/5c00417a-110dbc2b})

[comment]: # ({4906ecf5-85f695d6})
##### Utilisation de HostMetadata pour contrôler l’autorégistration et les modèles

[comment]: # ({/4906ecf5-85f695d6})

[comment]: # ({ccdb1681-c5ffa817})
***Étape 1 - Protéger l’enregistrement avec HostMetadata***

Utilisez les métadonnées d’hôte pour offrir une protection de base contre l’enregistrement d’hôtes indésirables.

[comment]: # ({/ccdb1681-c5ffa817})

[comment]: # ({7cbf997b-c9e24581})
**Configuration du frontend**

Créez une action dans le frontend en utilisant un code secret difficile à deviner afin d’empêcher les hôtes indésirables :

-   Nom : Action d’autorégistration Linux
-   Conditions :
    - Type de calcul : AND
    - Condition (A) : Les métadonnées de l’hôte contiennent //Linux//
    - Condition (B) : Les métadonnées de l’hôte contiennent //21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae//
-   Opérations : 
    - Envoyer un message aux utilisateurs : Admin via tous les médias
    - Ajouter aux groupes d’hôtes : Serveurs Linux
    - Lier les modèles : Linux by Zabbix agent

Veuillez noter que cette méthode seule n’offre pas une protection forte, car les données sont transmises en texte brut.
Un rechargement du cache de configuration est nécessaire pour que les modifications prennent effet immédiatement.

[comment]: # ({/7cbf997b-c9e24581})

[comment]: # ({498ec3de-9fca761d})
**Configuration de l'agent**

Ajoutez la ligne suivante au fichier de configuration de l'agent :

```ini
HostMetadata=Linux    21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae
```

où « Linux » est une plateforme, et le reste de la chaîne est le texte secret difficile à deviner.

N'oubliez pas de redémarrer l'agent après avoir apporté des modifications au fichier de configuration.

[comment]: # ({/498ec3de-9fca761d})

[comment]: # ({60f2763f-c93c8a99})
***Étape 2 - Ajouter un modèle à l’hôte enregistré***

Il est possible d’ajouter des modèles supplémentaires à un hôte déjà enregistré.
Dans ce cas, le modèle MySQL by Zabbix agent sera lié uniquement aux hôtes dont le HostMetadata contient le jeton `MySQL`.

[comment]: # ({/60f2763f-c93c8a99})

[comment]: # ({f0fc5068-6eb51339})
**Configuration du frontend**

Mettez à jour l’action dans le frontend :

-   Nom : Action d’autorégistration Linux
-   Conditions :
    - Type de calcul : AND
    - Condition (A) : Les métadonnées de l’hôte contiennent Linux
    - Condition (B) : Les métadonnées de l’hôte contiennent 21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae
    - Condition (C) : Les métadonnées de l’hôte contiennent MySQL
-   Opérations :
    - Envoyer un message aux utilisateurs : Admin via tous les médias
    - Ajouter aux groupes d’hôtes : Serveurs Linux
    - Lier les modèles : Linux by Zabbix agent
    - Lier les modèles : MySQL by Zabbix Agent

[comment]: # ({/f0fc5068-6eb51339})

[comment]: # ({c0627a72-15c86816})
**Configuration de l’agent**

Mettez à jour la ligne suivante dans le fichier de configuration de l’agent :

```ini
HostMetadata=MySQL on Linux 21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae
```

N’oubliez pas de redémarrer l’agent après avoir apporté des modifications au fichier de configuration.

[comment]: # ({/c0627a72-15c86816})
