2 - Intégration à Windows
2 - Intégration à Windows Contact
Dans cette page :
Introduction
Nagios fonctionne sur des systèmes Linux mais est capable de surveiller n’importe quel type de système.
Il peut surveiller des systèmes Windows grâce à un agent installé sur les machines Windows et capable de communiquer avec le serveur Windows.
Il peut aussi surveiller d’autres types de systèmes à l’aide du protocole standard SNMP.
Intégration Nagios-Windows
Pour surveiller des serveurs Windows, la solution la plus simple consiste à utiliser NSClient++
. Ce programme s’exécute comme un service sur les hôtes Windows et peut assez facilement être interrogé par le plugin check_nt
, fourni dans la distribution standard de Nagios (dans le répertoire /usr/lib/nagios/plugins
).
Pour installer ce service sur un serveur Windows, allez sur le site de NSClient++
et téléchargez la version qui correspond à votre serveur. Le plus simple est de télécharger le fichier .msi, qui fera presque tout le travail.
Au moment de l’installation, faites les choix suivants dans la boîte de dialogue:
Lorsque l’installation est terminée, vérifiez que le service roule dans la console des services Windows.
Du côté du serveur Nagios, ajoutez un hôte pour le serveur Windows:
define host {
host_name svWin
alias Serveur Windows NSClient
address 192.168.1.150
max_check_attempts 10
contacts admin
notification_interval 0
notification_period 24x7
check_command check-host-alive
}
Ajouter une commande pour check_nt, qui se connectera sur NSClient:
define command{
command_name check_nt
command_line /usr/local/nagios/libexec/check_nt -H $HOSTADDRESS$ -s abc-123 -p 12489 -v $ARG1
}
Les options de cette commande sont :
-s
Le mot de passe défini à l’installation de NSClient++
-p
Le port utilisé par NSClient++
-v
La variable, qui correspond à l’information demandée à NSClient (RAM, espace disque, etc.)
Ajouter ensuite un service générique afin de simplifier les définitions des divers services à vérifier sur l’hôte Windows Server. Un service générique permet de regrouper les paramètres identiques entre plusieurs services:
define service{
name generic-service
check_interval 1
retry_interval 1
max_check_attempts 5
check_period 24x7
contacts admin
notification_interval 30
notification_period 24x7
register 0;
}
Ajouter les services à vérifier sur le serveur Windows:
define service{
use generic-service
host_name svWin
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
define service{
use generic-service
host_name svWin
service_description Uptime
check_command check_nt!UPTIME
}
define service{
use generic-service
host_name svWin
service_description CPU Load
check_command check_nt!CPULOAD -l 5,80,90
}
define service{
use generic-service
host_name svWin
service_description Memory Usage
check_command check_nt!MEMUSE -w 80 -c 90
}
define service{
use generic-service
host_name svWin
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE -l c -w 80 -c 90
}
define service{
use generic-service
host_name svWin
service_description Explorer
check_command check_nt!PROCSTATE -d SHOWALL -l Explorer.exe
}