PNP4Nagios Icinga-val
Korábban már feltelepítettük az icinga-t a biztonságos környezetbe. Ideje, hogy kicsit kiegészítsük.
Régóta tudjuk, hogy a Nagios és klónjai lényegében mindent tudnak figyelni, amit számokkal ábrázolni tudunk.
Ha már úgyis gyűjtüjük a számokat, tároljuk el őket és igy szerint ábrázoljuk azokat. Nos erre ad megoldást a PNP4Nagios.
A PNP úgy működik, hogy a monitorozó rendszer (Nagios, Icinga, etc) performancia adatait felhasználva broker modulként futvaRRD adatforrásokba gyűjti az adatokat, továbbá azokat igény szerint megjeleníti.
A korábba bemutatott Nconf szerencsére kezeli az action URLeket, így a korábban elkészített rendszerbe gond nézkül beilleszthető az új elem.
A telepítést így végeztem:
Csomagok rendbetétele, szükséges csomagok telepítése, majd a felesleges fájlok takarítása:
# apt-get update
# apt-get install librrds-perl rrdtool
# apt-get clean
Még nem elérhető a PNP4Nagios a tárolókban, így fordítani kell:
A configure kimenete:# cd /usr/src
# wget http://downloads.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.19.tar.gz
# tar xzf pnp4nagios-0.6.19.tar.gz
# cd /usr/src/pnp4nagios-0.6.19
# ./configure --with-nagios-user=icinga --with-nagios-group=icinga --with-layout=debian
*** Configuration summary for pnp4nagios-0.6.19 09-01-2012 ***Aztmondja, hogy jók vagyunk, mehetünk tovább:
General Options:
------------------------- -------------------
Nagios user/group: icinga icinga
Install directory: /
HTML Dir: /usr/share/pnp4nagios/html
Config Dir: /etc/pnp4nagios
Location of rrdtool binary: /usr/bin/rrdtool Version 1.3.1
RRDs Perl Modules: FOUND (Version 1.3001)
RRD Files stored in: /var/lib/pnp4nagios/perfdata
process_perfdata.pl Logfile: /var/log/pnp4nagios/perfdata.log
Perfdata files (NPCD) stored in: /var/spool/pnp4nagios
Web Interface Options:
------------------------- -------------------
HTML URL: http://localhost/pnp4nagios
Apache Config File: /etc/apache2/conf.d/pnp4nagios.conf
Review the options above for accuracy. If they look okay,
type 'make all' to compile.
# make allMake all is megvolt, így mehet minden a helyére:
# chmod a+r ./contrib/ssi/status-header.ssi
*** Compile finished ***
make install
- This installs the main program and HTML files
make fullinstall
- This installs the main program, runlevel scripts, config and HTML files
Enjoy.
# make install install-webconf install-config install-initKonfigurálás:
# cd /etc/pnp4nagios/
# mv rra.cfg-sample rra.cfg
A npcd.cfg-ben # csere, hogy ne a syslogba menjenek a logok:
log_type = file
#log_type = syslog
0-ról -1-re
log_level = -1
0.0.-ról 3.0-ra
load_threshold = 3.0
monitoring:/etc/pnp4nagios# nano config.php-ban
Hiszen így lesz helyes az URL.$conf['nagios_base'] = "/nagios/cgi-bin";-ról:
$conf['nagios_base'] = "/icinga/cgi-bin";
Készítünk egy mentést a jelenlegi kofigról:
Majd a kapott sablont tegyük a végére:root@monitoring:/etc/pnp4nagios# cp /etc/icinga/icinga.cfg /etc/icinga/ori_icinga.cfg
root@monitoring:/etc/pnp4nagios# cat nagios.cfg-sample >> /etc/icinga/icinga.cfgJöhet az újraindítás. Ha nem rontottunk el nagyon semmit, akkor elindul, de még nem megy minden:
# /etc/init.d/icinga restartA logban látjuk, ha valamivel probléma van:
Running configuration check...OK
Stopping icinga: Stopping icinga done.
Starting icinga: Starting icinga done.
# tail -f /var/log/icinga/icinga.log
[1358075150] Warning: Host performance command 'process-host-perfdata # NOT advisable prior to Nagios 3.0' was not found - host performance data will not be processed!
[1358075150] Warning: Host performance file processing command 'process-host-perfdata-file' was not found - host performance data file will not be processed!
[1358075150] Warning: Service performance file processing command 'process-service-perfdata-file' was not found - service performance data file will not be processed!
Ide teszi a hostok perfdatáját az Icinga. Ezt fogja majd felhasználni a modul, hogy az RRD-be írja:
# cat /var/log/pnp4nagios/host-perfdataKell egy könyvtár és a hozzá tartozó jogosultság:
DATATYPE::HOSTPERFDATA TIMET::1358075104 HOSTNAME::GW HOSTPERFDATA::rta=1.144000ms;3000.000000;5000.000000;0.000000 pl=0%;80;100;0 HOSTCHECKCOMMAND::check-host-alive HOSTSTATE::UP HOSTSTATETYPE::HARD
# mkdir -p /usr/local/pnp4nagios/var/spool
# chown icinga -R /usr/local/pnp4nagios/
Ezekre panaszkodott a log, hát hozzuk létre az alábbi tartalommal:
root@monitoring:/etc/pnp4nagios# cat /etc/icinga/commands.cfgMivel újabb konfigurációs fájlt készítettünk, ezt tudatni kell az Icinga-val is:
# pnp
define command{
command_name process-service-perfdata-file
command_line /bin/mv /var/log/pnp4nagios/service-perfdata /usr/local/pnp4nagios/var/spool/service-perfdata.$TIMET$
}
define command{
command_name process-host-perfdata-file
command_line /bin/mv /var/log/pnp4nagios/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$
}
icinga.conf-ba:
cfg_file=/etc/icinga/commands.cfg
Ha minden jó akkor időről időre új fájlok képződnek:
root@monitoring:/etc/pnp4nagios# find /usr/local/pnp4nagios/var/spool/Arra azért figyelni kell, hogy ne töltsük meg ezzel a háttértárat...
/usr/local/pnp4nagios/var/spool/
/usr/local/pnp4nagios/var/spool/service-perfdata.1358075791
/usr/local/pnp4nagios/var/spool/service-perfdata.1358075746
/usr/local/pnp4nagios/var/spool/host-perfdata.1358075731
/usr/local/pnp4nagios/var/spool/host-perfdata.1358075776
/usr/local/pnp4nagios/var/spool/service-perfdata.1358075761
/usr/local/pnp4nagios/var/spool/service-perfdata.1358075776
/usr/local/pnp4nagios/var/spool/host-perfdata.1358075761
/usr/local/pnp4nagios/var/spool/host-perfdata.1358075791
/usr/local/pnp4nagios/var/spool/host-perfdata.1358075746
/usr/local/pnp4nagios/var/spool/service-perfdata.1358075731
Most már megy az adatgyűjtés. Gondoskodjunk arról, hogy az eredményét is láthassuk:
Újabb konfigfájl:
root@monitoring:~# cat /etc/icinga/pnptemplate.cfgÉs tudassuk ezt is az Icinga-val:
define host {
name pnp-hst
register 0
action_url /pnp4nagios/graph?host=$HOSTNAME$' class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=_HOST_
}
define service {
name pnp-svc
register 0
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
}
/etc/icinga/icinga.cfg-ba
cfg_file=/etc/icinga/pnptemplate.cfgNéhány beállítás, hogy az adatokat lássuk és a jogosultságok is rendben legyenek:
# chmod a+r /usr/src/pnp4nagios-0.6.19/contrib/ssi/status-header.ssiA webszervert is módosítani kell egy kicsit:
# cp /usr/src/pnp4nagios-0.6.19/contrib/ssi/status-header.ssi /usr/local/icinga/share/ssi/
# ln -s /usr/share/pnp4nagios/html/ /usr/local/icinga/share/pnp4nagios
# chown icinga:www-data -R /usr/share/pnp4nagios/
# chmod 755 -R /usr/share/pnp4nagios/
/etc/apache2/conf.d/icinga.conf-ban az alábbi direcoty bejegyzésben a CGI scriptek futását és szimbolikus linkeket engedélyezzük:
A régi beállítás ez volt. Ezt kommenteljük ki
# Options None
Helyette legyen ez:
Options Indexes FollowSymLinks MultiViews
Kell egy apache modul:
# a2enmod rewriteHa a http://domainname.hu/icinga/pnp4nagios/index.php ha bejön, akkor a PNP4Nagios Environment Tests ellenőrizhető. A cél, hogy mindenben feleljünk meg neki:
# /etc/init.d/apache2 restart
Your environment passed all requirements. Remove or rename the /usr/share/pnp4nagios/html/install.php file now.
Töröljük a fájlt:
# rm -f /usr/share/pnp4nagios/html/install.phpA chroot-olt rendszeren kívül, a "külső" webszerveren is vann tennivaló:
A /etc/apache2/conf.d/monitoring fájlba kell az alábbi sor:
ProxyPass /pnp4nagios http://127.0.0.1:81/pnp4nagiosEzzel az Apache konfiguráció is készenven. A következő lépés az Icinga konfigurációjának módosítása, hogy az acrion URL-ek is megjelenjenek.
Az Nconf-ba belépve, baloldalon alul az Administration szakaszban az Attributes mellett a show-ra kattintsunk.
Jobb oldalon először a legördülő listában a hosts majd a service-t válasszuk.
Host esetén az action url beállításait módosítsuk úgy, hogy a
list of possible values (separated by "::") értéke az alábbi legyen:
Service esetén:
list of possible values (separated by "::") értéke:
Az újragenerált konfiguráció elindulása után az Icinga-ban a host illetve service mellett megjelenik egy kis ikon, amire kattintva a grafikusan ábrázolt adatok elérhetők:
Kb így néz ki:
Remélem hasznos volt a leírás.
A leírás az alábbi segítségével készült:
https://wiki.icinga.org/display/howtos/PNP4Nagios+in+Classic-UI