Nagios
Nagios
• Disponibilitate înaltă
• Reduceț i downtime-ul
• Adăugarea redundanț ei în sistem
• Suport pentru atât calculatoare fizice, cât ș i virtuale
De ce Nagios?
• Verificaț i dacă un server este activ ș i funcț ionează
• Te voi anunț a dacă un server este căzut (prin email/pagina/SMS)
• Verifică dacă un serviciu este în funcț iune (mail, http, pop, ssh)
• Verifică dacă un proces (sau un serviciu Windows) este în funcț iune
• Adună statistici de performanț ă pe un server
• Permiteț i ca alertele specifice să meargă doar către anumite grupuri/indivizi
• Obț ineț i rapoarte despre timpii de nefuncț ionare pe serverele dvs.
Arhitectura Nagios
Plugin
Demon
Server Nagios
Linux
Vmplayer ș i centos
• htp://[Link]/selfservice/micr
osites/[Link]?language=ro_RO&cmd
=displayKC&externalId=2053973
• htps://[Link]/web/vmware/f
ree#desktop_end_user_computng/vm
staț ie de lucrutpe_jucător/12_0
• htp://[Link]/centos/7/
isos/x86_64/CentOS-7-x86_64-DVD-
[Link]
Cerinț e preliminare
• Apache (htpd)
• PHP
• Compilator GCC (gcc, glibc, glibc-comun)
• GD
• Perl
• face
• wget
htp://[Link]/projects/nagios/fi les/na
[Link]
• wget
htp://[Link]/download/nagi
[Link]
Compilaț i ș i instalaț i Nagios
• Extrage arhiva sursă Nagios.
• cd /root/Downloads/nagios/
• tar xvzf [Link]
• cd nagios-3.2.3
Rulaț i scriptul de configurare Nagios, trecând numele grupului pe care l-aț i creat
mai devreme:
• ./configure --with-command-group=nagcmd
• Compilaț i codul sursă Nagios.
face tot
• Instalaț i fiș ierele binare, scriptul de iniț ializare, fiș ierele de configurare de exemplu ș i setaț i permisiunile pe extern.
director de comenzi.
face instalare
fă instalare-init
make instalare-config
faceț i install-commandmode,
faceț i install-webconf
• Creează un cont anagiosadmin pentru a te conecta la interfaț a web Nagios.
htpasswd -b -c /usr/local/nagios/etc/[Link] nagiosadmin nagiosadmin
• Repornire Apache
serviciul htpd repornire
Compilare ș i instalare a Plugin-urilor Nagios
• Extrage arhiva sursă a pluginurilor Nagios.
• cd ~/descarcari
• tar xvzf [Link]
• cd nagios-plugins-2.1.1
• Compilaț i ș i instalaț i plugin-urile.
• ./configure --with-nagios-user=nagios --with-nagios-group=nagios
• fă
• face instalare
• Verificaț i fiș ierele de configurare de probă Nagios.
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/[Link]
• Dacă nu există erori, porniț i Nagios.
– serviciu nagios start
Pornire serviciu Nagios
• Starea serviciului nagios
• Script de pornire Nagios - /etc/rc.d/init.d/nagios
• Verificaț i fiș ierul de configurare nagios:
SAU
Systemctl status [Link]
Systemctl start [Link]
Structura directorului
• /usr/local/nagios/bin – fiș iere binare (nagios,nagiosstat)
• /usr/local/nagios/sbin – fiș iere CGI (ex: [Link])
• /usr/local/nagios/libexec – (pluginuri ex:check_ping)
• /usr/local/nagios/share – ( fiș iere PHP )
• /usr/local/nagios/etc – ( configuraton files )
• /usr/local/nagios/var – ( logs, lock)
Fiș iere de configurare
• Configurarea realizată în fiș iere text, bazată pe ș abloane.
• Nagios citeste configuratia sa dintr-un director. Tu determini
cum să împarț i fiș ierele tale de configurare.
• Utilizează verificarea paralelă ș i fork-urile pentru scalabilitate
• Inima Nagios
– /usr/local/nagios/etc/[Link]
• Fiș iere de suport (/usr/local/nagios/etc/objects)
– [Link]
– [Link]
– [Link]
– [Link]
– [Link]
Notficaton Optons
State gazdă
==========
• Jos (d)
• Inaccesibil (u)
• Recuperare (r)
• Niciunul
Declaraț ii de serviciu
============
• Avertizare (w)
• Necunoscut (u)
• Critic (c)
• Recuperare (r)
Cum funcț ionează cecurile
• Un nod/gazdă/dispozitiv constă din unul sau mai multe verificări de serviciu (PING, HTTP, MYSQL,
SSH, etc.)
• Periodic, Nagios verifică fiecare serviciu pentru fiecare nod ș i determină dacă starea a
s-au schimbat. Schimbările de stare sunt:
- CRITIC
- AVERTISMENT
- NECUNOSCUT
• Pentru fiecare schimbare de stare, poț i asigna:
Opț iuni de notificare (aș a cum s-a menț ionat anterior)
Gestionar de evenimente
• Parametrii
Interval de verificare normal
- Interval de re-verificare
CLIENT
NAGIOS
sshd (daemon)
Verificare prin SSH
conexiune ssh
REȚEA
verifică_xyz(plugin)
Cheie privată
Cheie publică
ssh fără parolă
%ssh-keygen -t rsa
Acesta va genera cheile publice
• Copiaț i intrarea din „~nagios/.ssh/id_rsa.pub”
• Mergi la serverul de destinaț ie ș i lipeș te intrarea în
~nagios/.ssh/authorized_keys
• Alternativ, poț i face următoarele pentru a copia conț inutul
%ssh-copy-id -i /home/nagios/.ssh/id_rsa.pubuser@[Link]
Serviciu ș i grup de gazde
definiț i grup de gazde {
hostgroup_name demo-group
alias gazde care suportă DNS
membri server1, server2, server3
}
definire serviciu {
hostgroup_name grup-demo
service_descripton dns service
verificare_comandă verifică_numele_pentru_dns_dat
max_check_atempts 3
normal_check_interval 5
retry_check_interval 1
check_period 24x7
notficatoninterval 180
notficaton_period 24x7
notficaton_optons wc,ufr,
contact_groups administratori
}
Facerea configuraț iei mai simplă
• Monitorizarea aceleaș i servicii pe mai multe gazde
– setarea atributului numelui gazdei al serviciului ca
o listă de nume de gazde separate prin virgulă
– sau setarea atributului nume grup gazdă pentru
serviciu
• Definirea obiectelor bazate pe ș ablon
– Notiunea de moș tenire
– Factorizarea multor atribute cu dobândă mică
– înregistrează atribute pentru a defini un ș ablon
– foloseș te atributul pentru a moș teni dintr-un template