Table des matières
Ce document décrit la façon dont vous pouvez superviser les attributs et services privés de machines Windows comme:
Utilisation mémoire
Charge CPU
Utilisation disque
État des services
Processus en cours d'exécution
etc.
Les services rendus publics qui sont fournis par des machines Windows (HTTP
, FTP
, POP3
, etc.) peuvent être supervisés de façon simple en suivant la documentation sur la supervision des services publics disponibles .
Ces instructions impliquent que vous ayez installé Nagios comme précisé dans le guide rapide. Les exemples de configuration ci-dessous font référence aux objets de configuration définis dans les fichiers d'exemples (commands.cfg
, templates.cfg
, etc.) qui ont été installé si vous avez suivi le guide rapide.
Superviser des attributs et services privés sur une machine Windows requiert l'installation d'un agent sur celle-ci. Cet agent agit comme un proxy entre les plugins Nagios qui font la supervision et le service ou l'attribut sur la machine Windows. Sans installation d'agent sur la machine Windows, Nagios serait incapable de superviser le moindre attributs ou services privés de la machine Windows.
Pour cet exemple, nous allons installer l'addon NSClient++ sur la machine Windows et utiliser le plugin check_nt pour communiquer avec NSCLient++. Le plugin check_nt devrait déjà être installé sur le serveur Nagios si vous avez suivi le guide d'installation rapide.
Vous pouvez utiliser d'autres agents Windows (comme NC_Net) si vous le souhaitez - à condition de changer un peu les commandes et les définitions de services, etc. Pour faire simple, je ne couvrirais que l'utilisation de NSCLient++ dans ces instructions.
Il y a plusieurs étapes à suivre pour pouvoir superviser une nouvelle machine Windows. Les voici:
Procéder aux pré-requis nécessaires la première fois
Installez un agent de supervision sur la machine Windows
Créez de nouvelles définitions d'hôte et de service pour superviser la machine Windows
Redémarrez le démon Nagios
Pour vous rendre la vie un peu plus facile, quelques tâches de configuration ont déjà été faites pour vous :
Une définition de commande check_nt a été ajouté au fichier commands.cfg
. Cela permet d'utiliser le plugin check_nt pour superviser les services Windows.
Un gabarit d'hôte serveur Windows (appelé windows-server
) a déjà été créé dans le fichier templates.cfg
. Cela permet d'ajouter de nouvelles définitions d'hôtes Windows de façon simple.
Les fichiers de configuration mentionnés ci-dessus peuvent être trouvés dans le répertoire /usr/local/nagios/etc/objects/
. Vous pouvez modifier les définitions de ceux-ci ou en créez de nouvelles pour répondre le mieux à votre besoin. Quoi qu'il en soit, je vous recommande d'attendre d'avoir une meilleure connaissance de la configuration de Nagios avant de le faire. Pour le moment, contentez-vous de suivre les directions précisées ci-dessous et vous pourrez superviser vos machines Windows en un rien de temps.
La première fois que vous configurez Nagios pour superviser une machine Windows, vous avez un peu plus de travail à faire. Souvenez-vous, vous n'avez à le faire que pour la *première* machine Windows à superviser.
Éditez le fichier de configuration principal de Nagios.
#
vi /usr/local/nagios/etc/nagios.cfg
Supprimez le caractère (#) du début de la ligne suivante du fichier de configuration principal :
#cfg_file=/usr/local/nagios/etc/objects/windows.cfg
Enregistrez le fichier et quittez.
Qu'avez-vous fait? Vous avez dit à Nagios de regarder dans le fichier /usr/local/nagios/etc/objects/windows.cfg
pour y trouver des définitions d'objets additionnels. C'est là que vous ajouterez des définitions pour l'hôte Windows. Ce fichier de configuration contient déjà un exemple de définitions d'hôte, de groupe d'hôtes et de service. Pour la *première* machine Windows que vous supervisez, vous pouvez simplement modifier les définitions d'exemples d'hôte et de service dans ce fichier plutôt que d'en créer de nouvelles.
Avant de pouvoir superviser les attributs et services privés des machines Windows, vous allez devoir installer un agent sur ces machines. Je recommande l'utilisation de l'addon NSClient++, qui peut être trouvé sur http://sourceforge.net/projects/nscplus. Ces instructions vont vous guider au cours d'une installation simple de NSClient++ ainsi que pour la configuration de Nagios pour superviser une machine Windows.
Téléchargez la dernière version stable de NSClient++ depuis http://sourceforge.net/projects/nscplus
Dézippez les fichiers de NSClient++ dans un nouveau répertoire C:\NSClient++
Ouvrez une fenêtre de commande et déplacez-vous dans le répertoire C:\NSClient++
Installez le service système NSClient++ avec la commande suivante:
C:\>
nsclient++ /install
Installez le module NSClient++ pour la barre des tâches avec la commande suivante ('SysTray' est sensible à la casse):
C:\>
nsclient++ SysTray
Ouvrez le gestionnaire des services et assurez-vous que le service NSClientpp est autorisé à interagir avec le bureau (regardez sous l'onglet 'Log On' du gestionnaire de services). Cochez la case correspondante si ce n'est déjà fait.
Éditez le fichier NSC.INI
(situé dans le répertoire C:\NSClient++
) et effectuez les changements suivants:
Décommentez tous les modules listés dans la section [modules], exceptés CheckWMI.dll
et RemoteConfiguration.dll
Exigez optionnellement un mot de passe des clients en remplaçant l'option password
dans la section [Settings].
Décommentez l'option allowed_hosts
dans la section [Settings]. Ajoutez l'adresse IP du serveur Nagios à cette ligne, ou laisser vide pour autoriser n'importe quel hôte à se connecter.
Assurez-vous que l'option port
dans la section [NSClient] soit décommentée et réglée sur '12489' (le port par défaut).
Démarrez le service NSClient++ avec la commande suivante:
C:\>
nsclient++ /start
Si l'installation est correcte, une nouvelle icône devrait apparaître dans votre barre des tâches. Ce sera un cercle jaune avec un 'M' noir à l'intérieur.
Bravo! Le serveur Windows peut désormais être ajouté à la configuration de Nagios…
Il est temps maintenant de définir quelques définitions d'objets dans vos fichiers de configuration Nagios pour pouvoir superviser la nouvelle machine Windows.
Ouvrez le fichier windows.cfg
pour édition.
#
vi /usr/local/nagios/etc/objects/windows.cfg
Ajouter une nouvelle définition d'hôte pour la machine Windows que vous souhaitez superviser. Si c'est la *première* que vous supervisez, vous pouvez simplement modifier l'exemple de définition d'hôte dans windows.cfg
. Remplacez les champs host_name
, alias
, et address
par les valeurs appropriées pour votre machine Windows.
define host { use windows-server ; Inherit default values from a Windows server template (make sure you keep this line!) host_name winserver alias My Windows Server address 192.168.1.2 }
Bien. Maintenant vous pouvez ajouter quelques définitions de services (dans le même fichier de configuration) pour indiquer à Nagios de superviser différents aspects de la machine Windows. Si c'est votre *première* machine Windows, vous pouvez simplement modifier les définitions exemples de services dans windows.cfg
.
Remplacez
dans les définitions d'exemples ci-dessous par le nom que vous avez précisé dans le paramètre de la définition de l'hôte que vous venez d'ajouter.
winserver
Ajoutez la définition de service suivante pour contrôler la version du addon NSClient++ tournant sur le serveur Windows. Cela devient utile quand il s'agit de mettre à jour des serveurs Windows vers une nouvelle version du addon, en vous permettant de déterminer quelles sont les machines Windows nécessitant une mise à jour vers la dernière version de NSClient++.
define service { use generic-service host_name winserver service_description NSClient++ Version check_command check_nt!CLIENTVERSION }
Ajoutez la définition de service suivante pour superviser le temps écoulé depuis le dernier re/démarrage du serveur Windows.
define service { use generic-service host_name winserver service_description Uptime check_command check_nt!UPTIME }
Ajoutez la définition de service suivante pour superviser la charge CPU du serveur Windows et générer une alerte CRITICAL si la charge CPU des 5 dernières minutes est égale à 90% ou plus ou une alerte WARNING si la charge CPU des 5 dernières minutes est égale à 80% ou plus.
define service { use generic-service host_name winserver service_description CPU Load check_command check_nt!CPULOAD!-l 5,80,90 }
Ajoutez la définition de service suivante pour superviser l'utilisation de la mémoire du serveur Windows et générer une alerte CRITICAL si l'utilisation de la mémoire est égale à 90% ou plus ou une alerte WARNING si l'utilisation de la mémoire est égale à 80% ou plus.
define service { use generic-service host_name winserver service_description Memory Usage check_command check_nt!MEMUSE!-w 80 -c 90 }
Ajoutez la définition de service suivante pour superviser l'espace utilisé du disque C:\ du serveur Windows et générer une alerte CRITICAL si l'espace utilisé du disque est égale à 90% ou plus ou une alerte WARNING si l'espace utilisé du disque est égale à 80% ou plus.
define service { use generic-service host_name winserver service_description C:\ Drive Space check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90 }
Ajoutez la définition de service suivante pour superviser l'état du service W3SVC et générer une alerte CRITICAL si ce service est arrêté.
define service { use generic-service host_name winserver service_description W3SVC check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC }
Ajoutez la définition de service suivante pour superviser l'état du processus Explorer.exe et générer une alerte CRITICAL si ce processus ne tourne pas.
define service { use generic-service host_name winserver service_description Explorer check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe }
Voilà pour le moment. Vous avez ajouté des services simples qui devraient être supervisés sur les machines Windows. Enregistrez le fichier de configuration.
Si vous avez précisé un mot de passe dans le fichier de configuration de NSClient++ de la machine Windows, vous aurez besoin de modifier la définition de commande check_nt pour inclure le mot de passe. Ouvrez le fichier commands.cfg
pour édition.
#
vi /usr/local/nagios/etc/commands.cfg
Modifiez la définition de la commande check_nt pour inclure l'argument -s
<PASSWORD> (où PASSWORD est le mot de passe précisé sur la machine Windows) comme suit:
define command { command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$ $ARG2$ }
Enregistrez le fichier de configuration.
Vous en avez terminé avec la configuration de Nagios, et vous allez devoir vérifier les fichiers de configuration et redémarrer Nagios .
Si le processus de vérification produit n'importe quel message d'erreur, réglez d'abord vos problèmes de configuration avant de continuer. Assurez-vous de ne pas redémarrer Nagios avant que le processus de vérification ne se déroule sans erreur!