Configurare Nagios con Nconf

Galleria: 
Configurare Nagios con Nconf

Nagios

Nagios è uno dei sistemi di monitoraggio (NMS o network monitoring system) più famosi, nasce nel 1999 e ha licenza opensource
La configurazione a linea di comando rende l'integrazione abbastanza complessa, per questo motivo sono state ideate molte interfacce web per la configurazione
Prima su tutte Nconf, che permette di definire la maggior parte dei check normalmente neccessari

Struttura directory

La configurazione di Nagios nei sistemi “Debian like” è posizionata in /etc/nagios3 o /etc/nagios4
In questo esempio utilizzeremo per comodità Nagios3, le configurazioni sono comunque compatibili con la versione superiore

Nella /etc/nagios3/conf.d/ possiamo trovare gli host di esempio
Le configurazioni dei plugin di monitoraggio proprie di Nagios in /etc/nagios-plugins/config
Tutto questo è definito nel file principale: /etc/nagios3/nagios.cfg

Nagios carica le definizioni nelle directory in modo ricorsivo di host, commands, timeperiod ecc. presenti

Feature disponibili

Parte delle feature disponibili in Nagios Core includono:

  • Monitoring dei servizi di rete (SMTP, POP3, HTTP, NNTP, PING, etc.)
  • Monitoring delle risorse degli host (processor load, disk usage, etc.)
  • Plugin di monitoraggio
  • Abilità di definire una gerarchia di usando i parent
  • Notifiche
  • Interfaccia web opzionale per vedere gli stati e i problemi

Nconf

Nconf è un interfaccia web dedicata alla creazione delle configurazioni di Nagios.
Tramite Nconf possiamo definire host, servizi, gruppi, periodi di notifica, utenti, check e template, testare eventuali errori di configurazione e effetturare il deploy della configurazione su un server Nagios in maniera sicura e senza il bisogno di riavviare il servizio.
E’ inoltre possibile visualizzare uno storico delle modifiche effettuate e
Tramite l’utilizzo e l’applicazione di template e gruppi di host è possibile applicare in maniera automatica tutte le proprietà dei template a tutti i membri del gruppo

Aggiungere un host

Tramite Nconf possiamo visualizzare gli host presenti e aggiungerne di nuovi, proviamo ad esempio a aggiungere google.com con l’indirizzo 8.8.8.8
Clicchiamo Host add, definiamo l’hostname (in questo caso google.com), l’address (8.8.8.8), utilizziamo l’host preset “generic-switch” e il max check attempts che definisce quanti check effettuare prima di cambiare lo stato dell’host
A questo punto possiamo fare il submit dell’host.
Ci verrà richiesto se aggiungere dei servizi collegati che per ora non utilizzeremo
L’host è pronto necessita di essere caricato nella configurazione di Nagios

Deploy

Si occupa di verificare la configurazione e di fare il reload nel nostro server Nagios
Per prima cosa generiamo la configurazione tramite l’apposito link sulla barra principale.
Nella pagina che si aprirà vedremo un box nel quale è presente il syntax check che ci riporta eventuali errori e warning
Controllati questi errori e warning potremo rendere operativa la configurazione e visualizzare gli host e i servizi sul nostro server di monitoraggio

Priorità applicazione template

La seguente sequenza illustra l’ordine di precendenza degli attributi applicati agli host (lo stesso ordine si applica ai servizi):

  1. La priorità più alta si ha negli attributi definiti nel host o nel servizio direttamente
  2. Attributi deifniti in una template che è direttamente linkata a un host o a un servizio
  3. Attributi definiti in una template linkata a un servizio tramite il 'checkcommand'
  4. Attributi definiti in una template linkata a un a host o serivizio tramite il 'notification_period'
  5. Attributi definiti in una template linkata a un a host o serivizio tramite il 'check_period'
  6. Attributi definiti in una template linkata a un a host o serivizio tramite un collector / monitor, (in situazioni di monitoraggio distribuito)

Template

Tramite le template possiamo definire degli “standard” da applicare agli host con caratteristiche simili come ad esempio linux-server, che applica un intervallo di check ogni 5 minuti, la notifica durante le workhours e il check-host-alive

Checkcommands

In questa sezione troviamo i plugin di monitoraggio, che si occuperanno di effettuare fisicamente il test sull’host specificato nella configurazione.
Sono presenti alcuni già specificati in questo caso 19 ed è possibile definirne altri tramite l’interfaccia.
In Debian e Ubuntu sono situati in:
/usr/lib/nagios/plugins
I plugin utilizzati vengono richiamati da questa cartella dalle impostazioni di Nagios.

Services

I servizi ci permettono di definire il tipo di check da utilizzare, dargli un nome, definire l’intervallo fra un test e l’altro e i parametri del check, questo poi sarà applicato a un host da monitorare

Servicegroups

Sono unità logiche nelle quali suddividere gli host, ad esempio web-services tutti quegli host che hanno un check_http

Contacts e Contactgroups

In questa sezione possiamo definire contatti e gruppi di contatti a cui notificare i failure di servizi e host.

Parents

Per evitare notificazioni doppie o multiple, è possibile definire dei parent (genitori) in modo da avere la notifica solo del nodo superiore nel caso questo impedisca di raggiungere il sottostante in una struttura ad albero