Nagios

De Cacauet Wiki
Salta a la navegació Salta a la cerca


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:


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:

  1. Afegir els hosts (cal definir-los abans) al hostgroup pertinent. Normalment les configuracions per defecte tenen un grup http-servers i ssh-servers.
  2. 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:

  1. Afegeix diversos hosts (tots els del CPD) a monitoritzar.
  2. 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.
  3. Canvia el temps de monitorització dels hosts a 1 minut.
  4. Canvia el temps de notificació a 3 minuts (inicialment a 5 min.)