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é sur la ligne de commande.
En cas d'instances multiples, 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 Zabbix sous les noms suivants :
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.confdoit être copié manuellement dans le répertoire oùzabbix_agentd.exesera installé ;conf/zabbix_agent2.confet le répertoireconf/zabbix_agent2.ddoivent être copiés manuellement dans le répertoire oùzabbix_agent2.exesera installé.
Consultez les options du fichier de configuration de l'agent Zabbix ou du fichier de configuration de l'agent 2 Zabbix 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, elle renvoie le résultat de la fonction gethostname(), qui interroge les fournisseurs d'espaces de noms afin de déterminer le nom d'hôte local.
Si aucun fournisseur d'espaces 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, en pratique, si ces deux paramètres ne sont pas spécifiés, 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. Elle 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, différentes approches peuvent être utilisées :
- Laisser les paramètres
HostnameouHostnameItemnon définis ; l'agent Zabbix utilisera alors le nom d'hôte NetBIOS comme nom d'hôte. - Laisser le paramètre
Hostnamenon défini et définirHostnameItemcomme 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 avoir
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 instance unique 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, vous devez utiliser la commande suivante pour l'installation du 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 de cette manière :
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 plusieurs instances 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 le faire depuis la ligne de commande.
Pour arrêter une instance unique de Zabbix agent démarrée avec le fichier de configuration par défaut :
zabbix_agentd.exe --stop
Pour arrêter une instance unique de Zabbix agent 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 Zabbix agent :
zabbix_agentd.exe --config <configuration_file_for_this_instance> --stop --multiple-agents
Désinstallation du service Windows de l'agent
Pour désinstaller une seule instance de Zabbix agent à l'aide du fichier de configuration par défaut :
zabbix_agentd.exe --uninstall
Pour désinstaller une seule instance de Zabbix agent à l'aide d'un fichier de configuration non par défaut :
zabbix_agentd.exe --config <your_configuration_file> --uninstall
Pour désinstaller plusieurs instances de Zabbix agent à partir 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 CPU sont répartis de manière non uniforme entre les nœuds NUMA. Si les CPU logiques sont répartis de manière non uniforme, les métriques de performance du CPU peuvent ne pas être disponibles pour certains CPU. Par exemple, s'il y a 72 CPU logiques avec 2 nœuds NUMA, chaque nœud doit avoir 36 CPU.