Recherche de site Web

Comment ajouter un hôte Windows au serveur de surveillance Nagios


Cet article décrit comment surveiller les services « privés » des machines Windows tels que la charge du processeur, l’utilisation du disque, l’utilisation de la mémoire, les services, etc. Pour cela, nous avons dû installer un addon NSClient++ sur la machine Windows. L’addon agit comme un proxy entre la machine Windows et Nagios et surveille les services réels en communiquant avec le plugin check_nt. Le plugin check_nt déjà installé sur le serveur de surveillance Nagios, si vous avez suivi notre guide d’installation de Nagios.

Nous supposons que vous avez déjà installé et configuré le serveur Nagios conformément à nos guides suivants.

  1. Comment installer Nagios 4.0.1 sur RHEL/CentOS 6.x/5.x et Fedora 19/18/17
  2. Ajouter un hôte Linux à Nagios Monitoring Server

Pour surveiller les machines Windows, vous devrez suivre plusieurs étapes, à savoir :

  1. Installez l’addon NSClient++ sur la machine Windows.
  2. Configurez Nagios Server pour la surveillance de la machine Windows.
  3. Ajoutez de nouvelles définitions d’hôte et de service pour la surveillance des machines Windows.
  4. Redémarrez le service Nagios.

Pour rendre ce guide simple et plus facile, quelques configurations ont déjà été faites pour vous dans l’installation de Nagios.

  1. Une définition de commande check_nt déjà ajoutée au fichier command.cfg. Cette commande de définition est utilisée par check_nt plugin pour surveiller les services Windows.
  2. Un modèle d’hôte windows-server déjà créé dans le fichier templates.cfg. Ce modèle vous permet d’ajouter de nouvelles définitions d’hôtes Windows.

Les deux fichiers ci-dessus « command.cfg » et « templates.cfg » se trouvent dans le répertoire /usr/local/nagios/etc/objects/. Vous pouvez modifier et ajouter vos propres définitions en fonction de vos besoins. Mais, je vous recommande de suivre les instructions décrites dans cet article et vous pourrez surveiller avec succès votre hôte Windows en moins de 20 minutes.

Étape 1 : Installation de l’agent NSClient++ sur une machine Windows

Utilisez les instructions ci-dessous pour installer l’agent NSClient++ sur l’hôte Windows distant. Téléchargez d’abord les fichiers sources de la dernière version stable de l’addon NSClient++ 0.3.1, qui se trouvent sur le lien ci-dessous.

  1. http://sourceforge.net/projects/nscplus/

Une fois que vous avez téléchargé la dernière version stable, décompressez les fichiers NSClient++ dans un nouveau répertoire C :\NSClient++.

Ouvrez maintenant une invite de commande MS-DOS à partir de l’écran d’accueil –> Exécuter –> tapez 'cmd' et appuyez sur Entrée et passez au répertoire C :\NSClient++.

C:\NSClient++

Ensuite, enregistrez le service NSClient++ sur le système à l’aide de la commande suivante.

nsclient++ /install

Enfin, installez la barre d’état système NSClient++ à l’aide de la commande suivante.

nsclient++ SysTray

Ouvrez le Gestionnaire de services Windows et faites un clic droit sur NSClient, allez dans Propriétés, puis dans l’onglet « Connexion » et cliquez sur la case à cocher « Autoriser le service à interagir avec le bureau ». Si ce n’est pas déjà autorisé, veuillez cocher la case pour l’autoriser.

Ouvrez NSC. INI situé dans le répertoire C :\NSClient++ et décommentez tous les modules définis dans la section « modules », à l’exception des CheckWMI.dll et RemoteConfiguration.dll.

[modules]
;# NSCLIENT++ MODULES
;# A list with DLLs to load at startup.
;  You will need to enable some of these for NSClient++ to work.
; ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
; *                                                               *
; * N O T I C E ! ! ! - Y O U   H A V E   T O   E D I T   T H I S *
; *                                                               *
; ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
FileLogger.dll
CheckSystem.dll
CheckDisk.dll
NSClientListener.dll
NRPEListener.dll
SysTray.dll
CheckEventLog.dll
CheckHelpers.dll
;CheckWMI.dll
;
; RemoteConfiguration IS AN EXTREM EARLY IDEA SO DONT USE FOR PRODUCTION ENVIROMNEMTS!
;RemoteConfiguration.dll
; NSCA Agent is a new beta module use with care!
;NSCAAgent.dll
; LUA script module used to write your own "check deamon" (sort of) early beta.
;LUAScript.dll
; Script to check external scripts and/or internal aliases, early beta.
;CheckExternalScripts.dll
; Check other hosts through NRPE extreme beta and probably a bit dangerous! :)
;NRPEClient.dll

Décommentez le « allowed_hosts » dans la section « Paramètres » et définissez l’adresse IP de votre serveur de surveillance Nagios ou laissez-la vide pour permettre à tous les hôtes de se connecter.

[Settings]
;# ALLOWED HOST ADDRESSES
;  This is a comma-delimited list of IP address of hosts that are allowed to talk to the all daemons.
;  If leave this blank anyone can access the deamon remotly (NSClient still requires a valid password).
;  The syntax is host or ip/mask so 192.168.0.0/24 will allow anyone on that subnet access
allowed_hosts=172.16.27.41

Décommentez le « port » dans la section « NSClient » et définissez-le sur le port par défaut « 12489 ». Assurez-vous d’ouvrir le port « 12489 » sur le pare-feu Windows.

[NSClient]
;# NSCLIENT PORT NUMBER
;  This is the port the NSClientListener.dll will listen to.
port=12489

Enfin, démarrez le service NSClient++ avec la commande suivante.

nsclient++ /start

Si vous êtes correctement installé et configuré, vous devriez voir une nouvelle icône dans la barre d’état système en cercle jaune avec un « M » noir à l’intérieur.

Étape 2 : Configuration du serveur Nagios et ajout d’hôtes Windows

Maintenant, connectez-vous à Nagios Server et ajoutez des définitions d’objets dans les fichiers de configuration Nagios pour surveiller la nouvelle machine Windows. Ouvrez le fichier windows.cfg pour l’éditer avec l’éditeur Vi.

[root@tecmint]# vi /usr/local/nagios/etc/objects/windows.cfg

Un exemple de définition d’hôte Windows déjà défini pour la machine Windows, vous pouvez simplement modifier la définition de l’hôte comme les champs host_name, alias et adresse en valeurs appropriées de votre machine Windows.

###############################################################################
###############################################################################
#
HOST DEFINITIONS
#
###############################################################################
###############################################################################

Define a host for the Windows machine we'll be monitoring
Change the host_name, alias, and address to fit your situation

define host{
        use             windows-server  ; Inherit default values from a template
        host_name       winserver       ; The name we're giving to this host
        alias           My Windows Server       ; A longer name associated with the host
        address         172.31.41.53    ; IP address of the host
        }

Les services suivants sont déjà ajoutés et activés dans le fichier windows.cfg. Si vous souhaitez ajouter d’autres définitions de service qui doivent être surveillées, vous pouvez simplement ajouter ces définitions au même fichier de configuration. Assurez-vous de modifier le host_name de tous ces services avec host_name définis à l’étape ci-dessus.

define service{
	use			generic-service
	host_name		winserver
	service_description	NSClient++ Version
	check_command		check_nt!CLIENTVERSION
	}

Add the following service definition to monitor the uptime of the Windows server.

define service{
	use			generic-service
	host_name		winserver
	service_description	Uptime
	check_command		check_nt!UPTIME
	}

Add the following service definition to monitor the CPU utilization on the Windows server and generate a CRITICAL alert if the 5-minute CPU load is 90% or more or a WARNING alert if the 5-minute load is 80% or greater.

define service{
	use			generic-service
	host_name		winserver
	service_description	CPU Load
	check_command		check_nt!CPULOAD!-l 5,80,90
	}

Add the following service definition to monitor memory usage on the Windows server and generate a CRITICAL alert if memory usage is 90% or more or a WARNING alert if memory usage is 80% or greater.

define service{
	use			generic-service
	host_name		winserver
	service_description	Memory Usage
	check_command		check_nt!MEMUSE!-w 80 -c 90
	}

Add the following service definition to monitor usage of the C:\ drive on the Windows server and generate a CRITICAL alert if disk usage is 90% or more or a WARNING alert if disk usage is 80% or greater.

define service{
	use			generic-service
	host_name		winserver
	service_description	C:\ Drive Space
	check_command		check_nt!USEDDISKSPACE!-l c -w 80 -c 90
	}

Add the following service definition to monitor the W3SVC service state on the Windows machine and generate a CRITICAL alert if the service is stopped.

define service{
	use			generic-service
	host_name		winserver
	service_description	W3SVC
	check_command		check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
	}

Add the following service definition to monitor the Explorer.exe process on the Windows machine and generate a CRITICAL alert if the process is not running.

define service{
	use			generic-service
	host_name		winserver
	service_description	Explorer
	check_command		check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
	}

Enfin, décommentez le fichier windows.cfg dans /usr/local/nagios/etc/nagios.cfg.

[root@tecmint]# vi /usr/local/nagios/etc/nagios.cfg
# Definitions for monitoring a Windows machine
cfg_file=/usr/local/nagios/etc/objects/windows.cfg

Enfin, vérifiez que les fichiers de configuration de Nagios ne contiennent pas d’erreurs.

[root@tecmint]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

Si le processus de vérification génère des messages d’erreur, corrigez-les jusqu’à ce que le processus de vérification se termine sans aucun message d’erreur. Une fois que vous avez corrigé ces erreurs, redémarrez le service Nagios.

[root@tecmint]# service nagios restart

Running configuration check...done.
Stopping nagios: done.
Starting nagios: done.

Voilà. Allez maintenant sur l’interface Web de Nagios Monitoring à « http://Your-server-IP-address/nagios » ou « http://FQDN/nagios » et fournissez le nom d’utilisateur « nagiosadmin » et le mot de passe. Vérifiez que l’hôte Windows distant a été ajouté et qu’il est surveillé.

Voilà! pour l’instant, dans mon prochain article, je vais vous montrer comment ajouter une imprimante et des commutateurs au serveur de surveillance Nagios. Si vous rencontrez des difficultés lors de l’ajout d’un hôte Windows à Nagios. N’hésitez pas à commenter vos questions via la section des commentaires, d’ici là, restez à l’écoute pour linux-console.net pour plus d’articles de ce type de valeur.

Articles connexes: