LPS:Přechod na NRPE pro Nagios
Snažíme se od vlastního řešení přejít na standardní s novými vymoženostmi.
Současný stav
Nyní používáme port 1040 pro vzdálené testy, typicky volný prostor na disku. Nagios server otevře port 1040 a pošle požadavek, ten mu vrátí nagios řetězec. Na straně monitorovaného hosta je inetd se skriptem netsaint_statd-stdperl na portu 1040 (nutné přidání do /etc/services). Toto řešení má několik nevýhod:
- je nutné skript ručně udržovat a je citlivý na změn
- je v perlu a není dostatečně rychlý, zbytečně zatěžuje systém
- neupgraduje se se systémem
- nepodporuje performance data, testy by se musely přepsat
- umožňuje pouze omezenou sadu testů, nelze použít standardní pluginy
- závislé na inetd
Přechod
Stačí nainstalovat cfengine-community z cfengine.com, o všechno, co je uvedeno ve skriptu níže se postará. Stačí nainstalovat a po kafíčku bude hotovo.
Je otestováno pro Debian/Wheezy, na ostatních distribucích je potřeba postupovat opatrněji a řídit se obsahem skriptu:
/afs/.zcu.cz/common/scripts/upgrade/netsaint_to_nrpe.sh
Opravy
Následně je třeba v NConf provést úpravy
- změnit testy pro daného hosta, tak aby se využívalo nrpe
- pročistit zbytečně překrývající se templaty pro hosta
- pročistit zbytečně překrývající se templaty pro jednotlivé služby
Spustit vygenerování konfigurace a otestovat výsledek.
Specifika některých testů
PostgreSQL
Zde převzato z wiki. Instalovat pouze po doinstalovani nrpe, ten vytvori uzivatele nagios.
echo "local template1 nagios trust" >> /etc/postgresql/9.1/main/pg_hba.conf su postgres createuser -S -R -D nagios # pokud nefunguje, pust bez parametru a vypln nasledujici otazky Enter name of role to add: nagios Shall the new role be a superuser? (a/n) n Shall the new role be allowed to create databases? (a/n) n Shall the new role be allowed to create more new roles? (a/n) n exit /etc/init.d/postgresql restart
Pro testování je možné lokálně použit příkaz, ale je třeba změnit v /etc/passwd shell uživatele nagios a pak zase zpátky
chsh -s /bin/bash nagios su -c /usr/lib/nagios/plugins/check_pgsql nagios OK - database template1 (0 sec.)|time=0,000000s;2,000000;8,000000;0,000000 chsh -s /bin/false nagios
MySQL
Plugin a dokumentace je od komerční firmy, zahrnuto v balících debianu. Je možno použít systémový účet debianů pro správu databáze (viz /etc/mysql/debian.cnf) nebo vytvořit nového uživatele v databázi:
mysql -u root -p GRANT usage ON *.* TO 'nagios'@'localhost' IDENTIFIED BY 'nagiospassword'
Heslo i uživatele (pokud je v konfliktu) nastavit dle služby v NConfu.
Plugin si vytváří pomocné soubory v /var/cache/nagios/, ale protože běží pod NRPE jako nagios, je nutné mu nastavit přístup (správu adresáře zajišťuje CFEngine):
chown nagios:nagios /var/cache/nagios
Test je jednoduchý:
/usr/lib/nagios/plugins/check_mysql_health --user=nagios --hostname=localhost --password=nagiospassword -mode=connection-time
Měření teploty
Kde se nachází sonda pro měření teploty, je třeba povolit uživateli nagios čtení ze seriového portu. Stačí přiřadit do skupiny:
usermod -G dialout -a nagios
Kontrola ssh na student6
Na hype přidat klíč (napsat 'yes'):
su nagios ssh student6@SERVER.zcu.cz yes ctrl+c exit
A na cílovém stroji změnit logout za exit v:
vim /home/student5/.profile