So fügen Sie einen Windows-Host zum Nagios Monitoring Server hinzu
In diesem Artikel wird beschrieben, wie Sie "private" Dienste von Windows-Rechnern wie CPU-Last, Festplattenauslastung, Speicherauslastung, Dienste usw. überwachen. Dazu mussten wir ein NSClient++-Addon auf dem Windows-Rechner installieren. Das Addon fungiert als Proxy zwischen dem Windows-Rechner und Nagios und überwacht die tatsächlichen Dienste, indem es mit dem check_nt-Plugin kommuniziert. Das check_nt Plugin bereits auf dem Nagios Monitoring Server installiert, wenn Sie unserer Nagios-Installationsanleitung gefolgt sind.
Wir gehen davon aus, dass Sie den Nagios-Server bereits installiert und gemäß unseren folgenden Anleitungen konfiguriert haben.
- So installieren Sie Nagios 4.0.1 auf RHEL/CentOS 6.x/5.x und Fedora 19/18/17
- Hinzufügen eines Linux-Hosts zum Nagios Monitoring Server
Um Windows-Computer zu überwachen, müssen Sie mehrere Schritte ausführen, und zwar die folgenden:
- Installieren Sie das Addon NSClient++ auf dem Windows-Rechner.
- Konfigurieren Sie den Nagios-Server für die Überwachung von Windows-Rechnern.
- Fügen Sie neue Host- und Servicedefinitionen für die Überwachung von Windows-Maschinen hinzu.
- Starten Sie den Nagios-Dienst neu.
Um diese Anleitung einfach und leichter zu machen, einige der Konfigurationen, die bereits in der Nagios-Installation für Sie vorgenommen wurden.
- Eine check_nt Befehlsdefinition, die der Datei command.cfg bereits hinzugefügt wurde. Dieser Definitionsbefehl wird von check_nt Plugin verwendet, um Windows-Dienste zu überwachen.
- Eine Windows-Server-Hostvorlage, 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" befinden sich im Verzeichnis /usr/local/nagios/etc/objects/. 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 folgenden Anweisungen, um den NSClient++-Agenten auf dem Remote-Windows-Host zu installieren. Laden Sie zuerst die neueste stabile Version der NSClient++ 0.3.1 Addon-Quelldateien herunter, die unter dem folgenden Link zu finden sind.
- http://sourceforge.net/projects/nscplus/
Nachdem Sie die neueste stabile Version heruntergeladen haben, entpacken Sie die NSClient++-Dateien in ein neues Verzeichnis C:\NSClient++.
Öffnen Sie nun eine MS-DOS-Eingabeaufforderung über den Startbildschirm –> Ausführen –> geben Sie 'cmd' ein, drücken Sie die Eingabetaste und wechseln Sie in das Verzeichnis C:\NSClient++.
C:\NSClient++Registrieren Sie als Nächstes den NSClient++-Dienst mit dem folgenden Befehl auf dem System.
nsclient++ /installInstallieren 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 zur Registerkarte "Anmelden" und aktivieren Sie das Kontrollkästchen "Dem Dienst erlauben, mit dem Desktop zu interagieren". Wenn dies noch nicht erlaubt ist, aktivieren Sie bitte das Kontrollkästchen, um dies zuzulassen.
Öffnen Sie NSC. INI-Datei 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.dllKommentieren Sie das "allowed_hosts" im Abschnitt "Einstellungen" aus und definieren Sie die IP-Adresse Ihres Nagios Monitoring Servers oder lassen Sie sie leer, um allen Hosts die Verbindung zu ermöglichen.
[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
Heben Sie die Auskommentierung des "ports" im Abschnitt "NSClient" auf und setzen Sie den Standardport "12489". 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 NSClient++-Dienst mit dem folgenden Befehl.
nsclient++ /startWenn Sie richtig installiert und konfiguriert sind, sollten Sie in der Taskleiste ein neues Symbol in einem gelben Kreis mit einem schwarzen "M" darin sehen.
Schritt 2: Konfigurieren des Nagios-Servers und Hinzufügen von Windows-Hosts
Melden Sie sich nun beim Nagios Server an und fügen Sie einige Objektdefinitionen in Nagios-Konfigurationsdateien hinzu, um neue Windows-Rechner zu überwachen. Öffnen Sie die Datei windows.cfg zur Bearbeitung mit dem Vi-Editor.
[root@tecmint]# vi /usr/local/nagios/etc/objects/windows.cfgDa es sich um eine bereits für den Windows-Computer definierte Windows-Hostdefinition handelt, können Sie die Hostdefinition wie host_name-, Alias- und Adressfelder einfach in die entsprechenden Werte Ihres Windows-Computers ändern.
###############################################################################
###############################################################################
#
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 wurden bereits in der Datei windows.cfg hinzugefügt und aktiviert. Wenn Sie weitere Service-Definitionen hinzufügen möchten, die überwacht werden müssen, können Sie diese Definitionen einfach derselben Konfigurationsdatei hinzufügen. Stellen Sie sicher, dass Sie die host_name für alle Dienste mit den im obigen Schritt definierten host_name ändern.
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
}Zu guter Letzt entfernen Sie die Auskommentierung der 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 Fehler.
[root@tecmint]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfgTotal Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight checkWenn der Überprüfungsprozess Fehlermeldungen auslöst, beheben Sie diese Fehler, bis der Überprüfungsprozess 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 wars. Gehen Sie nun auf die Nagios Monitoring Weboberfläche unter "http://Your-server-IP-address/nagios" oder "http://FQDN/nagios" und geben Sie den Benutzernamen "nagiosadmin" und das Passwort ein. Überprüfen Sie, ob der Remote-Windows-Host hinzugefügt wurde und überwacht wird.
Das wars! In meinem kommenden Artikel zeige ich Ihnen, wie Sie Drucker und Switches zu Nagios Monitoring Server hinzufügen können. Wenn Sie Schwierigkeiten beim Hinzufügen des Windows-Hosts zu Nagios haben. Bitte kommentieren Sie Ihre Fragen über den Kommentarbereich, bis dahin bleiben Sie auf linux-console.net, um weitere solche wertvollen Artikel zu erhalten.

