Tutorial Nagios - Monitoraggio continuo con Nagios

Tutorial Nagios: Nagios monitora l'intera infrastruttura IT per garantire che sistemi, applicazioni, servizi e processi aziendali funzionino correttamente.

Tutorial di Nagios:

Credo che ci siano pochissimi post su Nagios e non molte informazioni rilevanti disponibili su Internet. Quindi, penso che questo post ti darà una buona chiarezza su questo strumento di monitoraggio. Nagios monitora l'intera infrastruttura IT per garantire che sistemi, applicazioni, servizi e processi aziendali funzionino correttamente.È parte integrante del ciclo di vita DevOps ed è un must per .In questo tutorial di Nagios, tratterò i seguenti argomenti:

  1. Perché abbiamo bisogno di un monitoraggio continuo?
  2. Che cos'è il monitoraggio continuo?
  3. Cos'è Nagios?
  4. Come installare Nagios?
  5. Come aggiungere un server remoto utilizzando NRPE (Nagios Remote Plugin Executor).

Cominciamo questo tutorial di Nagios, capendo perché abbiamo bisogno del monitoraggio continuo perché tutto esiste per un motivo. Quindi, proviamo a scoprire questo motivo.





Perché abbiamo bisogno di un monitoraggio continuo?

Gli strumenti di monitoraggio continuo risolvono eventuali errori di sistema (memoria insufficiente, server non raggiungibile, ecc.) Prima che abbiano un impatto negativo sulla produttività aziendale.

Motivi importanti per utilizzare uno strumento di monitoraggio sono:



  • Rileva eventuali problemi di rete o server
  • Determina la causa principale di eventuali problemi
  • Mantiene la sicurezza e la disponibilità del servizio
  • Monitora e risolve i problemi di prestazioni del server
  • Ci consente di pianificare gli aggiornamenti dell'infrastruttura prima che i sistemi obsoleti causino guasti
  • Può rispondere ai problemi al primo segno di un problema
  • Può essere utilizzato per risolvere automaticamente i problemi quando vengono rilevati
  • Assicura che le interruzioni dell'infrastruttura IT abbiano un effetto minimo sui profitti della tua organizzazione
  • Può monitorare l'intera infrastruttura e i processi aziendali

Sì, fa un ottimo lavoro, ma che cos'è?

Cos'è il monitoraggio continuo?

Lascia che ti dica prima dove si trova il monitoraggio continuo nel ciclo di vita DevOps, considera il diagramma seguente:

DevOps Life-Cyce - Tutorial Nagios - Edureka



Guardando il diagramma devi pensare che questa sia l'ultima fase del ciclo di vita DevOps, ma non è così. Non c'è fine a un ciclo di vita DevOps, e questa è la ragione per il simbolo dell'infinito. Il monitoraggio continuo entra in scena, una volta che l'applicazione viene distribuita sui server di produzione.

Il monitoraggio continuo riguarda la capacità di un'organizzazione di rilevare, segnalare, rispondere, contenere e mitigare gli attacchi che si verificano nella sua infrastruttura.

Il monitoraggio continuo in realtà non è una novità, esiste da tempo. Per anni i nostri professionisti della sicurezza eseguono analisi statiche da: log di sistema, log firewall, log IDS, log IPS ecc. Ma non ha fornito analisi e risposte adeguate. L'approccio di monitoraggio continuo di oggi ci dà la possibilità di aggregare tutti gli eventi di cui ho discusso in precedenza, metterli in correlazione, confrontarli e quindi stimare la posizione di rischio dell'organizzazione.

Se prendiamo tutti questi pezzi e assicuriamo l'interconnessione tra loro. Questo è il punto cruciale del monitoraggio continuo.

Lascia che ti spieghi questo con un caso d'uso.Considera il diagramma seguente:

Ora, lascia che ti spieghi il diagramma sopra:

  1. Abbiamo vari strumenti di sicurezza, come Firewall, IDS, End Point Protection, ecc. Sono collegati a un sistema di 'informazioni sulla sicurezza e gestione degli eventi'.
  2. Per ottenere il monitoraggio continuo, abbiamo bisogno che tutte le parti parlino tra loro, lascia che te lo spieghi.
  3. Quindi abbiamo strumenti di sicurezza e serie di 'punti finali', che possono includere client e server, router, switch, dispositivi mobili e così via.
  4. Questi due gruppi possono quindi parlare con un sistema SIEM (Security Information and Event Management), attraverso un linguaggio comune e in modo più automatizzato.
  5. Collegato a questo SIEM ci sono due componenti importanti, il primo è un Data Warehouse. Ora a questo data warehouse collegheremo 'Analytics' e 'Security Intelligence'.
  6. Le informazioni sulla sicurezza (SI) sono le informazioni rilevanti per proteggere un'organizzazione da minacce esterne e interne, nonché i processi, le politiche e gli strumenti progettati per raccogliere e analizzare tali informazioni.
  7. Questo SIEM è anche collegato a un 'Sistema di governance dei rischi e conformità' che fondamentalmente fornisce dashboard.
  8. A questo 'Sistema di governance dei rischi e della conformità' alleghiamo un database dei rischi. Questo ci dà 'intelligenza utilizzabile'.
  9. L'intelligenza utilizzabile non è altro che informazioni su cui è possibile agire, con l'ulteriore implicazione di azioni dovrebbero essere preso.

Quindi qui, stiamo monitorando gli eventi su base continuativa e determinando il livello di rischio che stiamo vivendo. Con questo, possiamo correlare gli eventi al SIEM. Possiamo eseguire il comportamento della rete e il rilevamento delle anomalie nel 'motore di analisi'. Questo è ciò che riguarda il monitoraggio continuo:

L'integrazione di un'organizzazionestrumenti di sicurezza,l'aggregazione,normalizzazione ecorrelazione dei dati prodotti dagli strumenti di sicurezza. L'analisi di tali dati, sulla base degli obiettivi di rischio dell'organizzazione e della conoscenza delle minacce, e la risposta quasi in tempo reale ai rischi identificati.

'Se non puoi misurarlo, non puoi gestirlo'. Spero tu sappia di cosa sto parlando.

Successivamente in questo tutorial di Nagios, ti presenterò uno dei più famosi strumenti di monitoraggio 'Nagios'.

Cos'è Nagios?

Nagios viene utilizzato per il monitoraggio continuo di sistemi, applicazioni, servizi e processi aziendali ecc. In una cultura DevOps. In caso di guasto, Nagios può avvisare il personale tecnico del problema, consentendo loro di avviare i processi di riparazione prima che le interruzioni influiscano sui processi aziendali, sugli utenti finali o sui clienti. Con Nagios, non devi spiegare perché un'interruzione invisibile dell'infrastruttura influisce sui profitti della tua organizzazione.

Lascia che ti spieghi come funziona Nagios.Considera il diagramma seguente:

Nagios viene eseguito su un server, solitamente come daemon o servizio.

Esegue periodicamente plugin che risiedono sullo stesso server, contattano host o server sulla tua rete o su Internet. È possibile visualizzare le informazioni sullo stato utilizzando l'interfaccia web. Puoi anche ricevere notifiche via e-mail o SMS se succede qualcosa.
Il demone Nagios si comporta come uno scheduler che esegue determinati script in determinati momenti. Memorizza i risultati di quegli script ed eseguirà altri script se questi risultati cambiano.

Plugin: Questisono eseguibili o script compilati (script Perl, script di shell, ecc.) che possono essere eseguiti da una riga di comando per controllare lo stato o un host o un servizio. Nagios utilizza i risultati dei plugin per determinare lo stato corrente degli host e dei servizi sulla tua rete.

Parliamo ora dell'architettura.

Architettura di Nagios:

  • Nagios è costruito su un'architettura server / agenti.
  • Di solito, su una rete, un server Nagios è in esecuzione su un host ei plugin interagiscono con gli host locali e remoti che devono essere monitorati.
  • Questi plug-in invieranno informazioni allo Scheduler, che le visualizza in una GUI.

Devo anche spiegarti NRPE (Nagios Remote Plugin Executor).

L'addon NRPE è progettato per consentire di eseguire plug-in Nagios su macchine Linux / Unix remote. Il motivo principale per farlo è consentire a Nagios di monitorare le risorse 'locali' (come il carico della CPU, l'utilizzo della memoria, ecc.) Su macchine remote. Poiché queste risorse pubbliche non sono solitamente esposte a macchine esterne, un agente come NRPE deve essere installato sulle macchine Linux / Unix remote.

Considera il diagramma seguente:

  • Il plug-in check_nrpe risiede sulla macchina di monitoraggio locale.
  • Il demone NRPE, viene eseguito sulla macchina Linux / Unix remota.
  • Esiste una connessione SSL (Secure Socket Layer) tra l'host di monitoraggio e l'host remoto come mostrato nel diagramma sopra.

Ora in questo tutorial di Nagios, è il momento per alcuni Mani su .

Cominciamo installando Nagios Core

Installa Nagios Core:

Il processo completo per installare Nagios può essere riassunto in quattro passaggi:

  1. Installa i pacchetti richiesti nel server di monitoraggio
  2. Installa Nagios Core, Nagios Plugin e NRPE (Nagios Remote Plugin Executor)
  3. Imposta la password Nagios per accedere all'interfaccia web
  4. Installa NRPE nel client

Passaggio - 1: installare i pacchetti richiesti sul server di monitoraggio:

Visita il sito: http://dl.fedoraproject.org/pub/epel/6/

Fare clic su i386, quindi verrai reindirizzato a una pagina.

Dato che utilizzo CentOS 6, farò clic con il pulsante destro del mouse e copierò la posizione del collegamento di ' epel-release-6-8.noarch.rpm ', Come mostrato nello screenshot qui sopra.

Apri il terminale e usa rpm -Uvh comando e incolla il link.

Dobbiamo scaricare un altro repository, per quella visita il sito web ' http://rpms.famillecollet.com/enterprise/ '

Fare clic con il pulsante destro del mouse e copiare il percorso del collegamento per ' remi-release-6.rpm '

Apri di nuovo il terminale e usa rpm -Uvh comando e incolla il link.

Bene, quindi abbiamo finito con i prerequisiti. Andiamo al passaggio successivo.

Passaggio 2: installa Nagios Core, Nagios Plugin e NRPE (Nagios Remote Plugin Executor):

Esegui il comando seguente nel terminale:

yum -y installa nagios nagios-plugins-all nagios-plugins-nrpe nrpe httpd php

Questo installerà Nagios, Nagios Plugins, Plugins per NRPE, NRPE, Apache e PHP

Il server Web Apache è necessario per monitorare lo stato del server Web corrente.

Php viene utilizzato per elaborare il contenuto dinamico della data del sito.

Successivamente, dobbiamo abilitare i servizi Apache e Nagios:

chkconfig httpd su && chkconfig nagios su

Il nostro prossimo passo è avviare Nagios e Apache:

inizio servizio httpd & & inizio servizio nagios

Ora, abiliterò la memoria di scambio di almeno 1 GB. È ora di creare il file di scambio stesso utilizzando il comando dd:

dd if = / dev / zero of = / swap bs = 1024 count = 2097152

Lo swap è fondamentalmente utilizzato per liberare alcune informazioni non così frequenti dalla RAM e spostarle in una partizione specifica sul nostro disco rigido.

Ora che hai creato la partizione di swap, usa il comando mkswap per configurare la partizione di swap. Questo preparerà il file di scambio creando un'area di scambio di Linux.

mkswap / swap

Per evitare che il file sia leggibile in tutto il mondo, è necessario impostare le autorizzazioni corrette sul file di scambio:

chown root. / swap chmod 0600 / swap

Se non vedi errori, il tuo spazio di swap è pronto per l'uso. Per attivarlo immediatamente, digita:

swapon / swap

Questo file durerà sul server privato virtuale fino al riavvio della macchina. Puoi assicurarti che lo scambio sia permanente aggiungendolo al file fstab.

echo / swap swap swap default 0 0 >> / etc / fstab

Il kernel del sistema operativo può regolare la frequenza con cui si basa sullo scambio tramite un parametro di configurazione noto come swappiness .

Per trovare le impostazioni di scambio correnti, digita:

cat / proc / sys / vm / swappiness

Swapiness può essere un valore compreso tra 0 e 100. Swappiness vicino a 100 significa che il sistema operativo cambierà spesso e normalmente, troppo presto. Sebbene lo scambio fornisca risorse extra, la RAM è molto più veloce dello spazio di scambio. Ogni volta che qualcosa viene spostato dalla RAM allo scambio, rallenta.

Un valore di swappiness pari a 0 significa che l'operatore si baserà sullo swap solo quando è assolutamente necessario. Possiamo regolare lo swappiness con il comando sysctl. Per fare in modo che il tuo VPS applichi automaticamente questa impostazione ogni volta che si avvia, puoi aggiungere l'impostazione a /etc/sysctl.conffile:

echo vm.swappiness = 0 >> /etc/sysctl.conf && sysctl -p

Infine, abbiamo finito con il secondo passaggio.

Andiamo oltre e impostiamo la password Nagios per accedere all'interfaccia web.

Passaggio 3: impostare la password Nagios per accedere all'interfaccia Web:

Imposta la password per accedere all'interfaccia web, usa il comando seguente:

htpasswd -c / etc / nagios / passwd nagiosadmin

Digita la password e confermala riscrivendola.

Ora apri il browser. Qui, digita il tuo IP pubblico o nome host / nagios. Considera l'esempio seguente:

Qui, fornire il nome utente e la password. Per impostazione predefinita, il nome utente è nagiosadmin, e la password è quella che hai impostato nel passaggio precedente. Infine, premi OK.

Dopo questo, verrai indirizzato alla dashboard di Nagios Core.

Puoi fare clic sugli host e vedere cosa sta monitorando attualmente il tuo Nagios Core.

Puoi notare che sta monitorando solo un host, ovvero localhost. Se desidero che il mio Nagios Core controlli un host remoto, devo installare NRPE in quell'host remoto. Questo ci porta al passaggio successivo, installa NRPE nel client / macchina che vuoi che Nagios controlli.

Passaggio - 4: installare NRPE nel client:

Bene, allora installiamo NRPE nella macchina client.

In primo luogo, è necessario installare i pacchetti richiesti come ho fatto io sulla mia macchina server Nagios. Quindi, esegui gli stessi comandi, considera gli screenshot seguenti:

Ora installa Nagios, Nagios Plugins e NRPE nel client:

yum -y installa nagios nagios-plugins-all nrpe

Una volta installato, abilitare il servizio NRPE:

chkconfig nrpe attivato


Il nostro prossimo passo è modificare il, nrpe.cfg file. Userò il file noi editor, puoi scegliere qualsiasi altro editor anche:

Devi aggiungere l'indirizzo IP del tuo server di monitoraggio, nella riga host consentita, considera lo screenshot qui sotto:

Qui, l'indirizzo IP del mio server di monitoraggio è 192.168.56.101.

Ora, dobbiamo configurare le regole del firewall per consentire la connessione tra il server di monitoraggio e il client.

iptables -N NRPE

-Una opzione viene utilizzata per aggiungere la nuova regola alla fine di una catena. Se vuoi metterlo da qualche altra parte nella catena, puoi usare l'opzione -I che ti permette di specificare la posizione della nuova regola.

Il comando seguente accetta le richieste tcp sulle porte 5666.

iptables -I INPUT -s 0/0 -p tcp --dport 5666 -j NRPE iptables -I NRPE -s 192.168.56.101 -j ACCEPT iptables -A NRPE -s 0/0 -j DROP

Questo fondamentalmente configurerà iptables per accettare pacchetti da un particolare host, nel mio caso - 192.168.56.101, e rilascia i pacchetti da altri host.

Ora salverò queste configurazioni:

/etc/init.d/iptables save

Avvia subito il servizio NRPE.

inizio servizio nrpe

Ora torna al server di monitoraggio.

Qui, ho bisogno di modificare il file nagios.cfg.

vi /etc/nagios/nagios.cfg

Rimuovi il commento dalla riga - cfg_dir = ecc / nagios / servers

Crea una directory 'server', per quell'uso mkdir comando.

mkdir / etc / nagios / servers /

Cambia la tua directory di lavoro in server.

cd / etc / nagios / servers

Crea un nuovo file in questa directory con estensione .cfg e modificalo. Lo chiamerò client.cfg e userò noi editore.

vi /etc/nagios/servers/client.cfg

Qui aggiungi le seguenti righe:

cosa fa .innerhtml

Questo fondamentalmente include il tipo di servizi che voglio monitorare. Fornisci il nome host della macchina e il suo indirizzo IP che vuoi che Nagios controlli.

Allo stesso modo, puoi aggiungere il numero di servizi che desideri monitorare. Le stesse configurazioni possono essere utilizzate per aggiungere un numero 'n' di client.

Ultimo passaggio ragazzi, impostate correttamente i permessi della cartella e riavviate Nagios.

chown -R nagios. / etc / nagios /

Ora riavvia Nagios

riavviare il servizio nagios

Apri il browser e digita di nuovo il file nome host o ip pubblico / nagios /. Nel mio caso è localhost / nagios /.

Fare clic su host per vedere tutte le macchine che Nagios sta attualmente monitorando.

Qui puoi notare che sta attualmente monitorando la macchina client (nome host della macchina che voglio che Nagios controlli). Fondamentalmente, abbiamo aggiunto un host remoto utilizzando NRPE.

Spero che vi siate divertiti a leggere questo tutorial su Nagios, presto uscirò con altri blog su Nagios.

Se hai trovato pertinente questo tutorial di Nagios, controlla il da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione sulla certificazione DevOps Edureka aiuta gli studenti ad acquisire esperienza in vari processi e strumenti DevOps come Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack e GIT per l'automazione di più passaggi in SDLC.

Hai una domanda per me? Per favore, menzionalo nella sezione commenti e ti ricontatterò.