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

Nagios:So aktivieren Sie check_nrpe-Befehlszeilenargumente

Frage: Wenn ich den Befehl check_nrpe mit einigen Argumenten ausführe, erhalte ich die Meldung „CHECK_NRPE:Received 0 bytes from daemon. Überprüfen Sie die Protokolle des Remote-Servers auf Fehlermeldungen.”. Wie behebe ich dieses Problem?

Antwort: Das Problem ist sehr einfach. check_nrpe akzeptiert standardmäßig keine Argumente. Sie sollten die Befehlszeilenargumente für check_nrpe wie unten gezeigt aktivieren.

Überprüfen Sie die check_nrpe-Fehlermeldung

Nehmen wir nur zu Testzwecken an, dass Sie den folgenden check_nrpe-Befehl ausführen, der Folgendes anzeigt:„CHECK_NRPE:Received 0 bytes from daemon. ” Fehlermeldung.

$ /usr/local/nagios/libexec/check_nrpe -H 192.168.1.20 -c check_disk -a 60 80 /dev/sdb1
CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.

Wenn Sie /var/log/messages auf dem Remote-Host anzeigen (im obigen Beispiel ist das 192.168.1.20), sehen Sie den nrpe-Fehler „Fehler:Enthaltene Befehlsargumente anfordern! ” wie unten gezeigt, was darauf hinweist, dass check_nrpe nicht aktiviert ist, um die Befehlsargumente zu übernehmen.

$ tail -f /var/log/messages
Dec 5 11:11:52 dev-db xinetd[2536]: START: nrpe pid=24187 from=192.168.101.108
Dec 5 11:11:52 dev-db nrpe[24187]: Error: Request contained command arguments!
Dec 5 11:11:52 dev-db nrpe[24187]: Client request was invalid, bailing out...
Dec 5 11:11:52 dev-db xinetd[2536]: EXIT: nrpe status=0 pid=24187 duration=0(sec)

Check_nrpe-Befehlsargumente aktivieren

Um Befehlsargumente in NRPE zu aktivieren, sollten Sie die folgenden zwei Dinge tun.

1. Konfigurieren Sie NRPE mit –enable-command-args

Wenn Sie NRPE auf dem Remote-Host installieren, führen Sie normalerweise ./configure ohne Argumente aus. Um die Unterstützung für Befehlsargumente im NRPE-Daemon zu aktivieren, sollten Sie ihn mit –enable-command-args wie unten gezeigt installieren.

[remotehost]# tar xvfz nrpe-2.12.tar.gz
[remotehost]# cd nrpe-2.12

[remotehost]# ./configure --enable-command-args

[remotehost]# make all
[remotehost]# make install-plugin
[remotehost]# make install-daemon
[remotehost]# make install-daemon-config
[remotehost]# make install-xinetd

2. Ändern Sie nrpe.cfg und setzen Sie dont_blame_nrpe

Modifizieren Sie /usr/local/nagios/etc/nrpe.cfg auf dem entfernten Server und setzen Sie die Direktive dont_blame_nrpe auf 1, wie unten gezeigt.

$ /usr/local/nagios/etc/nrpe.cfg
dont_blame_nrpe=1

Check_nrpe mit Befehlsargumenten ausführen

Wenn Sie nach den beiden oben genannten Änderungen check_nrpe für diesen bestimmten Remote-Host ausführen, sehen Sie die unten gezeigte Fehlermeldung nicht mehr.

$ /usr/local/nagios/libexec/check_nrpe -H 192.168.1.20 -c check_disk -a 60 80 /dev/sdb1
DISK OK - free space: / 111199 MB (92% inode=99%);| /=9319MB;101662;114370;0;127078

Sicherheitswarnung

Das Aktivieren von NRPE-Befehlszeilenargumenten ist ein Sicherheitsrisiko. Wenn Sie nicht wissen, was Sie tun, aktivieren Sie dies nicht.

Wahrscheinlich haben Sie inzwischen schon herausgefunden, dass Sie NRPE nicht die Schuld geben können, wenn etwas schief geht. Immerhin hast du dont_blame_nrpe auf 1 gesetzt.


Linux
  1. Herunterfahren oder Neustarten von Linux über die Befehlszeile

  2. Befehlszeilenargumente an Bash-Skript übergeben?

  3. Wie füge ich Bilder in der Befehlszeile zusammen?

  4. Befehlszeilenargumente für docker run

  5. bash:wie man Befehlszeilenargumente mit Sonderzeichen übergibt

So booten Sie in die Linux-Befehlszeile

So aktivieren Sie den Zeitstempel im Bash-Verlauf unter Linux

So überprüfen Sie die Betriebssystemversion mit der Linux-Befehlszeile

So extrahieren Sie die Tar.xz-Datei in der Linux-Befehlszeile

So finden Sie die IP-Adresse in der Linux-Befehlszeile

Wie liest man Befehlszeilenargumente in Shell-Skripten?