GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So überwachen Sie entfernte Windows-Rechner mit Nagios unter Linux


In den vorherigen Artikeln haben wir über die Nagios 3.0 Jumpstart-Anleitung und die Verwendung von Remote-Linux-Hosts gesprochen Nagios 3.0. In diesem Artikel erkläre ich, wie Sie entfernte Windows-Rechner und die verschiedenen Dienste, die auf dem Windows-Server ausgeführt werden, mithilfe des Nagios-Überwachungsservers überwachen. Die folgenden drei Abschnitte werden in diesem Artikel behandelt.

Ich. Übersicht
II. 4 Schritte zur Installation von Nagios auf einem entfernten Windows-Host

  1. Installieren Sie NSClient++ auf dem entfernten Windows-Server
  2. Ändern Sie den NSClient++-Dienst
  3. Ändern Sie die NSC.ini
  4. Starten Sie den NSClient++-Dienst

III. 6 Konfigurationsschritte auf Nagios Monitoring Server

  1. Check_nt-Befehl und Windows-Server-Vorlage überprüfen
  2. Entkommentieren Sie windows.cfg in /usr/local/nagios/etc/nagios.cfg
  3. Ändern Sie /usr/local/nagios/etc/objects/windows.cfg
  4. Definieren Sie Windows-Dienste, die überwacht werden sollen.
  5. Passwortschutz aktivieren
  6. Konfiguration überprüfen und Nagios neu starten.

Ich. Übersicht

.
Die folgenden drei Schritte werden auf sehr hohem Niveau ausgeführt, wenn Nagios (installiert auf dem Nagios-Server) einen Dienst (z. B. für die Speicherplatznutzung) auf dem entfernten Windows-Host überwacht.

  1. Nagios führt den Befehl check_nt auf dem Nagios-Server aus und fordert ihn auf, die Festplattennutzung auf dem entfernten Windows-Host zu überwachen.
  2. Das check_nt auf dem Nagios-Server kontaktiert den NSClient++-Dienst auf dem entfernten Windows-Host und fordert ihn auf, den USEDDISKSPACE auf dem entfernten Host auszuführen.
  3. Die Ergebnisse des USEDDISKSPACE-Befehls werden vom NSClient++-Daemon an check_nt auf dem Nagios-Server zurückgegeben.


Der folgende Ablauf fasst die obige Erklärung zusammen:

Nagios-Server (check_nt) —–> Remote-Host (NSClient++) —–> USEDDISKSPACE
Nagios-Server (check_nt) <—– Remote-Host (NSClient++) <—– USEDDISKSPACE (gibt Speicherplatznutzung zurück)

II. 4 Schritte zum Einrichten von Nagios auf einem entfernten Windows-Host

.

1. Installieren Sie NSClient++ auf dem entfernten Windows-Server

Laden Sie NSCP 0.3.1 (NSClient++-Win32-0.3.1.msi) aus dem NSClient++-Projekt herunter. NSClient++ ist ein Open-Source-Windows-Dienst, mit dem Leistungsmetriken von Nagios für Windows-Dienste gesammelt werden können. Führen Sie die folgenden fünf NSClient++-Installationsschritte durch, um die Installation abzuschließen.

(1) NSClient++-Willkommensbildschirm

(2) Lizenzvereinbarungsbildschirm

(3) Installationsoption und -ort auswählen . Verwenden Sie die Standardoption und klicken Sie auf Weiter.



(4) Installationsbereit-Bildschirm . Klicken Sie auf Installieren, um es zu starten.

(5) Bildschirm „Installation abgeschlossen“ .

2. Ändern Sie den NSClient++-Dienst

Gehen Sie zu Systemsteuerung -> Verwaltung -> Dienste. Doppelklicken Sie auf den Dienst „NSClientpp (Nagios) 0.3.1.14 2008-03-12 w32“ und aktivieren Sie das Kontrollkästchen „Interaktion des Dienstes mit dem Desktop zulassen“, wie unten gezeigt.

3. Ändern Sie die NSC.ini

(1) NSC.ini ändern und *.dll auskommentieren: Bearbeiten Sie die Datei C:\Program Files\NSClient++\NSC.ini und kommentieren Sie alles unter [modules] außer RemoteConfiguration.dll und CheckWMI.dll

aus
[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


(2) Ändern Sie NSC.ini und kommentieren Sie „allowed_hosts“ aus. Bearbeiten Sie die Datei C:\Program Files\NSClient++\NSC.ini und entfernen Sie das Kommentarzeichen Allowed_host unter Einstellungen und fügen Sie die IP-Adresse des Nagios-Servers hinzu.

;# 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=192.168.1.2/255.255.255.0

Hinweis: allow_host befindet sich unter den Abschnitten [Settings], [NSClient] und [NRPE]. Stellen Sie sicher, dass Sie zu diesem Zweck den Allowed_host unter [Settings] ändern.

(3) NSC.ini ändern und Port auskommentieren. Bearbeiten Sie die Datei C:\Program Files\NSClient++\NSC.ini und kommentieren Sie die Portnummer im Abschnitt [NSClient]

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


(4) NSC.ini ändern und Passwort angeben. Sie können auch ein Passwort angeben, das der Nagios-Server verwenden muss, um aus der Ferne auf den NSClient++-Agenten zuzugreifen.

[Settings]
;# OBFUSCATED PASSWORD
;  This is the same as the password option but here you can store the password in an obfuscated manner.
;  *NOTICE* obfuscation is *NOT* the same as encryption, someone with access to this file can still figure out the
;  password. Its just a bit harder to do it at first glance.
;obfuscated_password=Jw0KAUUdXlAAUwASDAAB
;
;# PASSWORD
;  This is the password (-s) that is required to access NSClient remotely. If you leave this blank everyone will be able to access the daemon remotly.
password=My2Secure$Password

4. Starten Sie den NSClient++-Dienst

Starten Sie den NSClient++-Dienst entweder über die Systemsteuerung -> Verwaltung -> Dienste -> Wählen Sie „NSClientpp (Nagios) 0.3.1.14 2008-03-12 w32“ und klicken Sie auf Start (oder) Klicken Sie auf „Start -> Alle Programme -> NSClient++ -> NSClient++ (Win32) starten . Bitte beachten Sie, dass dadurch der NSClient++ als Windows-Dienst gestartet wird.

Wenn Sie später etwas in der NSC.ini-Datei ändern, sollten Sie „NSClientpp (Nagios) 0.3.1.14 2008-03-12 w32“ vom Windows-Dienst neu starten.

III. 6 Konfigurationsschritte auf dem Nagios Monitoring Server

.

1. Überprüfen Sie den check_nt-Befehl und die Windows-Server-Vorlage

Stellen Sie sicher, dass check_nt unter /usr/local/nagios/etc/objects/commands.cfg

aktiviert ist
# 'check_nt' command definition
define command{
command_name    check_nt
command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
}


Stellen Sie sicher, dass das Windows-Server-Template unter /usr/local/nagios/etc/objects/templates.cfg aktiviert ist

# Windows host definition template - This is NOT a real host, just a template!
define host{
name                    windows-server  ; The name of this host template
use                     generic-host    ; Inherit default values from the generic-host template
check_period            24x7            ; By default, Windows servers are monitored round the clock
check_interval          5               ; Actively check the server every 5 minutes
retry_interval          1               ; Schedule host check retries at 1 minute intervals
max_check_attempts      10              ; Check each server 10 times (max)
check_command           check-host-alive        ; Default command to check if servers are "alive"
notification_period     24x7            ; Send notification out at any time - day or night
notification_interval   30              ; Resend notifications every 30 minutes
notification_options    d,r             ; Only send notifications for specific host states
contact_groups          admins          ; Notifications get sent to the admins by default
hostgroups              windows-servers ; Host groups that Windows servers should be a member of
register                0               ; DONT REGISTER THIS - ITS JUST A TEMPLATE
}

2. Entkommentieren Sie windows.cfg in /usr/local/nagios/etc/nagios.cfg

# Definitions for monitoring a Windows machine
cfg_file=/usr/local/nagios/etc/objects/windows.cfg

3. Ändern Sie /usr/local/nagios/etc/objects/windows.cfg

Standardmäßig ist unter windows.cfg eine Beispiel-Host-Definition für einen Windows-Server angegeben, ändern Sie diese, um den entsprechenden Windows-Server widerzuspiegeln, der durch Nagios überwacht werden muss.

# 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   remote-windows-host      ; The name we're giving to this host
alias            Remote Windows Host     ; A longer name associated with the host
address       192.168.1.4                   ; IP address of the remote windows host
}

4. Definieren Sie Windows-Dienste, die überwacht werden sollen.

Im Folgenden sind die standardmäßigen Windows-Dienste aufgeführt, die bereits in der Beispieldatei „windows.cfg“ aktiviert sind. Stellen Sie sicher, dass Sie den Hostnamen dieser Dienste aktualisieren, damit er den im obigen Schritt definierten Hostnamen widerspiegelt.

define service{
use                     generic-service
host_name               remote-windows-host
service_description     NSClient++ Version
check_command           check_nt!CLIENTVERSION
}
define service{
use                     generic-service
host_name               remote-windows-host
service_description     Uptime
check_command           check_nt!UPTIME
}
define service{
use                     generic-service
host_name               remote-windows-host
service_description     CPU Load
check_command           check_nt!CPULOAD!-l 5,80,90
}
define service{
use                     generic-service
host_name               remote-windows-host
service_description     Memory Usage
check_command           check_nt!MEMUSE!-w 80 -c 90
}
define service{
use                     generic-service
host_name               remote-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               remote-windows-host
service_description     W3SVC
check_command           check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}
define service{
use                     generic-service
host_name               remote-windows-host
service_description     Explorer
check_command           check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}

5. Passwortschutz aktivieren

Wenn Sie ein Passwort in der NSC.ini-Datei der NSClient++-Konfigurationsdatei auf dem Windows-Rechner angegeben haben, müssen Sie die check_nt-Befehlsdefinition so ändern, dass sie das Passwort enthält. Ändern Sie die Datei /usr/local/nagios/etc/commands.cfg und fügen Sie das Passwort wie unten gezeigt hinzu.

define command{
command_name	check_nt
command_line	$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s My2Secure$Password -v $ARG1$ $ARG2$
}

6. Überprüfen Sie die Konfiguration und starten Sie Nagios neu.

Überprüfen Sie die Nagios-Konfigurationsdateien wie unten gezeigt.

[nagios-server]# /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


Starten Sie Nagios wie unten gezeigt neu.

[nagios-server]# /etc/rc.d/init.d/nagios stop
Stopping nagios: .done.

[nagios-server]# /etc/rc.d/init.d/nagios start
Starting nagios: done.


Überprüfen Sie den Status der verschiedenen Dienste, die auf dem Remote-Windows-Host ausgeführt werden, von der Nagios-Web-UI (http://nagios-server/nagios), wie unten gezeigt.

Bestes Nagios-Buch

Nagios Core 3 eBook – Ich benutze Nagios seit mehreren Jahren und kann mit dem Wissen nachts ruhig schlafen dass Nagios alle meine Systeme überwacht und mich vor jedem möglichen Problem warnt, bevor es kritisch wird. Ich empfehle Ihnen dringend, das E-Book Nagios Core 3 zu lesen, um ein detailliertes Verständnis von Nagios zu erlangen. Da Nagios freie Software ist, kann es die beste Investition sein, ein paar Dollar für das Buch auszugeben.

Tolle Nagios-Artikel

Es folgen einige tolle Nagios-Artikel die Sie vielleicht hilfreich finden.

  • Überwachen eines Remote-Linux-Hosts mit Nagios 3
  • Überwachen von Netzwerk-Switches und -Ports mit Nagios
  • Nagios 3 Jumpstart Guide für Linux – Übersicht, Installation und Konfiguration

Linux
  1. So mounten Sie die Remote-Windows-Freigabe unter Linux

  2. Remote-Desktop von Windows auf Linux-Desktop mit XRDP

  3. So stellen Sie mit Remmina von Lubuntu Linux aus eine Verbindung zu einem entfernten Windows-Computer her

  4. Verwenden von Windows-DLL von Linux

  5. Woher weiß ich, ob ein Remote-Computer Windows oder Linux verwendet?

So überwachen Sie Dateiänderungen mit fswatch unter Linux

So überwachen Sie die Betriebszeit von Linux-Systemen mit Uptimed

So konfigurieren Sie die X11-Weiterleitung mit SSH unter Linux

So führen Sie Linux-Apps unter Windows 10 und 11 mit WSL aus

So führen Sie eine Remote-Linux-Sicherung mit SSH durch

So überwachen Sie eine Linux-Maschine über Nagios