NSClient++ unter Windows installieren und konfigurieren

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen
Hinweis: Bitte beachten Sie, dass dieser Artikel / diese Kategorie sich entweder auf ältere Software/Hardware Komponenten bezieht oder aus sonstigen Gründen nicht mehr gewartet wird.
Diese Seite wird nicht mehr aktualisiert und ist rein zu Referenzzwecken noch hier im Archiv abrufbar.

NSClient++ bietet einen komfortablen Weg um Windows-Systeme zu überwachen. Über NRPE oder vordefinierte check_nt Kommandos wird ein Windows-Host in eine vorhandene Monitoring-Lösung eingebunden. Dieser Artikel schildert, wie ein Windows Server 2012 oder 2016 mit NSClient++ vorbereitet und in Icinga integriert wird.

Installation

Für die Installation von NSClient++ werden msi-Installer angeboten.

  • Download des msi-Installations-Assistenten für den NSCP-Dienst:
  • Nachfolgende Bildergalerie zeigt die Installation der NSClient++ Version 0.4.4.15, sie ist ebenso für die Version 0.5.2.35 gültig.
    • Hinweise:
      • In Schritt vier wird die IP-Adresse eingetragen ("Allowed hosts"), die sich zum NSCP verbinden darf. Das ist typischerweise die IP des Icinga-Servers.
      • In Schritt vier kann außerdem ein Passwort für das check_nt-Plugin vergeben werden.

Debug-Modus

Der NSClient++ kann zum Testen im Debug Modus gestartet werden. Setzen Sie dazu in der Eingabeaufforderung in dessen Installationsverzeichnis den Befehl nscp test ab. Ein Test vom Icinga-Server aus offenbart, ob die Netzwerkkommunikation funktioniert (NSCP muss am Windows-Host gestartet sein):

:~$ telnet 10.1.102.200 12489
Trying 10.1.102.200...
Connected to 10.1.102.200.

Plugins Testen

Einige Plugins liefert NSClient++ bereits mit, diese werden über NRPE oder check_nt aufgerufen.

check_nrpe

Der bevorzugte Monitoring-Art ist auch für einen Windows-Host NRPE. Für die Aktivierung von NRPE mit Argumenten wird in der Datei C:\Program Files\NSClient++\nsclient.ini folgender Abschnitt hinzugefügt:

; Section for NRPE (NRPEServer.dll) (check_nrpe) protocol options.
[/settings/NRPE/server]

; COMMAND ARGUMENT PROCESSING - This option determines whether or not the we will allow clients to specify arguments to commands that are executed.
allow arguments = true

Nach einem Neustart des NSCP-Services werden über NRPE auch Argumenten angenommen:[1]

Beispielausgaben, ausgeführt am Icinga-Server:

:~# /usr/lib/nagios/plugins/check_nrpe -H 10.1.102.200 -p 5666 -c CheckServiceState -a Server
OK: All 1 service(s) are ok.|'Server'=4;0;4
:~# /usr/lib/nagios/plugins/check_nrpe -H 10.1.102.200 -p 5666 -c CheckCPU -a warn=80% crit=95% time=5m ShowAll=long
OK: CPU Load: 5m: average load 1%, 5m: average load 1%|'core 0 5m'=1%;80;95 'total 5m'=1%;80;95

check_nt

check_nt besitzt vordefinierte Alias, mit der ein Windows-Host überwacht wird. Das checkt_nt[2] Script testet die Plugins des Windows-Hosts (10.1.102.200) vom Icinga-Server (10.1.102.16) aus:

:~# /usr/lib/nagios/plugins/check_nt -H 10.1.102.200 -p 12489 -v CLIENTVERSION
NSClient++ 0.5.0.62 2016-09-14

Laut NSClient++ Dokumentation wird ein Einsatz von check_nt nicht empfohlen. Der Funktionsumfang gegenüber check_nrpe ist stark eingeschränkt, jedoch ist die Konfiguration einfacher und somit für Einsteiger besser geeignet.[3] [4]

Hinweis zu Icinga 2 und Nagios

Die vom NSClient++ mitgelieferten Diffie-Hellman-Schlüssel werden beim Einsatz einer aktuellen Icinga 2 beziehungsweise Nagios Version nicht mehr akzeptiert.[5] Der Grund hierfür ist, dass die beim NSClient++ mitgelieferte Schlüssellänge des Diffie-Hellmann-Schlüssels mit 512 Bit keine ausreichende Länge hat:

Could not complete SSL handshake with <Hostname>: dh key too small

Eine Abhilfe schafft die folgende Vorgehensweise:

  1. Erstellen Sie an einem Linux-Host einen DH Key mit 2048 Bit Schlüssellänge:
    openssl dhparam -C 2048
  2. Übertragen Sie diesen Schlüssel zu dem Windows-Server mit installiertem NSClient++.
  3. Legen Sie die Datei in dem folgenden Verzeichnis ab:
    C:\Program Files\NSClient++\security\nrpe_dh_2048.pem
  4. Öffnen Sie mit Administratorrechten die NSClient++ Konfigurationsdatei:
    C:\Program Files\NSClient++\nsclient.ini
  5. Fügen Sie im Abschnitt /settings/NRPE/server den folgenden Eintrag an:
    [/settings/NRPE/server]
    dh = ${certificate-path}/nrpe_dh_2048.pem
  6. Speichern Sie anschließend die Datei und starten Sie den NSClient++ Dienst neu.

Web UI

NSClient++ liefert nun auch ein komfortables browserbasiertes Konfigurationsmenü mit. Wenn Sie dies verwenden wollen, stellen Sie sicher dass bei der Installation in Schritt 4 die Checkbox Enable Web server angewählt wurde. Zusätzlich muss in der nsclient.ini unterhalb der Sektion /modules noch ein Eintrag zum Webserver erfolgen.[6]

WEBServer=enabled

[...]
; WEB SERVER SECTION - Section for WEB (WEBServer.dll) (check_WEB) protocol options.
[/settings/WEB/server]

; PASSWORD
password = <PASSWORD>

Einzelnachweise

Foto Georg Schönberger.jpg

Autor: Georg Schönberger

Georg Schönberger, Abteilung DevOps bei der XORTEX eBusiness GmbH, absolvierte an der FH OÖ am Campus Hagenberg sein Studium zum Bachelor Computer- und Mediensicherheit, Studium Master Sichere Informationssysteme. Seit 2015 ist Georg bei XORTEX beschäftigt und arbeitet sehr lösungsorientiert und hat keine Angst vor schwierigen Aufgaben. Zu seinen Hobbys zählt neben Linux auch Tennis, Klettern und Reisen.


Foto Thomas Niedermeier.jpg

Autor: Thomas Niedermeier

Thomas Niedermeier arbeitet im Product Management Team von Thomas-Krenn. Er absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich unter anderem um OPNsense Firewalls, das Thomas-Krenn-Wiki und Firmware Sicherheitsupdates.

Icon-Twitter.png 

Das könnte Sie auch interessieren

CEP CT63 Modem Installation unter Ubuntu 12.04 LTS
MultiTech MTD-H5-2.0
Nagios Installation in Debian 5.0 Lenny