In unserem letzten Artikel haben wir gezeigt, wie man Nagios Core auf Debian 9 installiert, um die Dienste einiger Remote-Hosts zu überwachen. Dazu müssen Sie den Nagios NRPE-Daemon und die Plugins auf den Remote-Hosts installieren. Es ist ein Paket, das auf allen Remote-Hosts installiert wird, die überwacht werden müssen.
NRPE (Nagios Remote Plugin Executor) ist ein Addon, mit dem Sie Nagios-Plugins auf entfernten Linux-Rechnern remote ausführen können. Es ermöglicht Ihnen, die Metriken von Remote-Maschinen (Festplattennutzung, CPU-Last usw.) zu überwachen. Es kann auch mit einigen Windows-Agent-Addons wie NSClient++ kommunizieren, sodass Sie Skripte ausführen und Metriken auch auf entfernten Windows-Hosts überprüfen können. In diesem Artikel erkläre ich Ihnen, wie Sie Ihre Linux- und Windows-Host-Server mit Nagios überwachen können.
Wie funktioniert NRPE?
NRPE ist ein Überwachungsagent und -protokoll, das häufig verwendet wird, um entfernte Hosts mit Nagios zu überwachen. NRPE funktioniert mit:
- ein Client (check_nrpe-Plugin), der auf dem Nagios-Server läuft
- ein Daemon, der auf dem Remote-Server läuft, Anfragen vom Client verarbeitet und Statusinformationen zurückgibt.
Wir können den Prozess durch das folgende Schema zusammenfassen
Nagios Server (check_nrpe)-> Remote host (NRPE deamon)-> service_to_check
Nagios Server (check_nrpe) <-Remote host (NRPE deamon) <-service_to_check
Wenn Nagios eine Dienstressource von einem entfernten Rechner aus überwachen muss:
- Nagios führt die check_nrpe aus Plugin und teilen Sie ihm mit, welche Dienste geprüft werden müssen
- Die check_nrpe Plugin kontaktiert den NRPE-Daemon auf dem entfernten Host
- Der NRPE-Daemon führt das entsprechende Nagios-Plugin aus, um den Dienst oder die Ressource zu prüfen
- Die Ergebnisse der Dienstprüfung werden vom NRPE-Daemon zurück an check_nrpe übergeben plugin, das dann die Prüfergebnisse an den Nagios-Prozess zurückgibt.
NRPE kann so konfiguriert werden, dass es nur Verbindungen von einer bestimmten IP-Adresse akzeptiert. Sie können ihm einfach mitteilen, welche Befehle über die Verbindung ausgeführt werden sollen. Es werden nur Befehle zugelassen, die der lokale Host konfiguriert hat, und Sie können bestimmen, ob Argumente von Nagios gesendet werden.
1) Fügen Sie einen Linux-Host auf dem Nagios-Server hinzu
Um das NRPE-Add-On zu verwenden, müssen Sie einige Aufgaben sowohl auf dem Nagios-Server als auch auf dem entfernten Linux-Host ausführen, auf dem der NRPE-Daemon installiert ist. In unserem Fall ist der Remote-Linux-Host ein Debian 9-Server. Ich werde die Besonderheiten des Verfahrens für Centos- und Ubuntu-Server zeigen.
a) Konfigurieren Sie den Remote-Linux-Host
Wir müssen die Nagios- und NRPE-Plugins auf dem Remote-Server installieren, um sie zu überwachen.
Installieren Sie das Nagios-Plugin
Wir müssen zuerst Voraussetzungen installieren
# apt install -y autoconf gcc libc6 libmcrypt-dev make libssl-dev wget bc gawk dc build-essential snmp libnet-snmp-perl gettext
Installieren Sie auf Centos 7 die Voraussetzungen wie unten beschrieben
# yum install -y gcc glibc glibc-common make gettext automake autoconf wget openssl-devel net-snmp net-snmp-utils epel-release perl-Net-SNMP
Jetzt erstellen wir unser Arbeitsverzeichnis in /opt
Verzeichnis, in das wir die Plugins herunterladen werden
# mkdir /opt/nagios && cd /opt/nagios
# wget --no-check-certificate -O nagios-plugins.tar.gz https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz
# tar zxf nagios-plugins.tar.gz
# cd nagios-plugins-release-2.2.1
Jetzt werden wir die Plugins kompilieren und installieren
# ./tools/setup
# ./configure
# make
# make install
Installieren Sie das nrpe-Plugin
Jetzt können wir die neueste Version von nrpe herunterladen, nämlich nrpe plugin 3.2.0 wenn ich diesen Artikel schreibe.
# cd /opt/nagios/
# wget --no-check-certificate -O nrpe.tar.gz https://github.com/NagiosEnterprises/nrpe/archive/nrpe-3.2.0.tar.gz
# cd nrpe-nrpe-3.2.0
# tar xzf nrpe.tar.gz && cd nrpe-nrpe-3.2.0
Jetzt werden wir es kompilieren
# ./configure --enable-command-args
# make all
Für Ubuntu lautet der Kompilierungsbefehl
# ./configure --enable-command-args --with-ssl-lib=/usr/lib/x86_64-linux-gnu/
# make all
Wir müssen auch Nagios-Benutzer und -Gruppen auf dem Remote-Linux-Host erstellen
# make install-groups-users
Wir installieren die Binärdateien, das NRPE Daemon, der check_nrpe plugin und die Konfigurationsdateien
# make install && make install-config
Jetzt ordnen wir die nrpe-Portnummer (5666) zu zu einem benannten Dienst
# echo >> /etc/services
# echo '# Nagios services' >> /etc/services
# echo 'nrpe 5666/tcp' >> /etc/services
Wir installieren Dienste und stellen sicher, dass nrpe beim Systemstart gestartet wird
# make install-init && systemctl enable nrpe.service
Firewall konfigurieren
Es ist jetzt wichtig, die Firewall so zu konfigurieren, dass sie die gesamte nrpe-Kommunikation akzeptiert
# iptables -I INPUT -p tcp --destination-port 5666 -j ACCEPT
Wir werden iptables installieren -beständig der das automatische Laden der gespeicherten iptables-Regeln übernimmt. Dazu müssen die Regeln in der Datei /etc/iptables/rules.v4
gespeichert werden
# apt install -y iptables-persistent
Achten Sie darauf, mit ja zu antworten vorhandene Regeln zu speichern. Normalerweise können Sie iptables-save verwenden Befehl zum Speichern neuer iptables-Regeln.
Konfigurieren Sie auf Centos 7 die Firewall wie folgt
# firewall-cmd --zone=public --add-port=5666/tcp
# firewall-cmd --zone=public --add-port=5666/tcp --permanent
Autorisieren Sie den Nagios-Server, mit dem Host zu kommunizieren
Nach der Installation des nrpe-Plugins müssen wir alle Hosts konfigurieren, die mit dem nrpe-Plugin auf dem Linux-Host kommunizieren dürfen. Das bedeutet, dass wir die zu erreichenden Nagios-Serverinformationen (IP-Adresse usw.) angeben. Die Datei /usr/local/nagios/etc/nrpe.cfg
ist diejenige, die alle nrpe-Einstellungen enthält.
Suchen Sie die Direktive allowed_hosts
und fügen Sie die private IP-Adresse Ihres Nagios-Servers hinzu
allowed_hosts=172.16.20.128
Suchen Sie die Direktive dont_blame_nrpe
um festzustellen, ob der NRPE-Daemon Clients erlaubt, Argumente für ausgeführte Befehle anzugeben.
dont_blame_nrpe=1
Starten und testen Sie den nrpe-Dienst
Um den nrpe-Dienst zu starten, verwenden Sie den folgenden Befehl
# systemctl start nrpe.service
Um nun zu sehen, ob die Dinge richtig funktionieren, müssen wir sicherstellen, dass der nrpe-Daemon zuerst läuft
# netstat -at | egrep "nrpe|5666"
tcp 0 0 0.0.0.0:nrpe 0.0.0.0:* LISTEN
tcp6 0 0 [::]:nrpe [::]:* LISTEN
Jetzt können wir testen, ob nrpe lokal funktioniert, indem wir das check_nrpe-Plugin ausführen welches installiert wurde
# /usr/local/nagios/libexec/check_nrpe -H localhost
NRPE v3.2.0
Sie sollten die obige Ausgabe haben, die anzeigt, dass das nrpe-Plugin auf dem Linux-Host perfekt funktioniert. Die installierte NRPE-Konfigurationsdatei enthält mehrere Befehlsdefinitionen, mit denen wir unseren Remote-Host überwachen können.
Jetzt müssen wir den Nagios-Server konfigurieren
b) Konfigurieren Sie den Nagios-Server, um den Remote-Host zu erkennen
Dieser Artikel geht davon aus, dass Sie den Nagios-Server bereits auf Debian 9 installiert und konfiguriert haben. Das bedeutet, dass Sie ihn jetzt so konfigurieren, dass er unseren Remote-Linux-Host erkennt und hinzufügt. Wenn Sie es noch nicht konfiguriert haben, folgen Sie bitte diesem Artikel.
Auf dem Nagios-Server müssen wir auch das nrpe-Plugin installieren und eine Konfigurationsdatei für den Linux-Host erstellen.
nrpe-Plugin installieren
Das Verfahren ist genau dasselbe wie auf dem Linux-Host, aber vergessen Sie nicht, dass wir auf dem Nagios-Server bereits einen Nagios-Benutzer und eine Nagios-Gruppe haben, sodass wir diesen Schritt überspringen können. Wir werden in unser Nagios-Arbeitsverzeichnis wechseln
# cd /opt/nagios
# wget --no-check-certificate -O nrpe.tar.gz https://github.com/NagiosEnterprises/nrpe/archive/nrpe-3.2.0.tar.gz
# cd nrpe-nrpe-3.2.0
Jetzt werden wir es kompilieren
# tar xzf nrpe.tar.gz && cd nrpe-nrpe-3.2.0
# ./configure --enable-command-args
# make all
Wir werden Binärdateien und Konfigurationsdateien installieren
# make install && make install-config
Wir müssen auch den nrpe-Dienst hinzufügen
# echo >> /etc/services
# echo '# Nagios services' >> /etc/services
# echo 'nrpe 5666/tcp' >> /etc/services
Wir werden Dienste installieren und sicherstellen, dass nrpe beim Systemstart gestartet wird
# make install-init && systemctl enable nrpe.service
Firewall und nrpe-Dienst konfigurieren
Wir werden auch die Firewall konfigurieren, um die nrpe-Kommunikation mit allen Hosts zuzulassen.
# iptables -I INPUT -p tcp --destination-port 5666 -j ACCEPT
# systemctl start nrpe.service
Testen Sie die Kommunikation mit dem Remote-Linux-Host nrpe-Daemon
Wir müssen sicherstellen, dass check_nrpe Das Plugin kann mit dem NRPE-Daemon auf dem Remote-Host kommunizieren. Wir werden die check_nrpe verwenden plugin mit der IP-Adresse des Remote-Hosts, wie Sie unten sehen können
# /usr/local/nagios/libexec/check_nrpe -H 172.16.20.129
NRPE v3.0
Jetzt werden wir eine Befehlsdefinition verwenden, um zu versuchen, einen Dienst zu überwachen (CPU-Last prüfen ) auf dem Remote-Linux.
# /usr/local/nagios/libexec/check_nrpe -H 172.16.20.129 -c check_load
CRITICAL - load average: 0.01, 0.28, 0.31|load1=0.010;0.150;0.300;0; load5=0.280;0.100;0.250;0; load15=0.310;0.050;0.200;0;
Sie können sehen, dass wir eine Antwort des Remote-Linux zur Überwachung haben. Es zeigt, dass unser Plugin auf dem Remote-Host perfekt funktioniert und die Kommunikation gut ist.
c) Definieren Sie einen neuen Linux-Host und Dienste auf dem Nagios-Server
Nagios enthält standardmäßig einige Objektdefinitionen in /usr/local/nagios/etc/objects
Verzeichnis auf dem Nagios-Server, das jeden Hosttyp darstellt, den Sie möglicherweise überwachen müssen.
# ls /usr/local/nagios/etc/objects/
commands.cfg printer.cfg switch.cfg localhost.cfg timeperiods.cfg windows.cfg
contacts.cfg templates.cfg
Zuerst erstellen wir einen Ordner, in dem wir alle Konfigurationsdateien des Remote-Hosts speichern, die der Nagios-Server überwachen muss.
# mkdir /usr/local/nagios/etc/objects/servers
Nagios hat eine Vorlagendatei templates.cfg die einige Beispiele für Objektdefinitionsvorlagen enthält, auf die von anderen Hosts, Diensten usw. verwiesen wird. Diese Definitionen werden hilfreich sein, wenn wir jede Remote-Host-Dateidefinition erstellen werden.
Standardmäßig überwacht Nagios den Server, auf dem es installiert ist, über die localhost.cfg Datei. Wir werden diese Datei verwenden, um die Konfigurationsdatei für unseren Linux-Host zu erstellen.
# cp /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/servers/linux.cfg
Jetzt werden wir unsere Datei bearbeiten, um unseren Host hinzuzufügen.
# cd /usr/local/nagios/etc/objects/servers/
# vim linux.cfg
###############################################################################
###############################################################################
#
# HOST DEFINITION
#
###############################################################################
###############################################################################
# Define a host for the local machine
define host{
use linux-server ; Name of host template to use
; This host definition will inherit all variables that are defined
; in (or inherited by) the linux-server host template definition.
host_name debian9
alias Debian 9
address 172.16.20.129
}
###############################################################################
###############################################################################
#
# SERVICE DEFINITIONS
#
###############################################################################
###############################################################################
# Define a service to "ping" the local machine
define service{
use generic-service ; Name of service template to use
host_name debian9
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
# Define a service to check the disk space of the root partition
# on the local machine. Warning if < 20% free, critical if
# < 10% free space on partition.
define service{
use generic-service ; Name of service template to use
host_name debian9
service_description Root Partition
check_command check_local_disk!20%!10%!
}
Ihre Datei sollte wie oben aussehen. Diese Ausgabe wurde abgeschnitten. Sie werden mehr Dienstdefinitionen haben.
Die Direktive address
sollte die Adresse des zu überwachenden Remote-Hosts enthalten.
Die Direktive host_name
muss den Namen enthalten, der auf Ihrem Nagios-Dashboard erscheinen wird, und er sollte für Sie indikativ sein, also entfernen Sie den Standard-localhost Wert und ersetzen Sie ihn durch einen anderen Namen (debian9 ist der Name in meinem Fall). Sie sollten diese Direktive überall dort ersetzen, wo sie in der Datei erscheint, dh für Host- und alle Service-Definitionen.
Die in der Datei enthaltenen Dienstdefinitionen sind Standard. Ich gebe Ihnen unten drei Dienstdefinitionen, die Sie am Ende der Datei für imap, ftp und smtp hinzufügen können wenn Sie diese Dienste auf Ihrem Remote-Linux überwachen müssen.
#Checking FTP service
define service{
use generic-service ; Inherit default values from a template
host_name debian9
service_description FTP
check_command check_ftp
}
#Checking SMTP service
define service{
use generic-service ; Inherit default values from a template
host_name debian9
service_description SMTP
check_command check_smtp
}
#Checking IMAP service
define service{
use generic-service ; Inherit default values from a template
host_name debian9
service_description IMAP
check_command check_imap
}
d) Aktualisieren Sie die Nagios-Konfigurationsdatei und starten Sie den Dienst neu
Nachdem wir nun ein neues Verzeichnis für unsere entfernten Hosts erstellt haben, müssen wir angeben, wo Nagios es finden kann, um es zu verwenden. So wird die Standard-Nagios-Konfigurationsdatei /usr/local/nagios/etc/nagios.cfg
bearbeitet
vim /usr/local/etc/nagios.cfg
# OBJECT CONFIGURATION FILE(S)
# These are the object configuration files in which you define hosts,
# host groups, contacts, contact groups, services, etc.
# You can split your object definitions across several config files
# if you wish (as shown below), or keep them all in a single config file.
# You can specify individual object config files as shown below:
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
# Definitions for monitoring the local (Linux) host
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
#cfg_file=/usr/local/nagios/etc/objects/linux.cfg
# Definitions for monitoring a Windows machine
#cfg_file=/usr/local/nagios/etc/objects/windows.cfg
# Definitions for monitoring a router/switch
#cfg_file=/usr/local/nagios/etc/objects/switch.cfg
# Definitions for monitoring a network printer
#cfg_file=/usr/local/nagios/etc/objects/printer.cfg
# You can also tell Nagios to process all config files (with a .cfg
# extension) in a particular directory by using the cfg_dir
# directive as shown below:
cfg_dir=/usr/local/nagios/etc/objects/servers
#cfg_dir=/usr/local/nagios/etc/servers
#cfg_dir=/usr/local/nagios/etc/printers
#cfg_dir=/usr/local/nagios/etc/switches
#cfg_dir=/usr/local/nagios/etc/routers
Sie können feststellen, dass ich die Direktive cfg_dir=/usr/local/nagios/etc/objects/servers
hinzugefügt habe was das zu berücksichtigende Verzeichnis des neuen Hosts angibt. Sie können feststellen, dass die Direktive cfg_file
zeigt die verschiedenen Konfigurationsdateien für Dienste und Hosts an, die von Nagios verwendet werden.
Das bedeutet, dass wir kein Verzeichnis erstellt haben, sondern einfach die Datei linux.cfg im Standard /usr/local/nagios/etc/objects
Verzeichnis, sollten wir einfach die Direktive cfg_file=/usr/local/nagios/etc/objects/linux.cfg
hinzufügen müssen damit Nagios die Konfiguration unseres entfernten Hosts erkennt.
Jetzt müssen wir überprüfen, ob die Nagios-Konfiguration keine Fehler enthält, bevor wir den Dienst neu starten
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios Core 4.3.2
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 2017-05-09
License: GPL
Website: https://www.nagios.org
Reading configuration data...
Read main config file okay...
Read object config files okay...
Running pre-flight check on configuration data...
Checking objects...
Checked 19 services.
Checked 2 hosts.
Checked 1 host groups.
Checked 0 service groups.
Checked 1 contacts.
Checked 1 contact groups.
Checked 17 commands.
Checked 5 time periods.
Checked 0 host escalations.
Checked 0 service escalations.
Checking for circular paths...
Checked 2 hosts
Checked 0 service dependencies
Checked 0 host dependencies
Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
Sie können sehen, dass wir keinen Fehler haben, also können wir den Nagios-Dienst neu starten
# systemctl restart nagios
e) Zugriff auf die Nagios-Weboberfläche
Jetzt, da alles in Ordnung ist, können wir unsere Nagios-Verwaltungsseite starten, um das Ergebnis unserer Konfiguration zu sehen. Greifen Sie auf Ihrem lokalen Server über http://localhost/nagios zu
Ich habe auf mein Remote-Linux zugegriffen, deshalb können Sie sehen, dass ich die IP meines Nagios-Servers angegeben habe. Sie können sehen, dass wir unser neues Remote-Linux mit seinen Diensten haben.
Wir haben den FTP-Dienst noch nicht auf unserem Remote-Host installiert. Aus diesem Grund befindet sich dieser Dienst in einem kritischen Zustand.
2) Fügen Sie einen Windows-Host auf dem Nagios-Server hinzu
Um Windows-Hosts mit Nagios zu überwachen, müssen Sie NSClient++ installieren auf Ihren entfernten Windows-Systemen. NSClient++ (nscp) ist ein Agent, der auf zu überwachenden Remote-Hosts bereitgestellt werden muss. NSClient++ bietet viele Möglichkeiten, Ihr System zu überprüfen:
- Systemzustand abrufen (CPU, Festplatten …)
- Leistungszähler erhalten
- Protokolldatei prüfen
- Geplante Aufgabe prüfen usw.
a) Konfigurieren Sie den Windows-Host
Auf einem entfernten Windows-Host müssen wir nsclient++ installieren. Sie können es von der offiziellen Seite herunterladen. Wir haben die msi-Datei NSCP-0.5.0.62-x64.msi heruntergeladen
nsclient installieren und konfigurieren
Starten Sie den Installationsvorgang.
Wählen Sie bei diesem Schritt Weiter
Wählen Sie in diesem Schritt benutzerdefiniert
Geben Sie die Nagios-Server-IP und das Nagios-Passwort für den Webzugriff an. Kleben Sie auch alle "Aktivieren " Optionen (Plugins prüfen, check_nt, check_nrpe, Webserver, nscaClient ) und abgesicherter Modus.
Sie können installieren, indem Sie das Kennwort leer lassen. Sie müssen es nicht angeben.
Überprüfen Sie den NSClient-Status
Nachdem es installiert ist, überprüfen wir, ob der NSClient-Dienst gestartet wurde, indem wir services.msc öffnen . Suchen Sie nun nach nsclient und überprüfen Sie seinen Status (muss Running sein ). Prüfen Sie, ob der Starttyp auf „Automatisch“ eingestellt ist "
Wir können sehen, dass unser Plugin funktioniert. Jetzt können wir unsere Nagios-Serverseite konfigurieren.
b) Konfigurieren Sie den Nagios-Server
Auf dem Nagios-Server müssen wir unseren neuen Windows-Host definieren, um ihn mit seinen Diensten zu überwachen.
Neue Windows-Hostdefinition hinzufügen
Wir werden eine neue Host-Definition für den Windows-Rechner hinzufügen, den wir überwachen werden, indem wir /usr/local/nagios/etc/objects/windows.cfg
ändern Datei. Für unseren Linux-Host kopieren wir die Windows-Konfigurationsdatei auf die Server Verzeichnis, das wir zuvor erstellt haben.
# cp /usr/local/nagios/etc/objects/windows.cfg /usr/local/nagios/etc/objects/servers/
Normalerweise befinden wir uns bereits in /usr/local/nagios/etc/objects/servers/
Verzeichnis auf dem Server. Also bearbeiten wir die Windows-Hostdatei.
# vim windows.cfg
###############################################################################
###############################################################################
#
# 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.16.20.131 ; IP address of the host
}
###############################################################################
###############################################################################
#
# SERVICE DEFINITIONS
#
###############################################################################
###############################################################################
# Create a service for monitoring the version of NSCLient++ that is installed
# Change the host_name to match the name of the host you defined above
define service{
use generic-service
host_name winserver
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
# Create a service for monitoring the uptime of the server
# Change the host_name to match the name of the host you defined above
define service{
use generic-service
host_name winserver
service_description Uptime
check_command check_nt!UPTIME
}
Versuchen Sie, etwas als Ausgabe oben zu haben. Diese Ausgabe wurde abgeschnitten. Die IP-Adresse muss Ihre Windows-IP-Adresse sein. Sie können einen anderen host_name verwenden Wert.
In der Windows-Hostdatei ist standardmäßig keine Dienstdefinition vorhanden, um den Ping zu überprüfen, sodass Sie den Dienst unten am Ende der Datei hinzufügen können. Dies ist der standardmäßige check_ping Dienst in der Linux-Hostdatei vorhanden.
define service{
use generic-service ; Name of service template to use
host_name winserver
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
Denken Sie daran, dass wir den Nagios-Passwortschutz angegeben haben. Wenn Sie in der NSClient++-Konfigurationsdatei auf dem Windows-Rechner ein Passwort angegeben haben, müssen Sie das vorhandene check_nt ändern Befehlsdefinition, um das Passwort einzuschließen, indem Sie die commands.cfg ändern Datei. Öffnen Sie also die Datei und suchen Sie die entsprechende Zeile wie folgt:
# vim /usr/local/nagios/etc/objects/commands.cfg
define command{
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$ $ARG2$
}
Wir müssen die Definition des Befehls check_nt ändern, um das Schlüsselwort „-s
Wenn Sie das Passwort während der NSClient-Installation nicht angeben, können Sie diesen Schritt überspringen. Wenn Sie das Passwort festgelegt haben und es aufheben möchten, können Sie die NSClient-Datei mit Notepad an der Eingabeaufforderung wie unten bearbeiten
Und kommentieren Sie die Passwortzeile wie unten
Zu diesem Zeitpunkt sollten Sie das Passwort in der command.cfg nicht angeben müssen Datei, können Sie diesen Schritt überspringen.
Überprüfen Sie die Nagios-Konfigurationsdatei und starten Sie den Dienst neu
Nachdem wir unsere Windows-Host-Definition abgeschlossen haben, können wir jetzt überprüfen, ob unser Nagios keine Fehler zählt. Sie sollten bemerken, dass wir in der Nagios-Hauptkonfigurationsdatei /usr/local/nagios/etc/nagios.cfg
nicht einmal eine Direktive hinzugefügt haben weil wir die Windows-Datei auf den Servern bearbeitet haben Verzeichnis, das wir zuvor angegeben haben. Wenn wir dieses Verzeichnis nicht erstellt haben, sollten wir einfach die Direktive cfg_file=/usr/local/nagios/etc/objects/windows.cfg
auskommentieren
Jetzt können wir die Dateifehler überprüfen
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios Core 4.3.2
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 2017-05-09
License: GPL
Website: https://www.nagios.org
Reading configuration data...
Read main config file okay...
Read object config files okay...
Running pre-flight check on configuration data...
Checking objects...
Checked 27 services.
Checked 3 hosts.
Checked 1 host groups.
Checked 0 service groups.
Checked 1 contacts.
Checked 1 contact groups.
Checked 25 commands.
Checked 5 time periods.
Checked 0 host escalations.
Checked 0 service escalations.
Checking for circular paths...
Checked 3 hosts
Checked 0 service dependencies
Checked 0 host dependencies
Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
Sie können sehen, dass wir keinen Fehler haben und ein neuer Host erkannt wurde. Jetzt haben wir 3 Hosts
# systemctl restart nagios
Zugriff auf die Nagios-Weboberfläche
Jetzt können Sie die Nagios-Dashboard-Seite öffnen, um unseren neuen Host mit seinen Prozessen zu sehen.
Sie können sehen, dass wir unseren Windows-Host hinzugefügt haben.
Wenn Sie sich die Dienste ansehen, können Sie den check_ping sehen die wir hinzugefügt haben. Wir haben den Explorer nicht gestartet, deshalb können Sie die kritische Nachricht dazu sehen.
Jetzt haben Sie zwei neue Server zu Ihrem Nagios-Dashboard hinzugefügt.
Schlussfolgerung
Wir haben gesehen, wie Linux- und Windows-Hosts auf einem Nagios-Server hinzugefügt werden, der auf Debian 9 implementiert ist. Wir haben beschrieben, wie NRPE installiert und konfiguriert wird die für die Überwachungsfunktion verantwortlich ist. Es wird verwendet, um Linux- und Windows-Rechner mit Nagios zu überwachen. Auf Windows-Hosts müssen Sie NSClient++ installieren.