GNU/Linux >> Znalost Linux >  >> Linux

Nagios:Jak povolit argumenty příkazového řádku check_nrpe

Otázka: Když spustím příkaz check_nrpe s některými argumenty, dostanu zprávu „CHECK_NRPE:Přijato 0 bajtů od démona. Zkontrolujte protokoly vzdáleného serveru, zda neobsahují chybové zprávy.”. Jak tento problém vyřeším?

Odpověď: Problém je velmi přímočarý. check_nrpe ve výchozím nastavení nebere žádné argumenty. Měli byste povolit argumenty příkazového řádku pro check_nrpe, jak je uvedeno níže.

Ověřte chybovou zprávu check_nrpe

Jen pro účely testování předpokládejme, že provádíte následující příkaz check_nrpe, který zobrazuje „CHECK_NRPE:Received 0 bytes from daemon. ” chybová zpráva.

$ /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.

Pokud zobrazíte /var/log/messages na vzdáleném hostiteli (ve výše uvedeném příkladu je to 192.168.1.20), uvidíte chybu nrpe „Chyba:Požadavek obsahoval argumenty příkazu! ” jak je ukázáno níže, což znamená, že check_nrpe není povoleno přebírat argumenty příkazu.

$ 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)

Povolit argumenty příkazu check_nrpe

Chcete-li povolit argumenty příkazů v NRPE, měli byste udělat následující dvě věci.

1. Nakonfigurujte NRPE pomocí –enable-command-args

Při instalaci NRPE na vzdáleném hostiteli obvykle provedete ./configure bez jakýchkoli argumentů. Chcete-li povolit podporu argumentů příkazů v démonu NRPE, měli byste jej nainstalovat pomocí –enable-command-args, jak je uvedeno níže.

[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. Upravte nrpe.cfg a nastavte dont_blame_nrpe

Upravte /usr/local/nagios/etc/nrpe.cfg na vzdáleném serveru a nastavte direktivu dont_blame_nrpe na 1, jak je uvedeno níže.

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

Proveďte check_nrpe s argumenty příkazu

Pokud po dvou výše uvedených změnách provedete check_nrpe pro tohoto konkrétního vzdáleného hostitele, již se vám nebude zobrazovat chybová zpráva, jak je uvedeno níže.

$ /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

Bezpečnostní varování

Povolení argumentů příkazového řádku NRPE je bezpečnostní riziko. Pokud nevíte, co děláte, nezapínejte to.

Pravděpodobně jste již přišli na to, že nemůžete vinit NRPE, pokud se něco pokazí. Nakonec jste nastavili dont_blame_nrpe na 1.


Linux
  1. Jak vypnout nebo restartovat Linux pomocí příkazového řádku

  2. Jak restartovat Linux pomocí příkazového řádku

  3. bash:jak předat argumenty příkazového řádku obsahující speciální znaky

  1. Jak vymazat historii příkazového řádku BASH v Linuxu

  2. Předat argumenty příkazového řádku skriptu Bash?

  3. Jak se analyzují argumenty vzdáleného příkazového řádku Ssh?

  1. Jak mohu použít řádky souboru jako argumenty příkazu?

  2. Jak sloučit obrázky v příkazovém řádku?

  3. argumenty příkazového řádku pro spuštění dockeru