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, Utilisation de la mémoire, Services, etc. Pour cela, nous avons dû installer un module complémentaire NSClient++ sur la machine Windows. L'addon agit comme 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 Nagios Monitoring Server, si vous avez suivi notre guide d'installation 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 18/19/17
  2. Ajouter un hôte Linux au serveur de surveillance Nagios

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

  1. Installez le module complémentaire NSClient++ sur la machine Windows.
  2. Configurez le serveur Nagios pour surveiller 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 déjà effectuées 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 le plugin check_nt pour surveiller les services Windows.
  2. Un modèle d'hôte de serveur Windows déjà créé dans le fichier templates.cfg. Ce modèle vous permet d'ajouter de nouvelles définitions d'hôte Windows.

Les deux fichiers ci-dessus « command.cfg » et « templates.cfg » peuvent être trouvés à l'adresse /usr/local/nagios/etc/objects/ répertoire . 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

Veuillez utiliser les instructions ci-dessous pour installer l'agent NSClient++ sur l'hôte Windows distant. Téléchargez d'abord la dernière version stable des fichiers sources du module complémentaire NSClient++ 0.3.1, qui peuvent être trouvés 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 de démarrage –> Exécuter –> tapez 'cmd' et appuyez sur Entrée et accédez au répertoire C:\NSClient++.

C:\NSClient++

Ensuite, enregistrez le service NSClient++ sur le système avec la commande suivante.

nsclient++ /install

Enfin, installez la système NSClient++ avec la commande suivante.

nsclient++ SysTray

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

Ouvrez le fichier NSC.INI situé dans le répertoire C:\NSClient++ et décommentez tous les modules définis dans la section « modules », à l'exception de 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-le 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 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 dans un cercle jaune avec un « M noir à l'intérieur.

Étape 2 : configurer le serveur Nagios et ajouter des hôtes Windows

Connectez-vous maintenant au Serveur Nagios et ajoutez quelques définitions d'objet dans les fichiers de configuration Nagios pour surveiller la nouvelle machine Windows. Ouvrez le fichier windows.cfg pour le modifier 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 d'hôte comme les champs nom_hôte, alias et adresse pour les adapter. valeurs 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 nom_hôte pour tous ces services avec le nom_hôte défini à 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 les fichiers de configuration Nagios pour toute erreur.

[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 ces erreurs 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.

C'est ça. Accédez maintenant à l'interface Web de surveillance de Nagios à l'adresse « http://Your-server-IP-address/nagios » ou « http://FQDN/nagios » et fournissez le nom d'utilisateur « nagiosadmin » et mot de passe. Vérifiez que l'Hôte Windows distant a été ajouté et est surveillé.

C'est ça! pour l'instant, dans mon prochain article, je vais vous montrer comment ajouter une imprimante et des commutateurs au Nagios Monitoring Server. Si vous rencontrez des difficultés lors de l'ajout de l'hôte Windows à Nagios. Veuillez commenter vos requêtes via la section commentaires, d'ici là, restez à l'écoute de linux-console.net pour plus d'articles de ce type.