Website-Suche

So fügen Sie Remote-Linux mit dem NRPE-Plugin zum Nagios-Server hinzu


Im ersten Teil des Artikels der Nagios-Reihe haben wir ausführlich erklärt, wie Sie die neueste Version von Nagios Core und Nagios Plugins in RHEL-basierten Distributionen wie installieren und konfigurieren als CentOS Stream, Rocky Linux, AlmaLinux und Fedora.

In diesem Artikel zeigen wir Ihnen, wie Sie mithilfe von NRPE eine Remote Linux-Maschine und ihre Dienste zum Nagios Core Monitoring-Host hinzufügen (Nagios Remote Plugin Executor)-Agent.

Wir hoffen, dass Sie Nagios Core bereits installiert haben und ordnungsgemäß ausführen. Wenn nicht, verwenden Sie bitte die folgende Installationsanleitung, um es auf dem System zu installieren.

Wenn Sie planen, einen Remote-Windows-Host zum Nagios-Überwachungsserver hinzuzufügen, verwenden Sie die folgende Anleitung:

Sobald Sie es installiert haben, können Sie mit der Installation des NRPE-Agenten auf Ihrem Remote Linux-Host fortfahren. Bevor wir fortfahren, möchten wir Ihnen eine kurze Beschreibung von NRPE geben.

Was ist NRPE?

Mit dem Plugin NRPE (Nagios Remote Plugin Executor) können Sie alle entfernten Linux/Unix-Dienste und Netzwerkgeräte überwachen oder Ressourcen wie CPU-Last, Swap, Speichernutzung, Online-Benutzer usw. auf lokalem/Remote-Linux Maschinen.

Schließlich sind diese lokalen Ressourcen größtenteils nicht für externe Maschinen verfügbar, ein NRPE-Agent muss auf den Remote-Maschinen installiert und konfiguriert werden.

Hinweis: Das NRPE-Add-on erfordert, dass Nagios-Plugins auf dem Remote-Linux-Computer installiert sein müssen. Ohne diese funktioniert der NRPE-Daemon nicht und überwacht nichts.

Installation des NRPE-Plugins auf dem Nagios-Server und dem Remote-Linux-Host

Um das NRPE zu verwenden, müssen Sie einige zusätzliche Aufgaben sowohl auf dem Nagios Monitoring Server als auch auf dem Remote Linux Host, auf dem das NRPE installiert ist, ausführen An. Wir werden beide Installationsteile separat behandeln.

Installieren von Nagios-Plugins und NRPE auf einem Remote-Linux-Host

Bitte befolgen Sie die nachstehenden Anweisungen, um die Nagios-Plugins und den NRPE-Daemon auf dem Remote-Linux-Host zu installieren.

Schritt 1: Erforderliche Abhängigkeiten installieren

Wir müssen erforderliche Bibliotheken wie gcc, glibc, glibc-common und GD sowie die zugehörigen Entwicklungsbibliotheken installieren der leckere Paketmanager.

yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel tar wget
Schritt 2: Nagios-Benutzer erstellen

Erstellen Sie ein neues Nagios-Benutzerkonto und legen Sie ein Passwort fest.

useradd nagios
passwd nagios
Schritt 3: Installieren Sie die Nagios-Plugins

Erstellen Sie ein Verzeichnis für die Installation des Nagios-Plugins und alle seine zukünftigen Downloads.

mkdir /root/nagios
cd /root/nagios

Laden Sie nun das neueste Nagios-Plugin-Paket mit dem Befehl wget herunter.

wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
Schritt 4: Nagios-Plugins extrahieren

Führen Sie den folgenden tar-Befehl aus, um den Quellcode-Tarball zu extrahieren.

tar -xvf nagios-plugins-2.3.3.tar.gz

Nach dem Extrahieren wird in diesem Verzeichnis ein neuer Ordner angezeigt.

ls -l

total 2724
drwxr-xr-x. 15 root root    4096 Mar 11  2020 nagios-plugins-2.3.3
-rw-r--r--.  1 root root 2782610 Mar 11  2020 nagios-plugins-2.3.3.tar.gz
Schritt 5: Nagios-Plugins kompilieren und installieren

Als nächstes kompilieren und installieren Sie die Nagios-Plugins mit den folgenden Befehlen

cd nagios-plugins-2.3.3
./configure 
make
make install

Legen Sie die Berechtigungen für das Plugin-Verzeichnis mit dem Befehl chown fest.

chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
Schritt 6: NRPE-Plugin installieren

Um das nrpe-Plugin zu installieren, laden Sie zunächst das neueste NRPE-Plugin herunter oder verwenden Sie den folgenden wget-Befehl.

cd /root/nagios
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.2/nrpe-4.0.2.tar.gz

Entpacken Sie den NRPE-Quellcode-Tarball.

tar xzf nrpe-4.0.2.tar.gz
cd nrpe-4.0.2

Kompilieren und installieren Sie das NRPE-Add-on.

./configure
make all

Hinweis: Wenn beim Ausführen des Befehls „make all“ die folgende Fehlermeldung angezeigt wird:

In file included from ../include/common.h:34,
                 from ./nrpe.c:38:
/usr/include/openssl/err.h:413:15: note: declared here
  413 | unsigned long ERR_get_error_line_data(const char **file, int *line,
      |               ^~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccWQBjHb.o: in function `init_ssl':
/root/nagios/nrpe-4.0.2/src/./nrpe.c:474: undefined reference to `get_dh2048'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:48: nrpe] Error 1

Anschließend müssen Sie SSL für die nrpe-Konfiguration mit dem Flag ./configure --disable-ssl deaktivieren, wie gezeigt.

./configure --disable-ssl
make all

Als nächstes installieren Sie den NRPE-Plugin-Daemon und Beispielkonfigurationsdateien.

make install-plugin
make install-daemon
make install-config

Installieren Sie den NRPE-Daemon unter systemd als Dienst.

make install-init
Schritt 7: Konfigurieren des NRPE-Plugins

Öffnen Sie nun die Datei /usr/local/nagios/etc/nrpe.cfg und fügen Sie den lokalen Host und die IP-Adresse des Nagios hinzu Überwachungsserver.

allowed_hosts=127.0.0.1,192.168.102

Als nächstes aktivieren und starten Sie den nrpe-Dienst neu.

systemctl enable nrpe
systemctl restart nrpe
Schritt 8: Öffnen Sie den NRPE-Port in der Firewall

Stellen Sie sicher, dass die Firewall auf dem lokalen Computer den Zugriff auf den NRPE-Daemon von Remote-Servern aus zulässt. Führen Sie dazu den folgenden iptables-Befehl aus.

firewall-cmd --zone=public --add-port=5666/tcp
firewall-cmd --zone=public --add-port=5666/tcp --permanent
Schritt 8: Überprüfen Sie den NRPE-Daemon lokal

Führen Sie den folgenden Netstat-Befehl aus, um zu überprüfen, ob der NRPE-Daemon unter systemd ordnungsgemäß funktioniert.


# netstat -at | grep nrpe
OR
netstat -na | grep "5666"


tcp        0      0 0.0.0.0:nrpe            0.0.0.0:*               LISTEN     
tcp6       0      0 [::]:nrpe               [::]:*                  LISTEN 

Wenn Sie eine ähnliche Ausgabe wie oben erhalten, bedeutet dies, dass es ordnungsgemäß funktioniert. Wenn nicht, überprüfen Sie unbedingt die folgenden Dinge.

  • Stellen Sie sicher, dass der nrpe-Eintrag korrekt in der Datei /etc/services hinzugefügt wurde.
  • Die allowed_hosts enthalten einen Eintrag für „nagios_ip_address“ in der Datei /usr/local/nagios/etc/nrpe.cfg.
  • Suchen Sie nach Fehlern in den Systemprotokolldateien für etwa nrpe und beheben Sie diese Probleme.

Überprüfen Sie als Nächstes, ob der NRPE-Daemon ordnungsgemäß funktioniert, indem Sie den Befehl „check_nrpe“ ausführen, der zuvor zu Testzwecken installiert wurde.

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1

Auf dem Bildschirm wird die folgende Zeichenfolge angezeigt, die zeigt, welche Version von NRPE installiert ist:

NRPE v4.0.2
Schritt 9: Passen Sie die NRPE-Befehle an

Die standardmäßige NRPE-Konfigurationsdatei, die installiert wurde, enthält mehrere Befehlsdefinitionen, die zur Überwachung dieses Computers verwendet werden. Die Beispielkonfigurationsdatei befindet sich unter.

vi /usr/local/nagios/etc/nrpe.cfg

Im Folgenden sind die Standardbefehlsdefinitionen aufgeführt, die sich am Ende der Konfigurationsdatei befinden. Wir gehen vorerst davon aus, dass Sie diese Befehle verwenden. Sie können sie mit den folgenden Befehlen überprüfen.

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_users

USERS OK - 1 users currently logged in |users=1;5;10;0
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_load

OK - load average: 3.90, 4.37, 3.94|load1=3.900;15.000;30.000;0; load5=4.370;10.000;25.000;0; load15=3.940;5.000;20.000;0;
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_hda1

DISK OK - free space: /boot 154 MB (84% inode=99%);| /boot=29MB;154;173;0;193
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_total_procs

PROCS CRITICAL: 297 processes
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_zombie_procs

PROCS OK: 0 processes with STATE = Z

Sie können neue Befehlsdefinitionen bearbeiten und hinzufügen, indem Sie die NRPE-Konfigurationsdatei bearbeiten. Schließlich haben Sie den NRPE-Agenten erfolgreich auf dem Remote Linux Host installiert und konfiguriert.

Jetzt ist es an der Zeit, eine NRPE-Komponente zu installieren und einige Dienste zu Ihrem Nagios Monitoring Server hinzuzufügen …

Installieren von NRPE auf dem Nagios Monitoring Server

Melden Sie sich nun bei Ihrem Nagios Monitoring Server an. Hier müssen Sie folgende Dinge tun:

  • Installieren Sie das Plugin check_nrpe.
  • Erstellen Sie eine Nagios-Befehlsdefinition mit dem Plugin check_nrpe.
  • Erstellen Sie einen Nagios-Host und fügen Sie Dienstdefinitionen hinzu für die Überwachung des Remote-Linux-Hosts.
Schritt 1: Installieren Sie das NRPE-Plugin in Nagios

Gehen Sie in das Nagios-Download-Verzeichnis und laden Sie das neueste NRPE-Plugin herunter oder verwenden Sie den folgenden wget-Befehl.

cd /root/nagios
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.2/nrpe-4.0.2.tar.gz

Entpacken Sie den NRPE-Quellcode-Tarball.

tar xzf nrpe-4.0.2.tar.gz
cd nrpe-4.0.2

Kompilieren und installieren Sie das NRPE-Add-on.

./configure
make all
make install-plugin
make install-daemon
make install-init
Schritt 2: Überprüfen Sie den NRPE-Daemon aus der Ferne

Stellen Sie sicher, dass das check_nrpe-Plugin mit dem NRPE-Daemon auf dem Remote-Linux-Host kommunizieren kann. Fügen Sie die IP-Adresse im folgenden Befehl mit der IP-Adresse Ihres Remote Linux-Hosts hinzu.

/usr/local/nagios/libexec/check_nrpe -H <remote_linux_ip_address>

Sie erhalten eine Zeichenfolge zurück, die Ihnen zeigt, welche Version von NRPE auf dem Remote-Host installiert ist, etwa so:

NRPE v4.0.2

Wenn Sie einen Plugin-Timeout-Fehler erhalten, überprüfen Sie die folgenden Dinge.

  • Stellen Sie sicher, dass Ihre Firewall die Kommunikation zwischen dem Remote-Host und dem Überwachungshost nicht blockiert.
  • Stellen Sie sicher, dass der NRPE-Daemon korrekt unter systemd installiert ist.
  • Stellen Sie sicher, dass die Firewallregeln des Remote-Linux-Hosts die Kommunikation des Überwachungsservers mit dem NRPE-Daemon blockieren.

Hinzufügen eines Remote-Linux-Hosts zum Nagios Monitoring Server

Um einen Remote-Host hinzuzufügen, müssen Sie zwei neue Dateien „hosts.cfg“ und „services.cfg“ unter „/usr/local/nagios/“ erstellen. etc/“-Speicherort.

Schritt 1: Nagios-Host- und Servicedatei erstellen
cd /usr/local/nagios/etc/
touch hosts.cfg
touch services.cfg

Fügen Sie nun diese beiden Dateien zur Hauptkonfigurationsdatei von Nagios hinzu. Öffnen Sie die Datei nagios.cfg mit einem beliebigen Editor.

vi /usr/local/nagios/etc/nagios.cfg

Fügen Sie nun die beiden neu erstellten Dateien wie unten gezeigt hinzu.

You can specify individual object config files as shown below:
cfg_file=/usr/local/nagios/etc/hosts.cfg
cfg_file=/usr/local/nagios/etc/services.cfg
Schritt 2: Konfigurieren der Nagios-Host- und -Dienstdatei

Öffnen Sie nun die Datei hosts.cfg, fügen Sie den Namen der Standard-Hostvorlage hinzu und definieren Sie Remote-Hosts, wie unten gezeigt. Stellen Sie sicher, dass Sie Hostname, Alias und Adresse durch die Details Ihres Remote-Hostservers ersetzen.

vi /usr/local/nagios/etc/hosts.cfg
## Default Linux Host Template ##
define host{
name                            linux-box               ; Name of this template
use                             generic-host            ; Inherit default values
check_period                    24x7        
check_interval                  5       
retry_interval                  1       
max_check_attempts              10      
check_command                   check-host-alive
notification_period             24x7    
notification_interval           30      
notification_options            d,r     
contact_groups                  admins  
register                        0                       ; DONT REGISTER THIS - ITS A TEMPLATE
}

## Default
define host{
use                             linux-box               ; Inherit default values from a template
host_name                       tecmint		        ; The name we're giving to this server
alias                           CentOS 6                ; A longer name for the server
address                         5.175.142.66            ; IP address of Remote Linux host
}

Öffnen Sie als Nächstes die Datei services.cfg und fügen Sie die folgenden zu überwachenden Dienste hinzu.

vi /usr/local/nagios/etc/services.cfg
define service{
        use                     generic-service
        host_name               tecmint
        service_description     CPU Load
        check_command           check_nrpe!check_load
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     Total Processes
        check_command           check_nrpe!check_total_procs
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     Current Users
        check_command           check_nrpe!check_users
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     SSH Monitoring
        check_command           check_nrpe!check_ssh
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     FTP Monitoring
        check_command           check_nrpe!check_ftp
        }
Schritt 3: Konfigurieren der NRPE-Befehlsdefinition

Jetzt muss die NRPE-Befehlsdefinition in der Datei commands.cfg erstellt werden.

vi /usr/local/nagios/etc/objects/commands.cfg

Fügen Sie am Ende der Datei die folgende NRPE-Befehlsdefinition hinzu.

###############################################################################
NRPE CHECK COMMAND
#
Command to use NRPE to check remote host systems
###############################################################################

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

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

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Total Warnings: 0
Total Errors:   0

Starten Sie abschließend Nagios neu, um die letzten Konfigurationsänderungen zu übernehmen:

systemctl restart nagios
Schritt 4: Remote-Linux in Nagios überwachen

Gehen Sie nun zur Nagios Monitoring Web-Oberfläche unter „http://Ihre-Server-IP-Adresse/nagios“ oder „http://FQDN/nagios“. ” und geben Sie den Benutzernamen „nagiosadmin ” und das Passwort ein. Überprüfen Sie, ob der Remote Linux Host hinzugefügt wurde und überwacht wird.

Abschluss

Das ist es! Zunächst werde ich Ihnen in meinem kommenden Artikel zeigen, wie Sie einen Windows-Host zum Nagios-Überwachungsserver hinzufügen. Wenn Sie beim Hinzufügen des Remote-Hosts zu Nagios auf Schwierigkeiten stoßen.

Bitte kommentieren Sie Ihre Fragen oder Ihr Problem über den Kommentarbereich. Bis dahin bleiben Sie auf dem Laufenden bei linux-console.net für weitere wertvolle Artikel.