Sidebar

Become a monitoring expert!
Sign up for Zabbix training

2 Enregistrement automatique d'agent actif

Aperçu

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é :

  • si les metadonnées de l'hôte changent :
    • en raison de la modification de HostMetadata et du redémarrage de l'agent
    • en raison de la valeur modifiée renvoyée par HostMetadataItem
  • pour les hôtes créés manuellement avec des métadonnées manquantes
  • si un hôte est modifié manuellement pour être surveillé par un autre proxy Zabbix
  • si l'enregistrement automatique pour le même hôte provient d'un nouveau proxy Zabbix

Configuration

Spécification du serveur

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.

Action pour l'enregistrement automatique de l'agent actif

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 :

  • Dans l'onglet Action, donnez un nom à votre action.
  • Spécifiez éventuellement des conditions. Vous pouvez effectuer une correspondance de sous-chaîne ou une correspondance d'expression régulière dans les conditions pour le nom d'hôte/les métadonnées d'hôte. Si vous envisagez d'utiliser la condition "Métadonnées de l'hôte", reportez-vous à la section suivante.
  • Dans l'onglet Opérations, ajoutez les opérations pertinentes, telles que - 'Ajouter hôte', 'Ajouter au groupe d'hôtes' (par exemple, Hôtes découverts), 'Lier au modèle', etc.

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.

Enregistrement automatique sécurisé

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 AdministrationGé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é.

Utiliser DNS comme interface par défaut

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.

Utilisation des métadonnées de l'hôte

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.

Exemple 1

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.

Configuration de l'interface web

La première chose à faire est de configurer l'interface web. Créez 2 actions.

La première action :

  • Nom : Enregistrement automatique de l'hôte Linux
  • Conditions : Les métadonnées de l'hôte contiennent Linux
  • Opérations : Lier au modèle : Template OS Linux

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 :

  • Nom : Enregistrement automatique de l'hôte Windows
  • Conditions : Les métadonnées de l'hôte contiennent Windows
  • Opérations : Lier au modèle : Template OS Windows
Configuration de l'agent

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.

Exemple 2

Étape 1

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

Configuration de l'interface web

Créez une action dans l'interface, en utilisant un code secret difficile à deviner pour interdire les hôtes indésirables :

  • Nom : Action d'enregistrement automatique 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 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.

Configuration de l'agent

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é.

Configuration de l'interface web

Mettez à jour l'action dans l'interface Web :

  • Nom : Auto registration action 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 au groupe d'hôtes : serveurs Linux
           * Lier au modèle : Template OS Linux
           * Lier au modèle : Template DB MySQL
Configuration de l'agent

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.