Nagios 3.2

From ICO wiki
Jump to navigationJump to search

Nagios

Versioonide ajalugu (viimase muutmise aeg)

Versioon 0.9 (Poolik) 15.12.2009 Versioon 0.8 (Poolik) 14.12.2009 Versioon 0.7 (Poolik) 08.12.2009

Autor

Martin Kiigemaa

Skoop

Ei tea

Sissejuhatus

Mis on nagios? Nagios on vabavara, mis võimaldab jälgida teenuste ning serverite kättesaadavust. Toetab mitmesuguseid levinud teenuseid (SMTP, IMAP, HTTP, FTP, DNS) ning võimaldab seirata ka serveri "sisemist" infot, nagu koormus, kettamaht, protsesside arv jms) ja saata välja teavitusi süsteemide probleemide korral. Nagios kasutab plug-ine, see tähendab, et kui mõnel teenusel ei ole veel niinimetatud Nagios'e tuge, siis võib vastava plug-ini ise kirjutada.

Legend

Installeerida monitoorimistarkvara Nagios ja panna ta ühte hosti jälgima (vabalt valitud teenustega). Kui teenus peaks mingil põhjusel maha kukkuma, siis saadab Nagios lokaalse masina kasutajale e-maili.

Nõuded

  • Õigus olemas olevasse Linux masinasse uut tarkvara installeerida
  • Linux või Unix OS, millel on C kompilaatori tugi.
  • TCP/IP protokollide tugi – enamiku rakenduste kontroll käib läbi TCP/IP
  • Veebiserver (soovituslik Apache)
  • Thomas Boutell’s gd library versioon 1.6.3 või uuem, mis on vajalik „statusmap” ja „trends CGI” liideste tööks.
  • Oskus töötada käsurealt
  • Teadmisi Linux operatsiooni süsteemist

Installeerimine

1. Logige serverisse oma kasutaja nime ja parooliga
2. Installeerige paketid apache2, build-essential, libapache2-mod-php5, libgd2-xpm-dev

sudo apt-get -y install apache2
sudo apt-get -y install build-essential
sudo apt-get -y install libapache2-mod-php5
sudo apt-get -y install libgd2-xpm-dev

3. Minge oma kasutajaga root õigustesse

sudo -i

4. Loo uus nagios kasutaja ja ka nagios grupp (Ubuntu serveri kasutamisel)

/usr/sbin/useradd -m -s /bin/bash nagios
passwd nagios
/usr/sbin/groupadd nagios
/usr/sbin/usermod -G nagios nagios

5. Loo uus grupp nimega nagcmd, tänu millele saadetakse serverile käsklusi läbi veebiliidese. Lisa gruppi nagios kasutaja ja apache kasutaja

/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd www-data

6. Loo kataloog nagiose installeri ja nagios-plugin-ide hoidmiseks

mkdir ~/downloads
cd ~/downloads

7. Tõmba alla nagios ja tema plugin-id (Kirjutamise hetkel uusim versioon: Nagios 3.2.0 ja pluginnid: Nagios plugins 1.4.14)

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.0.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz

8. Paki nagiose installer lahti ja mine lahti pakitud kataloogi

tar xzf nagios-3.2.0.tar.gz
cd nagios-3.2.0

9. Pane käima Nagiose konfigureerimise script, andes talle ette grupi nime, mille varem lõid

./configure --with-command-group=nagcmd

10. Kompileeri Nagiose lähtekood ja installeeri käima mineku failid

make all
make install-init
make install-config
make install-commandmode

11. Muuda konfiguratsiooni selliselt, et emailid hakkasid tulema Sinu aadressile Selleks ava kontaktide konfiguratsiooni fail

nano /usr/local/nagios/etc/objects/contacts.cfg

ja muuda nagiosadmin kontakti e-mail aadress ära. Näiteks: username@localhost

12. Loodetavasti oled ikka veel nagios-3.2.0 kataloogis. Sisesta käsk, et siduda nagios apachega.

make-install-webconf

13. Loo nagiosadmin kasutaja, et saaksid sisse logida veebiliiidesesse

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

14. Restardi apache

/etc/init.d/apache2 restart

15. Liigu tagasi downloads kataloogi

cd ~/downloads

16. Paki lahti Nagiose plugin-id ja liigu loodud kataloogi

tar xzf nagios-plugins-1.4.14.tar.gz
cd nagios-plugins-1.4.14

17. Sisesta kataloogis kompileerimise ja installmise käsk

./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install

18. Konfigureeri Nagios koos süsteemiga automaatselt käivituma

ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

19. Kontrolli oma algne Nagiose konfiguratsiooni faili, et seal ei sisalduks erroreid

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

20. Kui errorid puudusid, siis käivita Nagios

/etc/init.d/nagios start

21. Logi sisse Nagiose veebiliidesesse, kasutades kasutajat kelle varem lõid (nagiosadmin)

links http://localhost/nagios

Seadistamine vastavalt ülesande püstitusele

Esmalt vaatame üle Nagiose põhikonfiguratsiooni faili.
Jälgi, et seal olev kood oleks selline ja need read ei oleks välja kommenteeritud.

/usr/local/nagios/etc/nagios.cfg

# You can specify individual object config files as shown below:
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg

# Definitions for monitoring the local (Linux) host
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg

# Meie enda kirjutatud fail, mille tahame lisada Nagiose monitooringusse
cfg_file=/usr/local/nagios/etc/objects/meie_host.cfg

Seda faili kasutab Nagios, et käima minemisel kontrollida, millised teised konfi failid endaga koos üles laadida. Kui defineerid uue hosti, siis tuleks selle uue hosti konfiguratsiooni fail lisada samuti nagu viimasel real on näha
Üle tuleks kontrollida kontakti failide andmed

/usr/local/nagios/etc/objects/contacts.cfg

define contact{
        contact_name                    root			; Short name of user
	use				generic-contact		; Inherit default values from generic-contact template (defined above)
        alias                           root			; Full name of user
        email                           --username--@localhost	; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
        }
define contactgroup{
        contactgroup_name       admins
        alias                   Nagios Administrators
        members                 root
        }

Sellistele kontaktidele üritab Nagios e-maili saata, kui mõni tema kontrollitav teenus maha kukub.
Nagu näha, siis asub kontakt nimega root grupis generic-contact. Kõik sellised grupid on defineeritud failis /usr/local/nagios/etc/objects/templates.cfg, kus kirjeldatakse Nagiosele, millisel kella ajal millise grupiga ühendust võtta ja millistel tingimustel. Näiteks kas võtta ühendust vaid siis kui terve host on maas või ainult siis kui kindel service on maas.
Viimaseks peab üle kontrollima meie defineeritud hosti konfiguratsiooni faili
Selles failis on kirjeldame

  • masina nime
  • millisesse gruppi ta kuulub
  • mis teenuseid peaks Nagios selle masina peal jälgima
/usr/local/nagios/etc/objects/meie_host.cfg

Oletame, et me defineerime ühe uue linuxi hosti.

define host{
        use                     linux-server            ; Name of host template to use
        host_name               Meie_host
        alias                   Meie host
        address                 IP-AADRESS
        }

Samasse faili defineerime talle service'd mida Nagios kontrollib

define service{
        use                             local-service         ; Name of service template to use
        host_name                       Meie_host
        service_description             PING
	check_command			check_ping!100.0,20%!500.0,60%
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       Meie_host
        service_description             SSH
	check_command			check_ssh
	notifications_enabled		1
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       Meie_host
        service_description             HTTP
	check_command			check_http
	notifications_enabled		1
        }

Lisame uue masina ka linux-server hostgruppi, mida saab teha localhost.cfg failis define hostgroup sektsioonis, mis peale muutmist peab välja nägema selline

/usr/local/nagios/etc/objects/localhost.cfg

define hostgroup{
        hostgroup_name  linux-servers ; The name of the hostgroup
        alias           Linux Servers ; Long name of the group
        members         localhost, Meie_host   ; Comma separated list of hosts that belong to this group
        }

Teenuse varundamine

Kogu Nagiose konfiguratsioon defineeritakse kataloogis

/usr/local/nagios/etc

Konfiguratsiooni failide ülevaade:

Põhi konfiguratsiooni fail:

/usr/local/nagios/etc/nagios.cfg

Käimatõmmatavate scriptide konfiguratsiooni fail:

/usr/local/nagios/etc/cgi.cfg

Teenuste ja hostide konfiguratsiooni failid asuvad kataloogis:

/usr/local/nagios/etc/objects/

Defineeritud käskude konfiguratsiooni failid:

/usr/local/nagios/etc/objects/commands.cfg

Defineeritud kontaktid, kellega ühendust võetakse:

/usr/local/nagios/etc/objects/contacts.cfg

Vaikimisi installimisel defineeritud host:

/usr/local/nagios/etc/objects/localhost.cfg

Erinevate host-ide ja service-ite mallid asuvad:

/usr/local/nagios/etc/objects/templates.cfg

Defineeritud ajaperioodid:

/usr/local/nagios/etc/objects/timeperiods.cfg

Ning veel failid: printer.cfg, switch.cfg, windows.cfg - mis on algselt põhi konfiguratsiooni failist välja kommenteeritud.

Seega teenuse varundamiseks oleks vajalik sisestada käsud:

cp -R /usr/local/nagios/etc /backup_meedia/nagios

Sellega kindlustad, et kopeeritakse /etc kataloogis asuvad konfiguratsiooni failid ja seal asuv /objects kataloog

Igal ööl võiks käia backup ka Nagiose logi failist, mis asub:

/usr/local/nagios/var/nagios.log

Teenuse taastamine

Kui mingil põhjusel on teenus katki läinud ja konfiguratsiooni failid viga saanud, siis tuleb varem taastatud backup meedialt konfiguratsiooni failid taastada /usr/local/nagios/etc kataloogi.