Eftersom Icinga är fullt bakåtkompatibelt med Nagios så kan man utan problem använda sig av nagiosplugins för att göra vissa manövrar, i mitt fall övervaka en annan server, en linux VPS. Den enda nackdelen med att använda en nagiosplugin är för att den har standardanvändare och grupper, men det går som tur är att definiera
själv när man kompilerar pluginen/add-on:en.
Det vi ska göra är att kompilera addonen och pluginen NRPE(http://nagios.sourceforge.net/docs/3_0/addons.html), notera att addonen NRPE har en plugin(check) som också heter NRPE, den heter i systemet check_nrpe men ingår i samma projekt.
NRPE är en demon som körs via xinet.d och används för att låta en Icinga/Nagios installation exekvera scripts på den aktuella maskinen, man måste dock komma ihåg att alla script som ska exekveras måste finnas på den aktuella maskinen.Jag har två stycker servrar jag vill blanda in, Server01 som håller icinga installationen och Server02 som jag vill övervaka, noteras ska att båda maskinerna är Debian Stable.
Förberedelser på båda maskinerna
Börja med att ladda ner de paket som krävs, du behöver:
* Openssl samt libssl-dev
* NRPE: http://www.nagios.org/download/addons
*Nagiosplugins: http://sourceforge.net/projects/nagiosplug/files/ (behövs bara på Server02)
*Xinetd(behövs bara på server02)
Det är möjligt att kompilera in vissa kontroller direkt i NRPE, men jag väljer att inte göra det.
Skapa användare och grupper
För att kunna köra NRPE och Nagiosplugin så måste vi skapa en användare och en grupp på maskinen, jag väljer att kalla dessa för ‘icinganrpe’, användaren icinganrpe ska vara medlem av gruppen icinganrpe.
Vi börjar med att installera de delar som krävs på Server02.
Konfigurera och installera Nagiosplugins
Packa upp det nerladdade arkivet och kör:
./configure --prefix=/usr/local/icinga --with-nagios-user=icinganrpe --with-nagios-group=icinganrpe
make && make install
–prefix anger i vilken katalog nagiosplugins ska installeras, jag väljer samma katalog som icinga ligger i på Server01.
–with-nagios-user anger vilken användare pluginen ska kompileras med.
–with-nagios-group samma som ovan fast för gruppen.
Konfigurera och installera NRPE
Packa upp det nerladdade arkivet och kör:
./configure --with-nagios-user=icinganrpe --with-nagios-group=icinganrpe --with-nrpe-user=icinganrpe --with-nrpe-group=icinganrpe --enable-ssl --libexecdir=/usr/local/icinga/libexec/ --bindir=/usr/local/icinga/bin/ --sysconfdir=/usr/local/icinga/etc
make all
make install
make install-daemon
make install-daemon-config
make install-plugin
make install-xinetd
–prefix anger i vilken katalog nagiosplugins ska installeras, jag väljer samma katalog som icinga ligger i på Server01.
–with-nagios-user anger vilken användare pluginen ska kompileras med.
–with-nagios-group samma som ovan fast för gruppen.
–with-nrpe-user samma som för nagios-user och group.
–with-nrpe-group samma som ovan.
–enable-ssl eftersom vi inte vill att maskinerna ska kommunicera med varandra i klartext så installerar vi NRPE med SSL påslaget, därav Openssl som krav.
–libexecdir anger vart nagiosplugins finns installerade.
–bindir anger vart binärfilen för NRPE ska installeras.
–sysconfdir anger vart konfigurationen för NRPE ska installeras.
Anledningen till att det blir så många flaggor är för att nrpe och nagiosplugins som standard installeras i kataloger som heter *nagios* något, och det vill jag inte när jag ska använda det med Icinga.
Konfigurera Xinetd
xinetd är en “internet superserver” som används för att starta och köra demoner och servrar som inte har några egna PID, precis som svchost i windows. När vi ovan körde make install-xinetd så gjorde den i princip allt som vi behöver göra, dock så ska vi dubbelkolla att det blev rätt, börja med /etc/Xinetd.d/nrpe här har du en flagga som heter “Only from” som standard står det 127.0.0.1 där, låt det stå kvar tillsvidare, men senare ska vi ändra det till IP:t på Icinga maskinen.
Byt fil till /etc/services och lägg till i slutet på filen:
nrpe 5666/tcp #nrpe
Starta nu om xinetd, /etc/initd./xinetd restart. om allt har gått enligt plan så ska du nu ha en nrpe-demon körandes, för att kolla det kör:
netstat -at | grep nrpe
Det borde ge dig, gör det inte det prova starta om xinted.d igen, funkar inte det kolla syslog efter felmeddelanden.
tcp 0 0 *:nrpe *:* LISTEN
För att testa om nrpe funkar, anslut till NRPE demonen med check_nrpe:
/usr/local/icinga/libexec/check_nrpe -H localhost
Det borde ge dig något liknande:
NRPE v2.8
Konfigurera Server01 för NRPE
Ladda ner källkodspaketet för NRPE på maskinen som kör Icinga, anpassa ./configure för att använda samma användare som icinga(i mitt fall ‘icinga’).
./configure --with-nagios-user=icinganrpe --with-nagios-group=icinga --with-nrpe-user=icinga --with-nrpe-group=icinga --enable-ssl --libexecdir=/usr/local/icinga/libexec/ --bindir=/usr/local/icinga/bin/ --sysconfdir=/usr/local/icinga/etc
make all
make install-plugin
Skillnaden mot att installera på Server02 är att vi inte är intresserade av demonen utan bara pluginen, för att testa NRPE, ändra “Only From” i /etc/xinetd.d/nrpe och kör sedan samma kommando igen:
/usr/local/icinga/libexec/check_nrpe -H Server02
Det borde ge dig något liknande:
NRPE v2.8
Glöm om inte att byta ut Server02 mitt din servers IP! Om du får rätt svar så fungerar det, om den klagar på SSL, se till att du har openssl installerat och att det är samma version på båda maskinerna.
Nu är du klar med att installera NRPE på din maskiner, nu är nästa steg att konfigurera Icinga.
Läs mer om att konfa icinga med NRPE: http://abergmanse.wordpress.com/2010/05/06/konfigurera-icinga-for-nrpe/