title: Nagios
text: # Nagios
  
  In informatica Nagios (/ˈnɑːɡiːoʊs/) è un'applicazione open source per il monitoraggio di computer e risorse di rete. La sua funzione base è quella di controllare nodi, reti e servizi specificati, avvertendo con degli alert quando questi non garantiscono il loro servizio o quando ritornano attivi.
  
  Inizialmente noto col nome di NetSaint, distribuito sotto la versione 2 della GNU General Public License, pubblicata dalla Free Software Foundation, è stato scritto ed è attualmente mantenuto da Ethan Galstad, in origine sviluppato per Linux, ma può funzionare correttamente anche su altre varianti di Unix.
  
  ## Caratteristiche
  
  Alcune delle funzionalità di Nagios sono:
  
  * monitoraggio di servizi di rete (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, FTP, SSH);
  * monitoraggio delle risorse di sistema (carico del processore, uso dell'hard disk, log di sistema sulla maggior parte dei sistemi operativi, anche per Microsoft Windows);
  * monitoraggio remoto supportato attraverso tunnel SSH o SSL;
  * semplici plugin che permettono agli utenti di sviluppare facilmente nuovi controlli per i servizi in base alle proprie esigenze, usando bash, C++, Perl, Ruby, Python, PHP, C#, ecc.;
  * controlli paralleli sui servizi;
  * capacità di definire gerarchie di nodi di rete usando nodi "parent", permettendo la distinzione tra nodi che sono down e nodi non raggiungibili;
  * notifiche quando l'applicazione riscontra problemi o la loro risoluzione (via email, cercapersone, SMS, o con altri sistemi per mezzo di plugin aggiuntivi);
  * capacità di definire "event handler", ovvero azioni automatiche che vengono attivate all'apparire o alla risoluzione di un problema;
  * rotazione automatica dei file di log;
  * supporto per l'implementazione di monitoring ridondante;
  * interfaccia web opzionale per la visualizzazione dell'attuale stato, notifiche, storico dei problemi, file di log, ecc.
  
  ## Significato del nome
  
  N.A.G.I.O.S. è un acronimo ricorsivo di "Nagios Ain't Gonna Insist On Sainthood". È un riferimento al nome originale del software, NetSaint, che fu cambiato per via di problemi di marchi.
  
  ## Agenti
  
  Sul sistema remoto viene installato un agente che Nagios interroga periodicamente. Esistono diversi tipi di agenti.
  
  ### NRPE
  
  Nrpe (Nagios Remote Plugin Executor) è un agente di Nagios per l'esecuzione di controlli remoti sui sistemi Unix-like, come per esempio l'uso dello spazio disco, il carico di sistema o il numero di utenti attualmente connessi. Il server interroga l'agente mediante lo specifico plugin (check_nrpe).
  
  ### NSClient++
  
  Questo programma viene usato principalmente per monitorare macchine con sistema operativo Windows. Installato su un sistema remoto NSClient++ ascolta la porta TCP 12489. Il plugin Nagios che viene usato per raccogliere le informazioni da questo agente si chiama check_nt. Come per NRPE, NSClient++ permette di tenere sotto controllo i cosiddetti 'servizi privati' (uso della memoria, carico di CPU, uso del disco, processi in esecuzione, ecc.) e passarli all'host Nagios remoto che poi viene configurato per avvertire di eventuali problemi relativi ai parametri letti o della mancata connettività con l'agente.
  
  