Il est possible d'autoriser l'enregistrement automatique d'agents Zabbix actifs, après quoi le serveur pourra commencer à les surveiller. De cette façon, de nouveaux hôtes peuvent être ajoutés pour la surveillance sans les configurer manuellement sur le serveur.
L'enregistrement automatique peut se produire lorsqu'un agent actif précédemment inconnu demande des vérifications.
Cette fonctionnalité peut s'avérer 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 lance automatiquement la collecte des données de performance et de disponibilité de l'hôte.
L'enregistrement automatique des agents actifs prend également en charge la surveillance des hôtes ajoutés avec des vérifications passives. Lorsque l'agent actif demande des vérifications, à condition qu'il dispose des paramètres de configuration 'ListenIP' ou 'ListenPort' définis dans le fichier de configuration, celles-ci sont envoyées au serveur. (Si plusieurs adresses IP sont spécifiées, la première est envoyée au serveur.)
Le serveur, lors de l'ajout du nouvel hôte enregistré automatiquement, 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 comme interface d'agent par défaut.
L'enregistrement automatique est relancé :
Assurez-vous que le serveur Zabbix est identifié dans le fichier de configuration de l'agent - zabbix_agentd.conf.
ServerActive=10.0.0.1
Sauf si vous définissez spécifiquement un Hostname dans zabbix_agentd.conf, le nom d'hôte système 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'.
Redémarrez l'agent après avoir apporté des modifications au fichier de configuration.
Lorsque le serveur reçoit une demande d'enregistrement automatique d'un agent, il appelle une action. Une action de la source d'événement "Enregistrement automatique" doit être configurée pour l'enregistrement automatique de l'agent.
La configuration de la découverte du réseau n'est pas obligatoire pour que les agents actifs soient automatiquement enregistrés.
Dans l'interface Zabbix, sélectionnez Configuration → Actions, sélectionnez Enregistrement automatique comme source d'événement et cliquez sur Créer une action :
Si les hôtes à enregistrer automatiquement ne doivent être pris en charge que pour la surveillance active (tels que les hôtes protégés par un pare-feu depuis votre serveur Zabbix), vous devriez peut-être créer un modèle spécifique Template_Linux-active auquel les associer.
Les hôtes créés sont ajoutés au groupe Discovered hosts (par défaut, configurable dans Administration → Général → Autre). Si vous souhaitez que des hôtes soient ajoutés à un autre groupe, ajoutez une opération Supprimer du groupe d'hôtes (en spécifiant "Discovered hosts") et ajoutez également une opération Ajouter au groupe d'hôtes (spécifiant un autre groupe d'hôtes), car un hôte doit appartenir à un groupe d'hôtes.
Un moyen sécurisé d'enregistrement automatique est possible en configurant l'authentification basée sur PSK avec des connexions cryptées.
Le niveau de cryptage est configuré globalement dans Administration → Général, dans la section Enregistrement automatique accessible via le menu déroulant à droite. Il est possible de ne sélectionner aucun cryptage, un cryptage TLS avec authentification PSK ou les deux (afin que certains hôtes puissent s'enregistrer sans cryptage tandis que d'autres par cryptage).
L'authentification par PSK est vérifiée par le serveur Zabbix avant d'ajouter un hôte. En cas de succès, l'hôte est ajouté et Connexions depuis/vers l'hôte sont définis sur 'PSK' uniquement avec l'identité/la clé pré-partagée identique à celle du paramètre de l'enregistrement automatique global.
Pour garantir la sécurité de l'enregistrement automatique sur les installations utilisant des proxys, le chiffrement entre le serveur Zabbix et le proxy doit être activé.
Les paramètres de configuration HostInterface et HostInterfaceItem permettent de spécifier une valeur personnalisée pour l'interface hôte lors de l'enregistrement automatique.
Plus précisément, ils sont utiles si l'hôte doit être enregistré automatiquement avec un nom DNS comme interface d'agent par défaut plutôt que son adresse IP. Dans ce cas, le nom DNS doit être spécifié ou renvoyé comme valeur des paramètres HostInterface ou HostInterfaceItem. Notez que si la valeur de l'un des deux paramètres change, l'interface hôte enregistrée automatiquement est mise à jour. Il est donc possible de mettre à jour l'interface par défaut vers un autre nom DNS ou de la mettre à jour vers une adresse IP. Pour que les modifications prennent effet, l'agent doit être redémarré.
Si les paramètres HostInterface ou HostInterfaceItem ne sont pas configurés, le paramètre listen_dns est résolu à partir de l'adresse IP. Si une telle résolution n'est pas configurée correctement, elle peut interrompre l'enregistrement automatique en raison d'un nom d'hôte non valide.
Lorsque l'agent envoie une demande d'enregistrement automatique au serveur, il envoie son nom d'hôte. Dans certains cas (par exemple, les nœuds Amazon cloud), un nom d’hôte ne suffit pas au serveur Zabbix pour différencier les hôtes découverts. Les métadonnées de l'hôte peuvent éventuellement être utilisées pour envoyer d'autres informations d'un agent au serveur.
Les métadonnées de l'hôte sont configurées dans le fichier de configuration de l'agent - zabbix_agentd.conf. Il existe 2 façons de spécifier les métadonnées de l'hôte dans le fichier de configuration :
HostMetadata
HostMetadataItem
Voir la description des options dans le lien ci-dessus.
Une tentative d'enregistrement automatique se produit chaque fois qu'un agent actif envoie une demande d'actualisation des vérifications actives au serveur. Le délai entre les demandes est spécifié dans le paramètre RefreshActiveChecks de l'agent. La première demande est envoyée immédiatement après le redémarrage de l'agent.
Utilisation de métadonnées d'hôte pour distinguer les hôtes Linux et Windows.
Supposons que vous souhaitiez que les hôtes soient automatiquement enregistrés par le serveur Zabbix. Vous avez des agents Zabbix actifs (voir la section "Configuration" ci-dessus) sur votre réseau. Il existe des hôtes Windows et des hôtes Linux sur votre réseau et vous avez des modèles "Template OS Linux" et "Template OS Windows" 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 pourrait ne pas suffire. 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.
La première chose à faire est de configurer l'interface web. Créez 2 actions.
La première action :
Vous pouvez ignorer une opération "Ajouter un hôte" dans ce cas. La liaison à un modèle nécessite l'ajout préalable d'un hôte afin que le serveur le fasse automatiquement.
La deuxième action :
Vous devez maintenant configurer les agents. Ajoutez la ligne suivante aux fichiers de configuration de l'agent :
HostMetadataItem=system.uname
Ainsi, vous vous assurez que les métadonnées de l'hôte contiendront "Linux" ou "Windows" en fonction de l'hôte sur lequel un agent s'exécute. Un exemple de métadonnées hôte dans ce cas :
Linux : Linux server3 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/LinuxWindows : 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.
Étape 1
Utilisation de métadonnées d’hôte pour permettre une protection de base contre l’enregistrement d’hôtes indésirables.
Créez une action dans l'interface, en utilisant un code secret difficile à deviner pour interdire les hôtes indésirables :
* 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 au groupe d'hôtes : serveurs Linux
* Lier au modèle : Template OS Linux
Veuillez noter que cette méthode seule ne fournit pas une protection solide, car les données sont transmises en texte brut. Le rechargement du cache de configuration est requis pour que les modifications aient un effet immédiat.
Ajoutez la ligne suivante au fichier de configuration de l'agent :
HostMetadata=Linux 21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae
où "Linux" est une plate-forme et le reste de la chaîne est un texte secret difficile à deviner.
N'oubliez pas de redémarrer l'agent après avoir apporté des modifications au fichier de configuration.
Étape 2
Il est possible d'ajouter une surveillance supplémentaire pour un hôte déjà enregistré.
Mettez à jour l'action dans l'interface Web :
* 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 au groupe d'hôtes : serveurs Linux
* Lier au modèle : Template OS Linux
* Lier au modèle : Template DB MySQL
Mettez à jour la ligne suivante dans le fichier de configuration de l'agent :
HostMetadata=MySQL on Linux 21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae
N'oubliez pas de redémarrer l'agent après avoir apporté des modifications au fichier de configuration.