Windows Hosts mit Nagios überwachen

Auch Windows Systeme lassen sich mit Hilfe von NSClient++ hervorragend in das Nagios Monitoring integrieren. Dieser sollte unter allen gängigen Windows Versionen installierbar sein und vernünftige Werte liefern. Auf folgenden Systemen konnte ich die Funktion NSClient++ bisher selbst testen:

  • Windows 2003 Server
  • Windows 2012 Server
  • Windows 7 Professional

Schritt 1: NSClient++ auf dem Windows System installieren

Dazu läd man sich zuerst die aktuellste Version von NSClient++ herunter.

http://nsclient.org/nscp/downloads

Im Anschluss öffnet man die heruntergeladene Datei und bestätigt die  Installationsschritte mit weiter. Lediglich in dem folgenden Teil der Installation müssen Anpassungen vorgenommen werden.

Installation von NSClient++

Hier gibt man zunächst die IP Adresse des Nagios Servers sowie ein beliebiges Passwort* an. Danach wählt man mindestens „Enable common check plugins“ und „Enable nsclient server (check_nt)“ aus. Die Einstellungen können später jederzeit in folgender Datei angepasst werden:

C:\Program Files\NSClient++\nsclient.ini

* Achtung bei der Vergabe von Passwörtern mit Sonderzeichen. Das Passwort wird bei jedem Check als Parameter übergeben (siehe unten). Wird eine Raute (#) im Passwort verwendet, wird der Rest des Passworts hinter der Raute und auch das restliche Kommando als Kommentar interpretiert. Das Kommando wird damit also nicht korrekt ausgeführt und wirft einen Fehler aus.

Schritt 2: Check command anpassen

Standardmäßig arbeitet das Kommano check_nt, welches zur Abfrage von NSClient++ verwendet wird, nicht korrekt und muss angepasst werden.

nano /etc/nagios-plugins/config/nt.cfg

Hier passt man das Kommando folgendermaßen an:

define command {
command_name check_nt
command_line /usr/lib/nagios/plugins/check_nt -H $HOSTADDRESS$ -p 12489 -s $USER4$ -v $ARG1$ $ARG2$
}

Schritt 3: Passwort hinterlegen

In Schritt 2 wurde aus Sicherheitsgründen anstelle des Passworts die Variable $USER4$ angegeben. Diese muss nun in der Konfigurationsdatei resource.cfg definiert werden.

nano /etc/nagios3/resource.cfg

Hier fügt man Folgendes ein:

$USER4$=passwort

Schritt 3: Host anlegen

Nun kann ein Host zur Überwachung angelegt werden.

nano /etc/nagios3/conf.d/windows-host.cfg

Darin wird nun der Host und die zu überprüfenden Services eingetragen.

define host {
use generic-host
host_name windows-host
alias windows-host
address <ip-des-hosts>
}
define service{
use generic-service
host_name windows-host
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
define service{
use generic-service
host_name windows-host
service_description Uptime
check_command check_nt!UPTIME
}
define service{
use generic-service
host_name windows-host
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
define service{
use generic-service
host_name windows-host
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}
define service{
use generic-service
host_name windows-host
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l C -w 80 -c 90
}
define service{
use generic-service
host_name windows-host
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}
define service{
use generic-service
host_name windows-host
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l explorer.exe
}

Schritt 4: Neustart

Im Anschluss wird Nagios neu gestartet, damit die Einstellungen wirksam werden.

/etc/init.d/nagios3 restart

2 Gedanken zu „Windows Hosts mit Nagios überwachen

  1. Daniel Hüther

    Hallo Markus, Wenn ich das recht sehe sind die Command Defintion des Windows Systems ja die Defaults vom NSCP++ Client? Wünschenswert wäre eine Erklärung wie man diese Erweitert bsp auch über die WebGUI vom Client oder manuel in der config file. Ansonsten ein guter kleiner Artikel zum Thema Nagios und Windows :)

    Antworten
    1. Markus Mansshardt Beitragsautor

      Hi Daniel, danke für dein Feedback. Bei diesem Tutorial handelt es sich nur um die Basics für kleine Umgebungen. In größeren Umgebungen solltest du ohnehin auf SNMP zurückgreifen. Das ist schlanker und lässt sich unter Windows einfach aktivieren. Mit check_snmp kannst du die gewünschten Werte dann ganz einfach monitoren.

      Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.