Erinevus lehekülje "Nagios" redaktsioonide vahel
49. rida: | 49. rida: | ||
*mailiserver mailiserver.domeen.ee '''192.168.1.12''' | *mailiserver mailiserver.domeen.ee '''192.168.1.12''' | ||
+ | |||
+ | Vaja on tekitada kokku 3 seadistusfaili | ||
+ | |||
+ | #hosts.cfg seadmed-serverid-arvutid | ||
+ | #services.cfg erinevat liiki kontrollid-testid | ||
+ | #contacts.cfg kasutajad-kasutajagrupid | ||
Eesimesena on vaja defineerida hosts.cfg failis kõik kolm masinat | Eesimesena on vaja defineerida hosts.cfg failis kõik kolm masinat |
Redaktsioon: 9. juuli 2008, kell 13:52
Sisukord
Sissejuhatus
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:
- 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.
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
Konfime nagiose
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
- hosts.cfg seadmed-serverid-arvutid
- services.cfg erinevat liiki kontrollid-testid
- 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
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
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 }
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.