Erinevus lehekülje "Nagios" redaktsioonide vahel

Allikas: Kuutõrvaja
(Nagiose veebipõhise haldusliidese ettevalmistamine)
(Seadistame nagiose)
66. rida: 66. rida:
  
 
===Seadistame nagiose===
 
===Seadistame nagiose===
 +
 +
Nagios tööd juhib põhiline seadistusfail nagios.cfg ning sellest failis viidatud muud seadistusfailid. Nagiose seadistamisel kirjeldatakse ära hulk erinevaid objekte
 +
 +
* host - jälgitav arvuti või võrguseade (nt vaikelüüs)
 +
* service - jälgitav teenus (nt veebileht)
 +
* command - kontrollkäsk, mis jälgib teenust
 +
* hostgroup - hulk jälgitavaid arvuteid
 +
* servicegroup - hulk jälgitavaid teenuseid
 +
* contact - kontakt, kellele saadetakse teatud sündmuse toimumise kohta teade
 +
* contactgroup - hulk kontakte
 +
 +
Seejuures tehniliselt ei ole oluline, kas objektide kirjeldused asuvad ühes failis või mitmes failis, mis omakorda võivad asuda mitmes kataloogis. Siiski, sõltuvalt monitooringuülesandes on reeglina praktiline jagada objektid mitmete failide vahel. Gruppide kasutamine võimaldab kirjeldada objekte abstraktsemalt, mis praktiliselt lihtsustab Nagiose seadistuste kirjutamist.
  
 
Meil on kolm masinat mida vaja jälgida. Ruuter, veebiserver ja mailiserver.
 
Meil on kolm masinat mida vaja jälgida. Ruuter, veebiserver ja mailiserver.

Redaktsioon: 6. juuni 2010, kell 14:18

Sissejuhatus

Nagiose tööpõhimõte

Nagiose serveri ülesandeks on kontrollida võrgus töötavate arvutite (ingl. k. host) ja teenuste (ingl. k. service) seisukorda.

   _____   Nagiose server
  |     |  
  |_____|  
     |
     |
    -|---------|----------|----....---|--
               |          |           |
             __|__      __|__       __|__
            |     |    |     |     |     |
            |_____|    |_____|     |_____|
         
              smtp       www         dns
              raid       raid        raid

Arvutite ja teenuste seisukorda iseloomustavaid parameetreid võib jaotada lähtudes erinevatelt alustelt. Nt selle järgi, kas parameetrit kontrollitakse üle võrgu või lokaalsest arvutist

  • kontrollitakse üle võrgu - veebileht, nimeserver
  • kontrollitakse lokaalselt - arvutis töötavate protsesside arv, arvuti koormus (ingl. load), failisüsteemi täituvus, raid lülituse korrasolek

Lokaalse kontrolli korraldamiseks tuleb kontrollitavasse arvutisse paigaldada lisaks täiendavalt Nagiose tarkvara, üle võrgu kontrollimisel reeglina kontrollitavasse arvutisse ei tule midagi Nagiose-spetsiivilist lisada.

Teine võimalus on jaotus teha selle järgi, kes küsib või kes ütleb

  • aktiivne kontroll - Nagiose server esitab teenustele kontrollpäringuid (nt veebileht, nimeserver)
  • passiivne kontroll - Nagiose server kuulab teenuste raporteerimisi (nt backupi õnnestumine)

Jällegi, passiivse kontrolli korraldamiseks tuleb kontrollitavasse arvutisse paigaldada lisaks täiendavalt Nagiose tarkvara, aktiivsel kontrollimisel reeglina kontrollitavasse arvutisse ei tule midagi Nagiose-spetsiivilist lisada.

Vana sissejuhatuw - vaja ümberteha

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. Võimalik siduda mitmete muude tarkvaradega nagu Munin

Nagiosele on kirjutatud mitmeid lisasid, mis teevad halduri või administraatori elu tunduvalt lihtsamaks. Sellisteks mooduliteks on näiteks serverite võrgukaartide Bonding tugi, Cisco seadmete staatuste kogumine jt. Seadistamine on tehtud lihtsamaks mallide olemasoluga. Nimelt võib defineerida ära esmalt soovitava üldmalli ja seejärel seda direktiivina kasutada teistes seadistustes. Sedasi hoiab administraator oma loodud koodi puhtana ja ülevaatlikumana ja asju lisada on mugavam.

Kui vaadata nõudeid, mis Nagios seab riistvarale, siis on ainukeseks nõudeks, et serveril oleks C kompilaator. Nagiose töötamiseks pole otseselt vaja isegi veebiliidest ja saab kasutada sedavaid teavituste saatmiseks probleemide korral ja süsteemi normaalse töörütmi taastumise korral. Veebiliides on aga hea just igasuguse informatsiooni kuvamiseks kasutades selleks CGI skripte.

Plussid nagiosi kasutamisel:

  • vaba tarkvara;
  • palju kontrollimismehhanisme nii teenuste kui riistvara jaoks;
  • teavitamine vigadest ja teenuse taastumisest;
  • võrguhierarhia määramise võimalus;
  • paralleelsed kontrollid;
  • lihtne lisada jälgitavaid teenuseid või seadmeid;
  • hea dokumentatsioon ja palju õpetussõnu veebis;
  • kiire arendus;
  • paljud lisaprogrammid integreeritavad.

Nagios install

FreeBSD

cd /usr/ports/net-mgmt/nagios && make install clean
cd /usr/ports/net-mgmt/nagios-plugins && make install clean

Viimati tuli veel teha mailisaatmiseks FreeBSD's selline rats ,et linkida mail /bin alla

ln -s /usr/bin/mail /bin/mail

Seadistame nagiose

Nagios tööd juhib põhiline seadistusfail nagios.cfg ning sellest failis viidatud muud seadistusfailid. Nagiose seadistamisel kirjeldatakse ära hulk erinevaid objekte

  • host - jälgitav arvuti või võrguseade (nt vaikelüüs)
  • service - jälgitav teenus (nt veebileht)
  • command - kontrollkäsk, mis jälgib teenust
  • hostgroup - hulk jälgitavaid arvuteid
  • servicegroup - hulk jälgitavaid teenuseid
  • contact - kontakt, kellele saadetakse teatud sündmuse toimumise kohta teade
  • contactgroup - hulk kontakte

Seejuures tehniliselt ei ole oluline, kas objektide kirjeldused asuvad ühes failis või mitmes failis, mis omakorda võivad asuda mitmes kataloogis. Siiski, sõltuvalt monitooringuülesandes on reeglina praktiline jagada objektid mitmete failide vahel. Gruppide kasutamine võimaldab kirjeldada objekte abstraktsemalt, mis praktiliselt lihtsustab Nagiose seadistuste kirjutamist.

Meil on kolm masinat mida vaja jälgida. Ruuter, veebiserver ja mailiserver. Me soovime ,et kõiki neid kolme nagios pingiks iga viie minuti tagant ning kui üks masin juhtub maas olema siis teavitame sellest mailiaadressile kasutaja@domeen.ee

Serverite ip aadressid

  • kontori ruuter 192.168.1.10
  • veebiserver veebiserver.domeen.ee 192.168.1.11
  • mailiserver mailiserver.domeen.ee 192.168.1.12

Vaja on tekitada kokku 3 seadistusfaili

  1. hosts.cfg seadmed-serverid-arvutid
  2. services.cfg erinevat liiki kontrollid-testid
  3. contacts.cfg kasutajad-kasutajagrupid

Eesimesena on vaja defineerida hosts.cfg failis kõik kolm masinat

hosts.cfg

# Defineerime mõned väärtused mis vaikimis seadistame kõigile masinatele
define host{
      name                            linux-server
      use                             generic-host    
      check_period                    24x7            
      max_check_attempts              10            
      check_command                   check-host-alive 
      notification_period workhours                                                                                                                  
      notification_interval           120             
      notification_options            d,u,r          
      contact_groups                  admins          
      register                        0               
      } 

#ruuter
define host{
      use                     linux-server
      host_name               ruuter
      alias                   ISP Ruuter
      address                 192.168.1.10
      parents                 localhost
      contact_groups  Helpdesk
      }

#veebiserver
define host{
      use                     linux-server
      host_name               veebiserver.domeen.ee
      alias                   veebiserver asutusele
      address                 192.168.1.11
      parents                 localhost
      contact_groups  Helpdesk
      }

#mailiserver
define host{
      use                     linux-server
      host_name               mailiserver.domeen.ee
      alias                   sisevõrgu mailiserver
      address                 192.168.1.12
      parents                 localhost
      contact_groups  Helpdesk
      }

contact_groups on korrektselt vajalik paikapanna hostide juures kuna sinna hakatakse saatma teateid hosti maasoleku kohta

Nüüd defineerime kontrollid mida tehakse serveritele. Tekitame service kirje mis pingib kõiki kolme masinat. Ruuterit, veebiserverit ja mailiserverit ning teavitab probleemide korral kontaktgruppi helpdesk

services.cfg

define service{
      use                             local-service
      host_name                       ruuter, veebiserver.domeen.ee, mailiserver.domeen.ee
      service_description             PING
      check_command                   check_ping!100.0,20%!500.0,60%
      contact_groups  helpdesk
      }

Lõpuks tekitame kolmanda faili kus kirjas kontaktid keda teavitatakse mõne seadme maasolekul.

Loome kontakti helpdesk mailiga kasutaja@domeen.ee ning lisame selle kontaktgruppi Helpdesk

Hea nipp on luua mobiilioperaatori juures endale aadress kasutaja@mail.operaator.ee millele suunatud kirjad lähevad mobiilile sms'ina, maksab see enamasti 25.- kuus ning võimaldab operatiivselt kriitilist infot saada.

contacts.cfg


define contact{
      contact_name                    kasutaja
      alias                           Infohuviline isik
      service_notification_period     24x7
      host_notification_period        24x7
      service_notification_options    u,c,r
      host_notification_options       d,r
      service_notification_commands   notify-by-email
      host_notification_commands      host-notify-by-email
      email                           kasutaja@domeen.ee
      }

define contactgroup{
      contactgroup_name       helpdesk
      alias                   IT Helpdesk
      members                 kasutaja
      }

Ja viimaks lisame faili nagios.cfg järgnevad read ,et nagios meie tekitatud konfiguratsiooni kasutaks

cfg_file=/usr/local/etc/nagios/hosts.cfg
cfg_file=/usr/local/etc/nagios/services.cfg
cfg_file=/usr/local/etc/nagios/contacts.cfg

Linuxi puhul on rajad /etc/nagios/

Ning võime anda käsud

/usr/local/etc/rc.d/nagios start

või linuxis

/etc/init.d/nagios start

Et suurendada nagiosi t22kindlust v2iks paigaldada serverile ka oma nimeserveri.

Mail delivery

Mailiserveri töö kontrolli korraldamine on keerukam. Nagiosi kaasasolevad vahendeid võimaldavad kontrollida vaid lihtsamaid portide /teenuste ülevaolekuid ja vastuseid, mailisüsteem on samas enamuses asutuses keerukas ja mitmetest serveritest koosnev kooslus.

Plugin mis järgnevalt äratoodud saadab emaili serverile ning seejärel logib imapiga kasutajaga mailikontole test ning kontrollib kas email on saabunud.

Vaja tirida ja paigaldada vastav plugin selleks aadressilt

http://apricoti.pbwiki.com/NagiosCheckEmailDelivery

Selle sõltuvusteks on vaja installida mõned perli moodulit mis tehtavad kenasti cpani installeri abiga

cpan -i Mail::IMAPClient 

Seejärel on vaja defineerida command.

 define command {
         command_name    check_delivery_mail
         command_line    $USER1$/check_email_delivery -H mail.domeen.ee --mailto test@mail.domeen.ee --mailfrom nagios@nagios.domeen.ee /
                         --username  test --password parool --libexec $USER1$ --wait 10 --warning 600 --critical 1200
}

Ning seejärel kontrollimine.

define service{
        use                             generic-service
        host_name                       mail.domeen.ee
        service_description             DELIVERY_mail
        check_command                   check_delivery_mail
        max_check_attempts              5
        contact_groups  helpdesk
}

Ipv6 aadresside monitoorimine

Paljudel kaasasolevatel Nagios utiliitidel on ipv6 tugi ka juba olemas. Näiteks soovides pingida ühte ainult ipv6 aadressi omavat hosti võib teha täiesti tavalise seadmekirje millele lisada ipv6 aadressi ning siis defineerida järgneva käsk.

define command{
        command_name    check_ping6
        command_line    $USER1$/check_ping -6 -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5
        }

Kasutada saab seda tavapärasel moel nagu iga teist.

Katsetamine

Võime simuleerida mingi masina maasolekut. Piisab kui vastav reegel panna selleks tulemüüri mis blokeerib liikluse serverini mida kontrollime. Logifaili /var/spool/nagios/nagios.log peaks tekkima read:

[1209129862] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;1;CRITICAL - Plugin timed out after 10 seconds
[1209129872] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;2;CRITICAL - Plugin timed out after 10 seconds
[1209129882] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;3;CRITICAL - Plugin timed out after 10 seconds
[1209129892] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;4;CRITICAL - Plugin timed out after 10 seconds
[1209129902] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;5;CRITICAL - Plugin timed out after 10 seconds
[1209129912] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;6;CRITICAL - Plugin timed out after 10 seconds
[1209129922] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;7;CRITICAL - Plugin timed out after 10 seconds
[1209129932] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;8;CRITICAL - Plugin timed out after 10 seconds
[1209129942] HOST ALERT: veebiserver.domeen.ee;DOWN;SOFT;9;CRITICAL - Plugin timed out after 10 seconds
[1209129952] HOST ALERT: veebiserver.domeen.ee;DOWN;HARD;10;CRITICAL - Plugin timed out after 10 seconds
[1209129952] HOST NOTIFICATION: kasutaja;veebiserver.domeen.ee;DOWN;host-notify-by-email;CRITICAL - Plugin timed out after 10 seconds
[1209129952] SERVICE ALERT: veebiserver.domeen.ee;PING;CRITICAL;HARD;1;CRITICAL - Plugin timed out after 10 seconds

ning kasutaja peaks saama emaili Host DOWN alert for veebiserver.domeen.ee! sisuga

***** Nagios 2.10 *****

Notification Type: PROBLEM
Host: veebiserver.domee.ee
State: DOWN
Address: 192.168.1.11
Info: CRITICAL - Plugin timed out after 10 seconds

Date/Time: Fri Apr 25 16:25:52 EEST 2008

Eemaldades reegli

[1209130370] HOST ALERT: veebiserver.domeen.ee;UP;HARD;1;PING OK - Packet loss = 0%, RTA = 4.09 ms
[1209130370] HOST NOTIFICATION: kasutaja;veebiserver.domeen.ee;UP;host-notify-by-email;PING OK - Packet loss = 0%, RTA = 4.09 ms
[1209130370] SERVICE ALERT: veebiserver.domeen.ee;PING;OK;SOFT;1;PING OK - Packet loss = 0%, RTA = 4.92 ms

Saabub email Host UP alert for veebiserver.domeen.ee!

***** Nagios 2.10 *****

Notification Type: RECOVERY
Host: veebiserver.domeen.ee
State: UP
Address: 192.168.1.11
Info: PING OK - Packet loss = 0%, RTA = 4.09 ms

Date/Time: Fri Apr 25 16:32:50 EEST 2008

Apache seadistus

  <Directory /usr/local/www/nagios>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
  </Directory>

  <Directory /usr/local/www/nagios/cgi-bin>
    Options ExecCGI
  </Directory>

  ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/
  Alias /nagios/ /usr/local/www/nagios/

Selline virtualhost toimib küll vaid bsd peal. Erinevates distrotes on rajad failideni teised. Üldiselt peale installi öeldakse kus kaustas nagios'i cgi veebiliides asub.

Nagiose veebipõhise haldusliidese ettevalmistamine

Veebiliidese kasutuselevõtuks tuleb seadistada Apache virtuaalhost ja kasutada Nagiosega ühenduseks nt seadistusnäiteid failist nagios3/apache.conf.

Tulemusena saab kasutajana nagiosadmin ja näidatud parooliga haldusliidesesse logida

Debian-nagios-1.gif

kust on näha, et

  • jälgitakse kahte arvutit, vaikelüüsi ja seda arvutit ennast, kus Nagios töötab
  • arvutis jälgitakse kuut parameetrit

Haldusliidesest Nagiose juhtimiseks tuleb Nagios seadistada kuulama nn väliseid korraldusi. Selleks peab nagios.cfg failis sisalduma rida

 check_external_commands=1

Failisüsteemis on enne

 # ls -ld /var/lib/nagios3/rw /var/lib/nagios3
 drwxr-x--- 4 nagios nagios   4096 Oct 22 00:19 /var/lib/nagios3
 drwx------ 2 nagios www-data 4096 Jul  2 12:37 /var/lib/nagios3/rw

Korraldused

 # dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
 # dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3

Pärast

 # ls -ld /var/lib/nagios3/rw /var/lib/nagios3
 drwxr-x--x 4 nagios nagios   4096 Oct 22 00:19 /var/lib/nagios3
 drwx--s--- 2 nagios www-data 4096 Jul  2 12:37 /var/lib/nagios3/rw

Lingid