NRPE a modul check_hddtemp

Milan

NRPE a modul check_hddtemp
« kdy: 26. 08. 2012, 09:44:42 »
Zdravím, mám jeden problém a už si nevím rady. Používám na monitorovacím serveru systém ICINGA a moduly nagiosu. Potřeboval bych přes nrpe zprovoznit monitoring teplot disků na vzdáleném serveru. Na tom serveru je démon nrpe, správně nakonfigurován (fungujou i jiné pluginy), ale odmítá mi fungovat plugin check_hddtemp, který hlídá teploty disků podle hddtemp. O ten modul check_hddtem je spouštěn pod uživatelem nagios a hddtemp je dotazován přes sudo. /etc/sudoers mám také nastavené, ale stále mi pokud spustím plugin hlásí NRPE: Unable to read output oprávnění jsou nastavený také správně a v /etc/sudoers mám nastaveno
Defaults:nagios !requiretty nagios ALL=(ALL) NOPASSWD: /usr/lib/nagios/plugins/
nrpe loguje do syslogu a tam žádné chyby nepíše.
Verze:
nrpe 2.13
check_hddtemp.sh 1.0
sudo 1.8.5
hddtemp 0.3-beta15
Když dám pod uživatelem nagios příkaz sudo ./check_hddtemp.sh /dev/sda 40 50 tak funguje normálně. Tuším, že jde asi tu direktivu requiretty, ale nevím jak, ji v sudo zakázat jinak než přes sudoers


Re:NRPE a modul check_hddtemp
« Odpověď #1 kdy: 26. 08. 2012, 11:26:07 »
Tím requiretty by to snad být nemělo - viz man sudoers: This flag is off by default.

Jak vypadá definice toho příkazu v konfigiraci Icingy? Nechybí tam sudo?

Nouzový debug by byl přidat si do toho scriptu check_hddtemp.sh nějaký ladící výstupy (jestli se vůbec spustí, pod jakým uživatelem atd.)

Milan

Re:NRPE a modul check_hddtemp
« Odpověď #2 kdy: 26. 08. 2012, 13:21:35 »
Pokud dám příkaz
ct_pacs ~ # cd /usr/lib/nagios/plugins/
ct_pacs plugins # sudo -u nagios ./check_nrpe -H 127.0.0.1 -c check_hddtemp_sda
Vyhodí to
NRPE: Unable to read output

Pokud se ale přihlásím jako uživatel nagios a spustím
nagios@ct_pacs /usr/lib/nagios/plugins $ sudo ./check_hddtemp.sh /dev/sda 40 50
OK: Temperature is below warn treshold (/dev/sda is 33)

Jinak v konfiguraci nrpe.cfg mám
command[check_hddtemp_sda]=sudo /usr/lib/nagios/plugins/check_hddtemp /dev/sda 40 50

Debug mód v nrpe jsem zapnul, ale po vyvolání chyby se v syslogu nic neobjevilo

Re:NRPE a modul check_hddtemp
« Odpověď #3 kdy: 26. 08. 2012, 14:17:43 »
Jo, tak to fakt vypadá, že je problém v tom tty.

Proč to nejde vypnout per user, to nechápu, ale možná by mohlo pomoct to vypnout v defaultech - viz http://www.cyberz.org/blog/2009/01/03/nagios-nrpe-and-sudo-nrpe-unable-to-read-output/

Re:NRPE a modul check_hddtemp
« Odpověď #4 kdy: 26. 08. 2012, 14:43:07 »
Ještě mě teď napadlo (nrpe nepoužívám, tyhle věci mám přes SNMP): pod jakým uživatelem běží ten nrpe démon? Tady totiž nezáleží na tom, pod jakým userem spouštím to check_nrpe, ale pod jakým uživatelem ten příkaz spouští on.

Tady by asi taky mohl být zakopanej pes:
1. běží pod rootem -> pro roota není nastavený requiretty na off, takže sudo zhavaruje (?)
2. běží pod jiným uživatelem než nagios -> dtto


Milan

Re:NRPE a modul check_hddtemp
« Odpověď #5 kdy: 27. 08. 2012, 08:27:01 »
ct_pacs plugins # ps -Af | grep nrpe
root      4131  4037  0 08:23 pts/0    00:00:00 grep --colour=auto nrpe
nagios   25631     1  0 Aug26 ?        00:00:03 /usr/bin/nrpe -c nagios:nagios -c /etc/nagios/nrpe.cfg --daemon

pokud nastavím requretty na off i pro root v /etc/sudoers tak to stejně nepomáhá :-(

Re:NRPE a modul check_hddtemp
« Odpověď #6 kdy: 27. 08. 2012, 08:39:58 »
Tak pak uz jedine to, co je v tom odkazovanym clanku:

Citace
Then the problem is in the requiretty options in /etc/sudoers, enabled by default on CentOS. Simply comment it as follows:
#Defaults requiretty

...a pak uz nevim, takze leda improvizovat (vytvorit si vlastni command, dat si do nej kontrolni vypisy a spoustet ho stejnym zpusobem - podle me se vubec nespusti).

misch

Re:NRPE a modul check_hddtemp
« Odpověď #7 kdy: 27. 08. 2012, 09:30:33 »
Nemáš v názvu těch příkazů chybu? Jednou uvádíš skript s příponou ".sh" a podruhé bez ní:
nagios@ct_pacs /usr/lib/nagios/plugins $ sudo ./check_hddtemp.sh /dev/sda 40 50
...
Jinak v konfiguraci nrpe.cfg mám
command[check_hddtemp_sda]=sudo /usr/lib/nagios/plugins/check_hddtemp /dev/sda 40 50
tzn. nevolá se prostě "sudo" s nesmyslným parametrem?

Milan

Re:NRPE a modul check_hddtemp
« Odpověď #8 kdy: 27. 08. 2012, 09:45:31 »
omlouvám se. moje špatné oko přehledlo chybu v konfiguráku nrpe. samozřejmě to bylo tou chybějící koncovkou .sh ;) díky moc

Re:NRPE a modul check_hddtemp
« Odpověď #9 kdy: 27. 08. 2012, 10:52:31 »
No jo, klasika :) Tak hlavne, ze se to vyresilo.