Nagios
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) Võimalik siduda mitmete muude tarkvaradega nagu Munin
Install
FreeBSD
cd /usr/ports/net-mgmt/nagios && make install clean cd /usr/ports/net-mgmt/nagios-plugins && make install clean
Gentoo
emerge nagios emerge nagios-plugins
Debian
apt-get install nagios ?
...
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 192.168.1.11
- mailiserver 192.168.1.12
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
alias veebiserver asutusele
address 192.168.1.11
parents localhost
contact_groups Helpdesk
}
#mailiserver
define host{
use linux-server
host_name mailiserver
alias sisevõrgu mailiserver
address 192.168.1.12
parents localhost
contact_groups Helpdesk
}
Nüüd defineerime kontrollid mida tehakse antud 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 ; Name of service template to use
host_name ruuter, veebiserver, mailiserver
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 helpdesk@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
Ja kontroll peaks toimima
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.