Nagios
Contingut
Introducció
Nagios és un software de monitorització preventiva per Linux. El nom original del projecte inicial era NetSaint. Però després es va transformar en NAGIOS que significa:
Nagios Ain't Gonna Insist On Sainthood
...que ja veieu que és una més d'aquestes simpàtiques "definicions recursives". Frikades vàries ;)
Nagios es pot instal·lar a qualsevol màquina, però en principi interessa posar-la en una que no estigui sotmesa a molt estress i que no tingui perill de fallada. Obviament, si el sistema cau, i amb ell la monitorització, no se'ns podrà notificar la fallada.
Referències:
- Site oficial Nagios: http://www.nagios.org
- Tutorial oficial d'Ubuntu.
Instal·lació
Instal·lar el paquet no té més problema que utilitzar apt com de costum:
$ sudo apt-get install nagios3
- Ens demanarà contrasenya per entrar a la interfície web.
- Ens demanarà que configurem el correu electrònic amb Postfix. Seguiu aquestes directrius segons convingui.
Juntament amb aquest s'instal·larà apache (si no ho està ja) i podrem visualitzar Nagios a
http://<ip_de la màquina>/nagios3
Assegureu-vos que els emails del servidor amb Nagios arriben chequejant-ho amb la comanda mail del paquet mailutils.
Afegir hosts
Afegirem hosts d'acord amb els paràmetres de configuració de Nagios.
Aquesta configuració es pot posar a qualsevol arxiu dins de /etc/nagios3/conf.d/ (per exemple, elsmeushosts.cfg)
Una configuració bàsica podria ser aquesta:
define host { host_name pinyo.fruitsex.local alias pinyo address 10.27.3.11 use generic-host contacts enric check_interval 1 retry_interval 1 }
La variable check_interval és la que determina cada quant temps comprovem el host monitoritzat. Inicialment es dona en minuts (aquí ho hem posat a 1 minut) però en realitat son múltiples del valor interval_length que surt a l'arxiu nagios.cfg (modificable).
La variable retry_interval és la que determina el temps en què tornem a comprovar el host per comprovar si torna a estar online.
Configurar contactes
Cal configurar al menys un contacte per les notificacions de fallades, etc.
A l'anterior host hem posat "enric" com a "contacts". Caldrà, però, que donem d'alta aquest contacte perquè es pugui enviar l'email a algun destinatari.
Entreu a /etc/nagios3/conf.d/contacts_nagios2.cfg i utilitzeu la plantilla que hi ha de contacte per crear el vostre contacte (en el meu cas "enric").
Monitorització de serveis
Monitoritzar serveis que es poden comprovar "externament" és senzill i no cal cap plugin. Alguns podrien ser:
- HTTP
- SSH
- FTP
- ...
Per realitzar-ho tenim 2 opcions:
- Afegir els hosts (cal definir-los abans) al hostgroup pertinent. Normalment les configuracions per defecte tenen un grup http-servers i ssh-servers.
- Afegir el servei particular en qualsevol arxiu dins de /etc/nagios3/conf.d/. Un exemple seria:
define service{ use generic-service ; Name of service template to use host_name funkyserver service_description HTTP check_command check_http }
Monitoritzar en hosts remots amb NRPE
En canvi, per monitoritzar paràmetres "interns" de la màquina cal instal·lar nagios-nrpe-server en el servidor a monitoritzar. Alguns exemples son:
- Espai en discs
- Nº d'usuaris logats
- Nº de processos actius/zombies
- Càrrega de la CPU del sistema
En aquest tutorial oficial de Ubuntu es mostra fàcilment com configurar la comprovació de disc en un host remot.
Més exercicis
Ja teniu la configuració bàsica de Nagios feta. A partir d'aquí proposem una sèrie d'exercicis:
- Afegeix diversos hosts (tots els del CPD) a monitoritzar.
- Apaga algun d'aquests hosts.
- Comprova quant de temps triga Nagios a detectar que ha caigut.
- Comprova quant de temps triga a enviar-se la notificació per e-mail.
- Canvia el temps de monitorització dels hosts a 1 minut.
- Canvia el temps de notificació a 3 minuts (inicialment a 5 min.)