Tutorial Nagios - Monitorizare continuă cu Nagios



Tutorial Nagios: Nagios vă monitorizează întreaga infrastructură IT pentru a se asigura că sistemele, aplicațiile, serviciile și procesele de afaceri funcționează corect.

Tutorial Nagios:

Cred că există foarte puține postări pe Nagios și nu există prea multe informații relevante disponibile pe internet. Deci, cred că această postare vă va oferi o claritate bună asupra acestui instrument de monitorizare. Nagios vă monitorizează întreaga infrastructură IT pentru a se asigura că sistemele, aplicațiile, serviciile și procesele de afaceri funcționează corect.Este parte integrantă a ciclului de viață DevOps și este o necesitate pentru .În acest tutorial Nagios, voi acoperi subiectele de mai jos:

  1. De ce avem nevoie de monitorizare continuă?
  2. Ce este monitorizarea continuă?
  3. Ce este Nagios?
  4. Cum se instalează Nagios?
  5. Cum se adaugă un server la distanță folosind NRPE (Nagios Remote Plugin Executor).

Să începem acest tutorial Nagios, înțelegând de ce avem nevoie de monitorizare continuă, deoarece totul există dintr-un motiv. Deci, să încercăm să aflăm acest motiv.





De ce avem nevoie de monitorizare continuă?

Instrumentele de monitorizare continuă rezolvă orice erori de sistem (memorie redusă, server de neatins etc.) înainte ca acestea să aibă un impact negativ asupra productivității afacerii dvs.

Motivele importante pentru utilizarea unui instrument de monitorizare sunt:



  • Detectează orice problemă de rețea sau de server
  • Determină cauza principală a oricăror probleme
  • Menține securitatea și disponibilitatea serviciului
  • Monitorizează și depanează problemele de performanță ale serverului
  • Ne permite să planificăm actualizările infrastructurii înainte ca sistemele învechite să provoace eșecuri
  • Poate răspunde la probleme la primul semn al unei probleme
  • Poate fi folosit pentru a remedia automat problemele atunci când sunt detectate
  • Se asigură că întreruperile infrastructurii IT au un efect minim asupra rezultatelor organizației dvs.
  • Vă poate monitoriza întreaga infrastructură și procesele de afaceri

Da, face multă treabă grozavă, dar ce este?

Ce este monitorizarea continuă?

Permiteți-mi să vă spun mai întâi unde se află monitorizarea continuă în ciclul de viață DevOps, luați în considerare diagrama de mai jos:

DevOps Life-Cyce - Tutorial Nagios - Edureka



Privind diagrama, trebuie să vă gândiți că aceasta este ultima etapă a ciclului de viață DevOps, dar nu este cazul. Un ciclu de viață DevOps nu are sfârșit și acesta este motivul simbolului infinit. Monitorizarea continuă intră în imagine, odată ce aplicația este implementată pe serverele de producție.

Monitorizarea continuă se referă la capacitatea unei organizații de a detecta, raporta, răspunde, conține și atenua atacurile care apar, în infrastructura sa.

Monitorizarea continuă nu este de fapt nouă, există de ceva timp. De ani de zile, profesioniștii noștri în securitate efectuează analize statice din - jurnal de sistem, jurnale firewall, jurnale IDS, jurnale IPS etc. Dar nu a furnizat analize și răspunsuri adecvate. Abordarea de monitorizare continuă de astăzi ne oferă posibilitatea de a agrega toate evenimentele despre care am discutat mai sus, de a le corela, de a le compara și apoi de a estima poziția de risc a organizației.

Dacă luăm toate aceste piese și asigurăm legătura dintre ele. Acesta este esența monitorizării continue.

Permiteți-mi să explic acest lucru cu un caz de utilizare.Luați în considerare diagrama de mai jos:

Acum, permiteți-mi să vă explic diagrama de mai sus:

  1. Avem diverse instrumente de securitate, cum ar fi Firewall, IDS, End Point Protection etc., acestea sunt conectate la un sistem „Informații de securitate și gestionare a evenimentelor”.
  2. Pentru a realiza o monitorizare continuă, trebuie să avem toate părțile care vorbesc între ele, permiteți-mi să vă explic asta.
  3. Deci, avem instrumente de securitate și serii de „Puncte finale”, acestea pot include client și servere, routere, switch-uri, dispozitive mobile și așa mai departe.
  4. Aceste două grupuri pot vorbi apoi cu un sistem de gestionare a informațiilor și evenimentelor de securitate (SIEM), printr-un limbaj comun și într-un mod mai automat.
  5. Conectat la acest SIEM există două componente importante, prima fiind un Data Warehouse. Acum, la acest Data Warehouse, vom conecta „Analytics” și „Security Intelligence”.
  6. Informațiile de securitate (SI) reprezintă informațiile relevante pentru protejarea unei organizații împotriva amenințărilor externe și din interior, precum și procesele, politicile și instrumentele concepute pentru a colecta și analiza aceste informații.
  7. Acest SIEM este, de asemenea, conectat la un „Sistem de conformitate și risc de guvernanță”, care oferă practic tabloul de bord.
  8. La acest „Sistem de conformitate și risc de guvernanță” atașăm o bază de date de risc. Acest lucru ne oferă „Inteligență acționabilă”.
  9. Inteligența acționabilă nu este altceva decât informație care poate fi acționată, cu implicația ulterioară a acțiunilor ar trebui să a fi luat.

Așadar, aici monitorizăm evenimentele continuu și stabilim ce nivel de risc avem. Cu aceasta, putem corela evenimentele de la SIEM. Putem efectua detectarea comportamentului în rețea și a anomaliilor la „Motorul analitic”. În acest sens este monitorizarea continuă:

Integrarea unei organizațiiinstrumente de securitate,agregarea,normalizare șicorelarea datelor care sunt produse de instrumentele de securitate. Analiza acestor date, pe baza obiectivelor de risc ale organizației și a cunoștințelor privind amenințările și a răspunsului aproape în timp real la riscurile identificate.

„Dacă nu o poți măsura, nu o poți gestiona”. Sper să știi despre ce vorbesc.

În continuare, în acest tutorial Nagios, vă voi prezenta unul dintre cele mai faimoase instrumente de monitorizare „Nagios”.

Ce este Nagios?

Nagios este utilizat pentru monitorizarea continuă a sistemelor, aplicațiilor, serviciilor și proceselor de afaceri etc. într-o cultură DevOps. În caz de eșec, Nagios poate alerta personalul tehnic cu privire la problemă, permițându-i să înceapă procesele de remediere înainte ca întreruperile să afecteze procesele de afaceri, utilizatorii finali sau clienții. Cu Nagios, nu trebuie să explicați de ce o întrerupere de infrastructură nevăzută afectează linia de jos a organizației.

Permiteți-mi să vă explic cum funcționează Nagios.Luați în considerare diagrama de mai jos:

Nagios rulează pe un server, de obicei ca demon sau serviciu.

Rulează periodic pluginuri care locuiesc pe același server, contactează gazde sau servere din rețeaua dvs. sau de pe internet. Se pot vizualiza informațiile de stare folosind interfața web. De asemenea, puteți primi notificări prin e-mail sau SMS dacă se întâmplă ceva.
Demonul Nagios se comportă ca un programator care rulează anumite scripturi în anumite momente. Acesta stochează rezultatele acestor scripturi și va rula alte scripturi dacă aceste rezultate se schimbă.

Pluginuri: Acestesunt executabile sau scripturi compilate (scripturi Perl, scripturi shell etc.) care pot fi rulate dintr-o linie de comandă pentru a verifica starea sau o gazdă sau serviciu. Nagios folosește rezultatele din pluginuri pentru a determina starea actuală a gazdelor și serviciilor din rețeaua dvs.

Să discutăm acum despre arhitectura sa.

Arhitectura Nagios:

  • Nagios este construit pe o arhitectură server / agenți.
  • De obicei, pe o rețea, un server Nagios rulează pe o gazdă, iar pluginurile interacționează cu gazdele locale și la distanță care trebuie monitorizate.
  • Aceste pluginuri vor trimite informații către programator, care le afișează într-o interfață grafică.

De asemenea, trebuie să vă explic NRPE (Nagios Remote Plugin Executor).

Suplimentul NRPE este conceput pentru a vă permite să executați pluginuri Nagios pe mașini Linux / Unix la distanță. Principalul motiv pentru aceasta este de a permite Nagios să monitorizeze resursele „locale” (cum ar fi încărcarea procesorului, utilizarea memoriei etc.) pe mașinile la distanță. Deoarece aceste resurse publice nu sunt de obicei expuse la mașini externe, un agent precum NRPE trebuie instalat pe mașinile Linux / Unix la distanță.

Luați în considerare diagrama de mai jos:

  • Pluginul check_nrpe se află pe mașina de monitorizare locală.
  • Demonul NRPE rulează pe mașina Linux / Unix la distanță.
  • Există o conexiune SSL (Secure Socket Layer) între monitorizarea gazdei și gazda la distanță, așa cum se arată în diagrama de mai sus.

Acum, în acest tutorial Nagios, este timpul pentru unii Implicat activ .

Să începem prin instalarea Nagios Core

Instalați Nagios Core:

Procesul complet de instalare a Nagios poate fi rezumat în patru pași:

  1. Instalați pachetele necesare în serverul de monitorizare
  2. Instalați Nagios Core, Nagios Plugins și NRPE (Nagios Remote Plugin Executor)
  3. Setați parola Nagios pentru a accesa interfața web
  4. Instalați NRPE în client

Pasul 1: Instalați pachetele necesare pe serverul de monitorizare:

Vizitați site-ul web: http://dl.fedoraproject.org/pub/epel/6/

Faceți clic pe i386 și apoi veți fi redirecționat către o pagină.

Deoarece folosesc CentOS 6, așa că voi face clic dreapta și voi copia locația linkului „ epel-release-6-8.noarch.rpm ‘, Așa cum se arată în captura de ecran de mai sus.

Deschideți terminalul și utilizați rpm -Uvh comandați și lipiți linkul.

Trebuie să descărcăm încă un depozit, pentru aceasta vizitați site-ul web „ http://rpms.famillecollet.com/enterprise/ '

Faceți clic dreapta și copiați locația linkului pentru „ remi-release-6.rpm '

Deschideți din nou terminalul și utilizați rpm -Uvh comandați și lipiți linkul.

Bine, deci am terminat cu premisele. Să trecem la pasul următor.

Pasul 2: Instalați Nagios Core, Nagios Plugins și NRPE (Nagios Remote Plugin Executor):

Executați comanda de mai jos în terminal:

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

Aceasta va instala Nagios, pluginuri Nagios, pluginuri pentru NRPE, NRPE, Apache și PHP

Este necesar serverul web Apache pentru a monitoriza starea curentă a serverului web.

Php este utilizat pentru procesarea conținutului dinamic al datei site-ului.

Apoi, trebuie să activăm serviciile Apache și Nagios:

chkconfig httpd on && chkconfig nagios on

Următorul nostru pas este să pornim Nagios și Apache:

service httpd start && service nagios start

Acum, voi activa memoria de swap de cel puțin 1 GB. Este timpul să creați fișierul swap în sine folosind comanda dd:

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

Schimbul este practic folosit pentru a elibera unele informații, care nu sunt accesate atât de frecvent din RAM, și pentru a le muta pe o partiție specifică de pe hard diskul nostru.

Acum că ați creat partiția swap, utilizați comanda mkswap pentru a configura partiția swap. Aceasta va pregăti fișierul swap prin crearea unei zone de swap linux.

mkswap / swap

Pentru a împiedica citirea mondială a fișierului, ar trebui să configurați permisiunile corecte pentru fișierul swap:

rădăcină chown. / swap chmod 0600 / swap

Dacă nu vedeți erori, spațiul de swap este gata de utilizare. Pentru a-l activa imediat, tastați:

swapon / swap

Acest fișier va dura pe serverul privat virtual până la repornirea mașinii. Vă puteți asigura că swap-ul este permanent adăugându-l în fișierul fstab.

echo / swap swap swap implicit 0 0 >> / etc / fstab

Nucleul sistemului de operare poate regla cât de des se bazează pe swap printr-un parametru de configurare cunoscut sub numele de swappiness .

Pentru a găsi setările curente de swappiness, tastați:

cat / proc / sys / vm / swappiness

Swapiness poate fi o valoare de la 0 la 100. Swappiness aproape de 100 înseamnă că sistemul de operare va schimba des și, de obicei, prea curând. Deși swap-ul oferă resurse suplimentare, memoria RAM este mult mai rapidă decât spațiul swap. De fiecare dată când ceva este mutat de la RAM la schimb, acesta încetinește.

O valoare de swappiness de 0 înseamnă că operațiunea se va baza pe swap numai atunci când este absolut necesar. Putem ajusta swappiness cu comanda sysctl. Pentru ca VPS-ul dvs. să aplice automat această setare de fiecare dată când pornește, puteți adăuga setarea la /etc/sysctl.conffişier:

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

În cele din urmă, am terminat cu al doilea pas.

Să continuăm mai departe și să setăm parola Nagios pentru a accesa interfața web.

Pasul 3: Setați parola Nagios pentru a accesa interfața web:

Setați parola pentru a accesa interfața web, utilizați comanda de mai jos:

htpasswd -c / etc / nagios / passwd nagiosadmin

Tastați parola și confirmați-o retipând-o.

Acum, deschideți browserul. Aici, tastați IP-ul dvs. public sau numele gazdei / nagios. Luați în considerare exemplul de mai jos:

Aici, dați numele de utilizator și parola. În mod implicit, numele de utilizator este nagiosadmin, și parola este ceea ce ați setat în pasul anterior. În cele din urmă, apăsați OK.

După aceasta, veți fi direcționat către tabloul de bord Nagios Core.

Puteți face clic pe gazde și puteți vedea ce monitorizează în prezent toate gazdele dvs. Nagios Core.

Puteți observa că monitorizează o singură gazdă, adică localhost. Dacă vreau ca Nagios Core să monitorizeze o gazdă la distanță, trebuie să instalez NRPE în acea gazdă la distanță. Aceasta ne duce la pasul următor, instalați NRPE în client / mașină pe care doriți să o monitorizeze Nagios.

Pasul 4: Instalați NRPE în client:

În regulă, să instalăm NRPE în computerul client.

În primul rând, trebuie să instalați pachetele necesare, așa cum am făcut pe serverul meu Nagios. Deci, doar executați aceleași comenzi, luați în considerare capturile de ecran de mai jos:

Acum instalați Nagios, Nagios Plugins și NRPE în client:

yum -y install nagios nagios-plugins-all nrpe

Odată ce este instalat, activați serviciul NRPE:

chkconfig nrpe on


Următorul nostru pas este să edităm, nrpe.cfg fişier. Voi folosi noi editor, puteți alege orice alt editor, de asemenea:

Trebuie să adăugați adresa IP a serverului dvs. de monitorizare, în linia gazdă permisă, luați în considerare captura de ecran de mai jos:

Aici, adresa IP a serverului meu de monitorizare este 192.168.56.101.

Acum, trebuie să configurăm reguli firewall pentru a permite conexiunea între serverul de monitorizare și client.

iptables -N NRPE

-O opțiune este utilizată pentru a adăuga noua regulă la sfârșitul unui lanț. Dacă doriți să o puneți în altă parte a lanțului, puteți utiliza opțiunea -I care vă permite să specificați poziția noii reguli.

Comanda de mai jos acceptă cereri tcp pe porturile 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

Aceasta va configura practic iptables pentru a accepta pachete de la o anumită gazdă, în cazul meu - 192.168.56.101 și va renunța la pachetele de la alte gazde.

Acum, voi salva aceste configurații:

/etc/init.d/iptables save

Porniți serviciul NRPE acum.

service nrpe start

Acum reveniți la serverul de monitorizare.

Aici, trebuie să editez fișierul nagios.cfg.

vi /etc/nagios/nagios.cfg

Decomentați linia - cfg_dir = etc / nagios / servers

Creați directorul „server”, pentru acea utilizare mkdir comanda.

mkdir / etc / nagios / servers /

Schimbați directorul de lucru în servere.

cd / etc / nagios / servers

Creați un fișier nou în acest director cu extensia .cfg și editați-l. Îl voi numi client.cfg și îl voi folosi noi editor.

vi /etc/nagios/servers/client.cfg

Aici adăugați rândurile de mai jos:

ce este bucătarul în devops

Aceasta include în esență tipul de servicii pe care vreau să le monitorizez. Dați numele gazdei mașinii și adresa IP a acesteia pe care doriți să o monitorizeze Nagios.

În mod similar, puteți adăuga un număr de servicii pe care doriți să le monitorizați. Aceleași configurații pot fi folosite pentru a adăuga un număr „n” de clienți.

Ultima etapă, băieți, setați corect permisiunile folderului și reporniți Nagios.

chown -R nagios. / etc / nagios /

Acum, reporniți Nagios

service nagios reporniți

Deschideți browserul și tastați din nou numele gazdei sau IP public / nagios /. În cazul meu este localhost / nagios /.

Faceți clic pe gazde pentru a vedea toate mașinile pe care Nagios le monitorizează în prezent.

Aici puteți observa că monitorizează în prezent mașina client (numele gazdei mașinii pe care vreau să o monitorizeze Nagios). Practic, am adăugat o gazdă la distanță folosind NRPE.

Sper că v-a plăcut să citiți acest tutorial Nagios, în curând voi veni cu mai multe bloguri pe Nagios.

Dacă ați găsit relevant acest tutorial Nagios, consultați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul Edureka DevOps Certification Training ajută cursanții să câștige expertiză în diferite procese și instrumente DevOps, cum ar fi Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack și GIT pentru automatizarea mai multor pași în SDLC.

Ai o întrebare pentru mine? Vă rugăm să o menționați în secțiunea de comentarii și vă voi răspunde.