Website-Suche

So fügen Sie einen Windows-Host zum Nagios Monitoring Server hinzu


In diesem Artikel wird beschrieben, wie Sie „private Dienste von Windows-Maschinen wie CPU-Auslastung, Festplattennutzung usw. überwachen >Speichernutzung, Dienste usw. Dazu mussten wir ein NSClient++-Add-on auf dem Windows-Rechner installieren. Das Add-on fungiert als Proxy zwischen der Windows-Maschine und Nagios und überwacht die tatsächlichen Dienste durch die Kommunikation mit dem check_nt-Plugin. Das check_nt-Plugin ist bereits auf dem Nagios Monitoring Server installiert, wenn Sie unserer Nagios-Installationsanleitung gefolgt sind.

Wir gehen davon aus, dass Sie den Nagios-Server bereits gemäß unseren folgenden Anleitungen installiert und konfiguriert haben.

  1. So installieren Sie Nagios 4.0.1 auf RHEL/CentOS 6.x/5.x und Fedora 19/18/17
  2. Fügen Sie einen Linux-Host zum Nagios Monitoring Server hinzu

Um Windows-Maschinen zu überwachen, müssen Sie mehrere Schritte ausführen:

  1. Installieren Sie das NSClient++-Add-on auf dem Windows-Computer.
  2. Konfigurieren Sie Nagios Server für die Überwachung von Windows-Maschinen.
  3. Fügen Sie neue Host- und Dienstdefinitionen für die Windows-Maschinenüberwachung hinzu.
  4. Starten Sie den Nagios-Dienst neu.

Um diese Anleitung einfacher und einfacher zu gestalten, wurden einige Konfigurationen bereits in der Nagios-Installation für Sie vorgenommen.

  1. Eine check_nt-Befehlsdefinition, die bereits zur Datei command.cfg hinzugefügt wurde. Dieser Definitionsbefehl wird vom check_nt-Plugin zur Überwachung von Windows-Diensten verwendet.
  2. Eine Windows-Server-Host-Vorlage, die bereits in der Datei templates.cfg erstellt wurde. Mit dieser Vorlage können Sie neue Windows-Hostdefinitionen hinzufügen.

Die beiden oben genannten Dateien „command.cfg“ und „templates.cfg“ finden Sie unter /usr/local/nagios/etc/objects/-Verzeichnis. Sie können Ihre eigenen Definitionen ändern und hinzufügen, die Ihren Anforderungen entsprechen. Ich empfehle Ihnen jedoch, die in diesem Artikel beschriebenen Anweisungen zu befolgen, und Sie werden Ihren Windows-Host in weniger als 20 Minuten erfolgreich überwachen.

Schritt 1: Installieren des NSClient++-Agenten auf einem Windows-Computer

Bitte befolgen Sie die nachstehenden Anweisungen, um den NSClient++ Agent auf dem Remote-Windows-Host zu installieren. Laden Sie zunächst die neueste stabile Version der Add-on-Quelldateien NSClient++ 0.3.1 herunter, die Sie unter dem folgenden Link finden.

  1. http://sourceforge.net/projects/nscplus/

Sobald Sie die neueste stabile Version heruntergeladen haben, entpacken Sie die NSClient++-Dateien in ein neues C:\NSClient++-Verzeichnis.

Öffnen Sie nun eine MS-DOS-Eingabeaufforderung vom Startbildschirm –> Ausführen –> geben Sie „cmd“ ein und Drücken Sie die Eingabetaste und wechseln Sie in das Verzeichnis C:\NSClient++.

C:\NSClient++

Registrieren Sie als Nächstes den Dienst NSClient++ auf dem System mit dem folgenden Befehl.

nsclient++ /install

Installieren Sie abschließend den NSClient++-Systray mit dem folgenden Befehl.

nsclient++ SysTray

Öffnen Sie den Windows-Dienste-Manager und klicken Sie mit der rechten Maustaste auf NSClient. Gehen Sie zu Eigenschaften und dann auf die Registerkarte „Anmelden“ und klicken Sie darauf das Kontrollkästchen „Dienst darf mit dem Desktop interagieren“ aktivieren. Wenn dies nicht bereits zulässig ist, aktivieren Sie bitte das Kontrollkästchen, um dies zuzulassen.

Öffnen Sie die Datei NSC.INI im Verzeichnis C:\NSClient++ und kommentieren Sie alle im Abschnitt „modules“ definierten Module aus, mit Ausnahme von CheckWMI.dll und 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

Kommentieren Sie „allowed_hosts“ im Abschnitt „Einstellungen“ aus und definieren Sie die IP-Adresse Ihres Nagios Monitoring Servers oder Lassen Sie das Feld leer, damit alle Hosts eine Verbindung herstellen können.

[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

Kommentieren Sie den „Port“ im Abschnitt „NSClient“ aus und stellen Sie ihn auf den Standardport „12489“ ein. Stellen Sie sicher, dass der Port „12489“ in der Windows-Firewall geöffnet ist.

[NSClient]
;# NSCLIENT PORT NUMBER
;  This is the port the NSClientListener.dll will listen to.
port=12489

Starten Sie abschließend den Dienst NSClient++ mit dem folgenden Befehl.

nsclient++ /start

Wenn Sie ordnungsgemäß installiert und konfiguriert sind, sollten Sie in der Taskleiste ein neues Symbol in einem gelben Kreis mit einem schwarzen „M“ darin sehen.

Schritt 2: Nagios-Server konfigurieren und Windows-Hosts hinzufügen

Melden Sie sich nun bei Nagios Server an und fügen Sie einige Objektdefinitionen in Nagios-Konfigurationsdateien hinzu, um neue Windows-Maschinen zu überwachen. Öffnen Sie die Datei windows.cfg zur Bearbeitung mit dem Vi-Editor.

[root@tecmint]# vi /usr/local/nagios/etc/objects/windows.cfg

Eine Beispiel-Windows-Hostdefinition, die bereits für den Windows-Computer definiert ist. Sie können einfach die Hostdefinition wie die Felder Hostname, Alias und Adresse entsprechend ändern Werte Ihres Windows-Rechners.

###############################################################################
###############################################################################
#
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
        }

Die folgenden Dienste sind bereits in der Datei windows.cfg hinzugefügt und aktiviert. Wenn Sie weitere Servicedefinitionen hinzufügen möchten, die überwacht werden müssen, können Sie diese Definitionen einfach derselben Konfigurationsdatei hinzufügen. Stellen Sie sicher, dass Sie den Hostnamen für alle diese Dienste ändern, wobei der Hostname im obigen Schritt definiert wurde.

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
	}

Zum Schluss entkommentieren Sie die Datei windows.cfg in /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

Überprüfen Sie abschließend die Nagios-Konfigurationsdateien auf etwaige Fehler.

[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

Wenn der Verifizierungsprozess Fehlermeldungen auslöst, beheben Sie diese Fehler, bis der Verifizierungsprozess ohne Fehlermeldungen abgeschlossen ist. Sobald Sie diese Fehler behoben haben, starten Sie den Nagios-Dienst neu.

[root@tecmint]# service nagios restart

Running configuration check...done.
Stopping nagios: done.
Starting nagios: done.

Das ist es. Gehen Sie nun zur Nagios Monitoring-Weboberfläche unter „http://Ihre-Server-IP-Adresse/nagios“ oder „http://FQDN/nagios“ und geben Sie die ein Benutzername „nagiosadmin“ und Passwort. Überprüfen Sie, ob der Remote-Windows-Host hinzugefügt wurde und überwacht wird.

Das ist es! In meinem kommenden Artikel werde ich Ihnen vorerst zeigen, wie Sie Drucker und Switches zum Nagios Monitoring Server hinzufügen. Wenn Sie beim Hinzufügen eines Windows-Hosts zu Nagios auf Schwierigkeiten stoßen. Bitte kommentieren Sie Ihre Fragen im Kommentarbereich. Bis dahin bleiben Sie auf dem Laufenden bei linux-console.net für weitere wertvolle Artikel dieser Art.