10 Zabbix agent sur Microsoft Windows

Configuration de l’agent

Les deux générations d’agents Zabbix s’exécutent en tant que service Windows.
Pour Zabbix agent 2, remplacez agentd par agent2 dans les instructions ci-dessous.

Vous pouvez exécuter une seule instance de l’agent Zabbix ou plusieurs instances de l’agent sur un hôte Microsoft Windows.
Une seule instance peut utiliser l’un des éléments suivants :

  • le fichier de configuration par défaut, situé dans le même répertoire que le binaire de l’agent ;
  • un fichier de configuration spécifié dans la ligne de commande.

En cas d’utilisation de plusieurs instances, chaque instance de l’agent doit disposer de son propre fichier de configuration (l’une des instances peut utiliser le fichier de configuration par défaut).

Un exemple de fichier de configuration est disponible dans l’archive des sources de Zabbix sous les noms suivants :

  • conf/zabbix_agentd.conf pour l’agent Zabbix ;
  • conf/zabbix_agent2.conf pour Zabbix agent 2.

Si vous souhaitez installer l’agent Zabbix/agent 2 pour Windows en tant que service à partir d’une archive sans spécifier explicitement le fichier de configuration, avant d’installer l’agent :

  • conf/zabbix_agentd.conf doit être copié manuellement dans le répertoire où zabbix_agentd.exe sera installé ;
  • conf/zabbix_agent2.conf et le répertoire conf/zabbix_agent2.d doivent être copiés manuellement dans le répertoire où zabbix_agent2.exe sera installé.

Consultez les options du fichier de configuration pour plus d’informations sur la configuration de l’agent Zabbix pour Windows.

Paramètre Hostname

Pour effectuer des vérifications actives sur un hôte, l’agent Zabbix doit avoir le nom d’hôte défini. De plus, la valeur du nom d’hôte définie du côté de l’agent doit correspondre exactement au « Nom d’hôte » configuré pour l’hôte dans l’interface.

La valeur du nom d’hôte du côté de l’agent peut être définie par le paramètre Hostname ou HostnameItem dans le fichier de configuration de l’agent - sinon, les valeurs par défaut sont utilisées si aucun de ces paramètres n’est spécifié.

La valeur par défaut du paramètre HostnameItem est la valeur renvoyée par la clé d’agent « system.hostname ». Sous Windows, cette clé renvoie le résultat de la fonction gethostname(), qui interroge les fournisseurs d’espace de noms afin de déterminer le nom de l’hôte local. Si aucun fournisseur d’espace de noms ne répond, le nom NetBIOS est renvoyé.

La valeur par défaut de Hostname est la valeur renvoyée par le paramètre HostnameItem. Ainsi, si aucun de ces paramètres n’est spécifié, le nom d’hôte réel sera le nom NetBIOS de l’hôte ; l’agent Zabbix utilisera le nom d’hôte NetBIOS pour récupérer la liste des vérifications actives auprès du serveur Zabbix et lui envoyer les résultats.

La clé system.hostname prend en charge deux paramètres facultatifs : type et transform.

Type détermine le type de nom que l’élément doit renvoyer :

  • netbios (par défaut) - renvoie le nom d’hôte NetBIOS, limité à 15 caractères et composé uniquement de lettres MAJUSCULES ;
  • host - sensible à la casse, renvoie le nom d’hôte Windows complet et réel (sans domaine) ;
  • shorthost - renvoie la partie du nom d’hôte située avant le premier point. Il renvoie la chaîne complète si le nom ne contient pas de point.
  • fqdn - renvoie le nom de domaine complet (sans le point final).

Transform permet de spécifier une règle de transformation supplémentaire pour le nom d’hôte :

  • none (par défaut) - conserve la casse d’origine ;
  • lower - convertit le texte en minuscules.

Ainsi, pour simplifier la configuration du fichier zabbix_agentd.conf et la rendre uniforme, trois approches différentes peuvent être utilisées :

  1. Laisser les paramètres Hostname ou HostnameItem non définis : l’agent Zabbix utilisera le nom d’hôte NetBIOS comme nom d’hôte.
  2. Laisser le paramètre Hostname non défini et définir HostnameItem comme suit :
    HostnameItem=system.hostname[host] - pour que l’agent Zabbix utilise le nom d’hôte Windows complet et réel (sensible à la casse) comme nom d’hôte.
    HostnameItem=system.hostname[shorthost,lower] - pour que l’agent Zabbix utilise uniquement la partie du nom d’hôte située avant le premier point, convertie en minuscules.
    HostnameItem=system.hostname[fqdn] - pour que l’agent Zabbix utilise le nom de domaine complet comme nom d’hôte.

Le nom d’hôte est également utilisé comme partie du nom du service Windows, qui sert à installer, démarrer, arrêter et désinstaller le service Windows. Par exemple, si le fichier de configuration de l’agent Zabbix spécifie Hostname=Windows_db_server, l’agent sera installé en tant que service Windows « Zabbix Agent [Windows_db_server] ». Par conséquent, pour disposer d’un nom de service Windows différent pour chaque instance de l’agent Zabbix, chaque instance doit utiliser un nom d’hôte différent.

Installation de l'agent en tant que service Windows

Avant d'installer l'agent, copiez manuellement conf/zabbix_agentd.conf dans le répertoire où zabbix_agentd.exe sera installé.

Pour installer une seule instance de l'agent Zabbix avec le fichier de configuration par défaut :

zabbix_agentd.exe --install

Sur un système 64 bits, une version 64 bits de l'agent Zabbix est requise pour que toutes les vérifications liées à l'exécution de processus 64 bits fonctionnent correctement.

Si vous souhaitez utiliser un fichier de configuration autre que celui par défaut, utilisez la commande suivante pour installer le service :

zabbix_agentd.exe --config <your_configuration_file> --install

Un chemin complet vers le fichier de configuration doit être spécifié.

Plusieurs instances de l'agent Zabbix peuvent être installées en tant que services comme suit :

zabbix_agentd.exe --config <configuration_file_for_instance_1> --install --multiple-agents
zabbix_agentd.exe --config <configuration_file_for_instance_2> --install --multiple-agents
...
zabbix_agentd.exe --config <configuration_file_for_instance_N> --install --multiple-agents

Le service installé devrait maintenant être visible dans le Panneau de configuration.

Démarrage de l'agent

Pour démarrer le service de l'agent, vous pouvez utiliser le Panneau de configuration ou le faire depuis la ligne de commande.

Pour démarrer une instance unique de l'agent Zabbix avec le fichier de configuration par défaut :

zabbix_agentd.exe --start

Pour démarrer une instance unique de l'agent Zabbix avec un autre fichier de configuration :

zabbix_agentd.exe --config <your_configuration_file> --start

Pour démarrer l'une des instances multiples de l'agent Zabbix :

zabbix_agentd.exe --config <configuration_file_for_this_instance> --start --multiple-agents

Arrêt de l'agent

Pour arrêter le service de l'agent, vous pouvez utiliser le Panneau de configuration ou exécuter la commande depuis la ligne de commande.

Pour arrêter une seule instance de l'agent Zabbix démarrée avec le fichier de configuration par défaut :

zabbix_agentd.exe --stop

Pour arrêter une seule instance de l'agent Zabbix démarrée avec un autre fichier de configuration :

zabbix_agentd.exe --config <your_configuration_file> --stop

Pour arrêter l'une des plusieurs instances de l'agent Zabbix :

zabbix_agentd.exe --config <configuration_file_for_this_instance> --stop --multiple-agents

Désinstallation du service Windows de l'agent

Pour désinstaller une instance unique de l'agent Zabbix à l'aide du fichier de configuration par défaut :

zabbix_agentd.exe --uninstall

Pour désinstaller une instance unique de l'agent Zabbix à l'aide d'un fichier de configuration autre que celui par défaut :

zabbix_agentd.exe --config <your_configuration_file> --uninstall

Pour désinstaller plusieurs instances de l'agent Zabbix des services Windows :

zabbix_agentd.exe --config <configuration_file_for_instance_1> --uninstall --multiple-agents
zabbix_agentd.exe --config <configuration_file_for_instance_2> --uninstall --multiple-agents
...
zabbix_agentd.exe --config <configuration_file_for_instance_N> --uninstall --multiple-agents

Limitations

L'agent Zabbix pour Windows ne prend pas en charge les configurations Windows non standard dans lesquelles les processeurs sont répartis de manière non uniforme entre les nœuds NUMA. Si les processeurs logiques sont répartis de manière non uniforme, les métriques de performance du processeur peuvent ne pas être disponibles pour certains processeurs. Par exemple, s'il y a 72 processeurs logiques avec 2 nœuds NUMA, chaque nœud doit disposer de 36 processeurs.