Nagios Check mk ja Pnp4nagios

Allikas: Kuutõrvaja
Redaktsioon seisuga 20. veebruar 2017, kell 16:48 kasutajalt Jj (arutelu | kaastöö) (Veebiliides)

Nagiosi baaspaketis pakutavad võimalused võivad jääda tänapäeval liiga pealiskaudseteks ja lihtsateks. Aina suurenenud nõudmiste ja vajaduste ning paisunud serveriparkide korral jääb neist vajaka ning administraatorid pöörduvad seetõttu pigem teiste töövahendite juurde nagu näiteks Zabbix.

Samas on aga nagiosile kirjutatud mitmeid abivahendeid, mis seda kaasajastavad ja täiendavad. Selles tekstis vaatlemegi neist kahte. Check_mk-d ja pnp4nagiosi.

Check_mk kujutab endast esiteks klientrakendust monitooritavas serveris ning veebiliidest, mis vahetab välja nagiosi enda vaikimisi liidese. Pnp4nagios lisab aga nagiosile rrdtool abil graafikute joonistamise.

Paigaldamine arch linuxis

check_mk veebiliides vajab enda toimimiseks mod_pythonit. Pnp4nagios omab omakorda veebiliidest ning tema vajab selle toimimiseks php-d. Graafikute osa on ilma kõhkluseta kõige keerukam osa. Kasutasin sealjuures "Bulk Mode with NPCD" mis peaks andma koormuse ja paljude masinatega nagu arusain võitu http://docs.pnp4nagios.org/pnp-0.6/config

Esiteks paigaldame pacmani abil paketid apache monitoring-plugins php-apache php-gd

Seejärel paigaldame aurist paketid

nagios
mod_python2
pnp4nagios
check_mk

Boodil startimiseks

systemctl enable nagios httpd npcd

Nagiosi ja http osas ilmselt küsimusi pole, npcd on aga vajalik deemon pnp4nagiosi jaoks.

Tekitame puuduvad konfifailid

cp -v /etc/nagios/cgi.cfg.sample /etc/nagios/cgi.cfg
cp -v /etc/nagios/nagios.cfg.sample /etc/nagios/nagios.cfg
cp -v /etc/nagios/resource.cfg /etc/nagios/resource.cfg
cp -v /etc/nagios/objects/commands.cfg /etc/nagios/objects/commands.cfg
cp -v /etc/nagios/objects/contacts.cfg.sample /etc/nagios/objects/contacts.cfg
cp -v /etc/nagios/objects/timeperiods.cfg.sample /etc/nagios/objects/timeperiods.cfg
cp -v /etc/nagios/objects/templates.cfg.sample /etc/nagios/objects/templates.cfg
cp -v /etc/nagios/objects/localhost.cfg.sample /etc/nagios/objects/localhost.cfg

Lisame nagiosi konfi /etc/nagios/nagios.cfg check_mk konfide laadimise ja graafikute jaoks vajalikud read

# check_mk  toimimiseks vajalikud read
cfg_file=/etc/nagios/objects/check_mk_templates.cfg
cfg_file=/etc/nagios/objects/check_mk_objects.cfg
broker_module=/usr/lib/check_mk/livestatus.o /var/nagios/rw/live

# pnp4nagiosile vajalikud read
process_performance_data=1

# *** the template definition differs from the one in the original nagios.cfg
#
service_perfdata_file=/var/lib/pnp4nagios/service-perfdata
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVI CECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=15
service_perfdata_file_processing_command=process-service-perfdata-file

# *** the template definition differs from the one in the original nagios.cfg
#
host_perfdata_file=/var/lib/pnp4nagios/host-perfdata
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
host_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file

Konfifaili commands.cfg tuleb lisada pnp4nagiosi jaoks veel

#
# Bulk with NPCD mode
#
define command {
       command_name    process-service-perfdata-file
       command_line    /bin/mv /var/lib/pnp4nagios/service-perfdata /var/lib/pnp4nagios/spool/service-perfdata.$TIMET$
}

define command {
       command_name    process-host-perfdata-file
       command_line    /bin/mv /var/lib/pnp4nagios/host-perfdata /var/lib/pnp4nagios/spool/host-perfdata.$TIMET$
}

resource.cfg failis on võimalik, et vajalik seadistada õigeks nagios-pluginate kataloog

$USER1$=/usr/lib/monitoring-plugins

check_mk tahab prefork moodulit, seega tuleb see apaches vaikimisi kasuatav mpm keelata

sed -i -e 's/^\(LoadModule mpm_.*\)/#\1/' /etc/httpd/conf/httpd.conf
sed -i -e 's/#\(LoadModule mpm_prefork.*\)/\1/' /etc/httpd/conf/httpd.conf

Nagios http gruppi

usermod -G nagios -a http

Run check_mk -O to generate /etc/nagios/objects/check_mk_objects.cfg

check_mk -O

Luua tuleks ka /etc/nagios/htpasswd.users fail, nt tekitame sinna admin kasutaja

Failis /etc/check_mk/multisite.mk tuleb lubada admin kasutaja

admin_users = [ "admin" ]

Kopeerime apache konfifaili paika

cp -v /etc/webapps/check_mk/apache.example.conf /etc/httpd/conf/extra/check_mk.conf

Ning lisame /etc/httpd/conf/httpd.conf fali pythoni ja php moodulid

LoadModule python_module /usr/lib/httpd/modules/mod_python.so
LoadModule php7_module  modules/libphp7.so
Include conf/extra/check_mk.conf
Include conf/extra/pnp4nagios.conf

<IfModule mod_mime.c>
        AddHandler application/x-httpd-php .php .php5 .php7 .phtml
        AddHandler application/x-httpd-php-source .phps
</IfModule>
        DirectoryIndex index.php index.phtml


Phps tuleb laadida järgnevad moodulid /etc/php/php.ini

extension=gd.so
extension=sockets.so
extension=iconv.so

Lisaks ei tohi pnp4nagios töötada root õigustes, selle peale hakkab ta kohe kisama

sed -i -e 's|user = 0|user = 30|' /etc/pnp4nagios/npcd.cfg
sed -i -e 's|group = 0|group = 30|' /etc/pnp4nagios/npcd.cfg

Kustutame veel üleliigse installifaili

rm -v /usr/share/pnp4nagios/share/install.php

Ja tekitame vaikimisi puuduva kausta

mkdir -vp /usr/share/doc/check_mk/checks

pnp4nagiosi graafikud asuvad ise http://<url>/pnp4nagios/index.php.

Manuali järgi tehes näeb asi välja sedamoodi

Nagios tekitab performance data /var/lib/pnp4nagios/ kausta service ja host-perfdata. Sealt tõstab nagios ise mv käsuga faili /var/lib/pnp4nagios/spool/ Seal rakendub edasi /usr/bin/npcd deemon, mis käivitab skripti /usr/lib/pnp4nagios/process_perfdata.pl. See skript peaks tekitama spool kaustas asuva info alusel rrd failid kasta /var/lib/pnp4nagios/perfdata/ ja nt localhosti puhul /var/lib/pnp4nagios/perfdata/localhost. Sealt kaustast omakorda loeb neid rrd faile php skript http://<url>/pnp4nagios/index.php/graph?&host=localhost. See php skript on omakorda uuesti seotud check_mk veebiliidesega ehk sealt includeb viimane need pildid enda kõhtu.

Veebiliides

Veebiliides on kättesaadav http://ip_aadress/check_mk/

Klient

Debiani agent saab otse apt-getida ainult backpordina. Archi oma leiab (aurist)

Agendi paigaldamiseks kopeerida see monitooritavasse serverisse ja paigaldada pakihaldustarkvara abil, näiteks

dpkg -i check-mk-agentxxxxxx.deb

Vajadusel paigaldada xinetd pakk, seejärel ava fail /etc/xinetd.d/check_mk. Seal tuleb redigeerida rida mis sisaldab only_from ja on tavaliselt välja kommenteeritud, järgmiseks:

only_from      = 127.0.0.1 10.40.0.53 193.40.0.60

Restartida xinetd ja lisada server monitooringusse.