11 Agent Zabbix 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 soit :

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

Dans le cas de plusieurs instances, chaque instance d'agent doit avoir 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 :

  • conf/zabbix_agentd.conf pour l'agent Zabbix ;
  • conf/zabbix_agent2.conf pour Zabbix agent2.

Si vous souhaitez installer l'agent Zabbix/l'agent 2 pour Windows en tant que service à partir d'une archive sans spécifier explicitement le fichier de configuration, alors, 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 de détails sur la configuration de l'agent Zabbix Windows.

Paramètre Hostname

Pour effectuer des contrôles actifs sur un hôte, Zabbix agent 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 de l’hôte" configuré pour l’hôte dans le frontend.

La valeur du nom d’hôte du côté de l’agent peut être définie soit par le paramètre Hostname, soit par le paramètre HostnameItem dans le fichier de configuration de l’agent — ou bien 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’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, 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 ; Zabbix agent utilisera le nom d’hôte NetBIOS pour récupérer la liste des contrôles actifs depuis Zabbix server et lui envoyer les résultats.

La clé "system.hostname" prend en charge deux paramètres optionnels : 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 uniquement en 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 renverra la chaîne complète si le nom ne contient pas de point.
  • fqdn - renvoie le nom de domaine pleinement qualifié (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) - utilise 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, et Zabbix agent 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 Zabbix agent 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 Zabbix agent utilise uniquement la partie du nom d’hôte avant le premier point, convertie en minuscules.
    HostnameItem=system.hostname[fqdn] - pour que Zabbix agent utilise le nom de domaine pleinement qualifié 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 Zabbix agent spécifie Hostname=Windows_db_server, alors 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 Zabbix agent, 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, vous devez utiliser la commande suivante pour l'installation du service :

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

Le 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 à partir de la ligne de commande.

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

 zabbix_agentd.exe --start

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

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

Pour démarrer l'une des multiples 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 à partir de ligne de commande.

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

 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 <votre_fichier_de_configuration> --stop

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

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

Désinstallation du service Windows de l'agent

Pour désinstaller une seule instance de l'agent Zabbix en utilisant la valeur par défaut du fichier de configuration:

   zabbix_agentd.exe --uninstall

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

   zabbix_agentd.exe --config <votre_fichier_de_configuration> --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 <fichier_de_configuration_pour_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 sur les nœuds NUMA. Si les processeurs logiques ne sont pas distribués de manière uniforme, les métriques de performances du processeur peuvent ne pas être disponibles pour certains processeurs. Par exemple, s'il y a 72 CPU logiques avec 2 nœuds NUMA, les deux nœuds doivent avoir 36 CPU chacun.