Nagios Tutorial - Kontinuerlig övervakning med Nagios



Nagios handledning: Nagios övervakar hela din IT-infrastruktur för att säkerställa att system, applikationer, tjänster och affärsprocesser fungerar korrekt.

Nagios handledning:

Jag tror att det finns väldigt få inlägg på Nagios, och det finns inte mycket relevant information tillgänglig över internet. Så jag tror att det här inlägget kommer att ge dig en bra klarhet i detta övervakningsverktyg. Nagios övervakar hela din IT-infrastruktur för att säkerställa att system, applikationer, tjänster och affärsprocesser fungerar korrekt.Det är en integrerad del av DevOps livscykel och är ett måste för .I denna Nagios-handledning kommer jag att täcka nedanstående ämnen:

  1. Varför behöver vi kontinuerlig övervakning?
  2. Vad är kontinuerlig övervakning?
  3. Vad är Nagios?
  4. Hur installerar jag Nagios?
  5. Hur man lägger till en fjärrserver med NRPE (Nagios Remote Plugin Executor).

Låt oss börja denna Nagios-handledning genom att förstå varför vi behöver kontinuerlig övervakning eftersom allt finns av en anledning. Så, låt oss försöka ta reda på den anledningen.





Varför behöver vi kontinuerlig övervakning?

Kontinuerliga övervakningsverktyg löser alla systemfel (lågt minne, server som inte kan nås) innan de påverkar produktiviteten negativt.

Viktiga skäl att använda ett övervakningsverktyg är:



  • Den upptäcker eventuella nätverks- eller serverproblem
  • Det avgör orsaken till eventuella problem
  • Den bibehåller säkerheten och tillgängligheten för tjänsten
  • Den övervakar och felsöker problem med serverprestanda
  • Det gör att vi kan planera för infrastrukturuppgraderingar innan föråldrade system orsakar fel
  • Det kan svara på problem vid första tecknet på ett problem
  • Den kan användas för att automatiskt åtgärda problem när de upptäcks
  • Det säkerställer att IT-infrastrukturavbrott har en minimal effekt på organisationens resultat
  • Det kan övervaka hela din infrastruktur och affärsprocesser

Ja, det fungerar mycket coolt, men vad är det?

Vad är kontinuerlig övervakning?

Låt mig först berätta var kontinuerlig övervakning ligger i DevOps livscykel, överväga diagrammet nedan:

DevOps Life-Cyce - Nagios Tutorial - Edureka



Om du tittar på diagrammet måste du tänka att det här är det sista steget i DevOps livscykel, men så är inte fallet. Det finns inget slut på en DevOps livscykel, och det är anledningen till oändlighetssymbolen. Kontinuerlig övervakning kommer in i bilden när applikationen har distribuerats på produktionsservrarna.

Kontinuerlig övervakning handlar om organisationens förmåga att upptäcka, rapportera, svara, innehålla och mildra attackerna som inträffar i dess infrastruktur.

Kontinuerlig övervakning är faktiskt inte ny, den har funnits länge. I flera år utför våra säkerhetspersonal statisk analys från - systemlogg, brandväggsloggar, IDS-loggar, IPS-loggar etc. Men det gav inte korrekt analys och svar. Dagens strategi för kontinuerlig övervakning ger oss möjlighet att sammanställa alla de händelser som jag diskuterade ovan, samordna dem, jämföra dem och sedan uppskatta organisationens riskställning.

Om vi ​​tar alla dessa bitar och säkerställer sammanlänkningen mellan dem. Detta är kärnan i kontinuerlig övervakning.

Låt mig förklara detta med ett användningsfall.Tänk på diagrammet nedan:

Låt mig förklara ovanstående diagram:

  1. Vi har olika säkerhetsverktyg, som brandvägg, IDS, slutpunktsskydd etc. de är anslutna till ett ”säkerhetsinformation och händelsehanteringssystem.
  2. För att uppnå kontinuerlig övervakning måste vi ha alla delar som pratar med varandra, låt mig förklara det för dig.
  3. Så vi har säkerhetsverktyg och serier av 'End Points', detta kan inkludera klient och servrar, routrar, switchar, mobila enheter och så vidare.
  4. Dessa två grupper kan sedan prata med ett SIEM (Security Information and Event Management system) via ett gemensamt språk och på ett mer automatiserat sätt.
  5. Ansluten till detta SIEM finns det två viktiga komponenter, den första är ett datalager. Nu till detta datalager kopplar vi 'Analytics' och 'Security Intelligence'.
  6. Säkerhetsinformation (SI) är informationen som är relevant för att skydda en organisation från externa hot och insiderhot samt processer, policyer och verktyg för att samla in och analysera den informationen.
  7. Denna SIEM är också ansluten till ett ”Governance Risk and Compliance System”, det ger i princip instrumentbräda.
  8. Till detta ”Governance Risk and Compliance System” bifogar vi en riskdatabas. Detta ger oss ”Actionable Intelligence”.
  9. Handlingsbar intelligens är inget annat än information som kan ageras på, med den ytterligare implikationen att handlingar skall bli tagen.

Så här övervakar vi händelserna fortlöpande och avgör vilken risknivå vi upplever. Med detta kan vi korrelera händelserna på SIEM. Vi kan utföra nätverksbeteende och detektering av avvikelser med ”Analytics Engine”. Det här är vad kontinuerlig övervakning handlar om:

Integrationen av en organisationsäkerhetsverktyg,aggregeringen,normalisering ochkorrelation av data som produceras av säkerhetsverktygen. Analysen av dessa data, baserat på organisationens riskmål och hotkunskap, och nära realtidssvar på de identifierade riskerna.

'Om du inte kan mäta det kan du inte hantera det'. Jag hoppas att du vet vad jag pratar om.

Nästa gång i denna Nagios-handledning kommer jag att introducera dig till ett av de mest kända övervakningsverktygen 'Nagios'.

Vad är Nagios?

Nagios används för kontinuerlig övervakning av system, applikationer, tjänster och affärsprocesser etc i en DevOps-kultur. I händelse av ett misslyckande kan Nagios varna den tekniska personalen om problemet, så att de kan starta saneringsprocesser innan avbrott påverkar affärsprocesser, slutanvändare eller kunder. Med Nagios behöver du inte förklara varför ett osynligt infrastrukturavbrott påverkar organisationens resultat.

Låt mig förklara för dig hur Nagios fungerar.Tänk på diagrammet nedan:

Nagios körs på en server, vanligtvis som en demon eller en tjänst.

Det körs regelbundet plugins som finns på samma server, de kontaktar värdar eller servrar i ditt nätverk eller på internet. Man kan se statusinformation med hjälp av webbgränssnittet. Du kan också få e-post- eller SMS-aviseringar om något händer.
Nagios-demonen beter sig som en schemaläggare som kör vissa skript vid vissa tillfällen. Den lagrar resultaten för dessa skript och kör andra skript om dessa resultat ändras.

Plugins: Dessaär kompilerade körbara filer eller skript (Perl-skript, skalskript etc.) som kan köras från en kommandorad för att kontrollera status eller en värd eller tjänst. Nagios använder resultaten från plugins för att bestämma den aktuella statusen för värdarna och tjänsterna i ditt nätverk.

Låt oss nu diskutera det är arkitektur.

Nagios arkitektur:

  • Nagios bygger på en server / agent arkitektur.
  • I ett nätverk körs vanligtvis en Nagios-server på en värd och plugins interagerar med lokala och alla fjärrvärdar som behöver övervakas.
  • Dessa plugins skickar information till schemaläggaren, som visar den i ett GUI.

Jag måste också förklara dig NRPE (Nagios Remote Plugin Executor).

NRPE-tillägget är utformat så att du kan köra Nagios-plugins på fjärr Linux / Unix-maskiner. Den främsta anledningen till detta är att låta Nagios övervaka ”lokala” resurser (som CPU-belastning, minnesanvändning etc.) på fjärrmaskiner. Eftersom dessa offentliga resurser vanligtvis inte exponeras för externa maskiner måste en agent som NRPE installeras på fjärr Linux / Unix-maskiner.

Tänk på diagrammet nedan:

  • Plugin check_nrpe finns på den lokala övervakningsmaskinen.
  • NRPE-demonen körs på fjärr Linux / Unix-maskinen.
  • Det finns en SSL-anslutning (Secure Socket Layer) mellan övervakningsvärden och fjärrvärden som visas i diagrammet ovan.

Nu i denna Nagios-handledning är det dags för några Praktisk .

Låt oss börja med att installera Nagios Core

Installera Nagios Core:

Hela processen för att installera Nagios kan sammanfattas i fyra steg:

  1. Installera nödvändiga paket i övervakningsservern
  2. Installera Nagios Core, Nagios Plugins och NRPE (Nagios Remote Plugin Executor)
  3. Ställ in Nagios lösenord för att komma åt webbgränssnittet
  4. Installera NRPE i klient

Steg - 1: Installera nödvändiga paket på övervakningsservern:

Besök webbplatsen: http://dl.fedoraproject.org/pub/epel/6/

Klicka på i386, så omdirigeras du till en sida.

Eftersom jag använder CentOS 6, så högerklickar jag och kopierar länkplatsen för ' epel-release-6-8.noarch.rpm , Som visas i skärmdumpen ovan.

Öppna terminalen och använd rpm -Uvh kommandot och klistra in länken.

Vi måste ladda ner ytterligare ett arkiv, för att besöka webbplatsen ” http://rpms.famillecollet.com/enterprise/ ''

Högerklicka och kopiera länkplatsen för remi-release-6.rpm ''

Öppna terminalen igen och använd den rpm -Uvh kommandot och klistra in länken.

Fina, så vi är klara med förutsättningarna. Låt oss gå vidare till nästa steg.

Steg - 2: Installera Nagios Core, Nagios Plugins och NRPE (Nagios Remote Plugin Executor):

Utför kommandot nedan i terminalen:

yum -y installera nagios nagios-plugins-alla nagios-plugins-nrpe nrpe httpd php

Detta installerar Nagios, Nagios Plugins, Plugins för NRPE, NRPE, Apache och PHP

Apache-webbserver krävs för att övervaka den aktuella webbserverstatusen.

Php används för att bearbeta dynamiskt innehåll på webbplatsens datum.

Därefter måste vi aktivera Apache och Nagios-tjänsten:

chkconfig httpd på && chkconfig nagios på

Vårt nästa steg är att starta Nagios och Apache:

service httpd start && service nagios start

Nu kommer jag att aktivera bytminne på minst 1 GB. Det är dags att skapa swap-filen med dd-kommandot:

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

Swap används i princip för att frigöra information, inte så ofta tillgänglig från RAM, och flytta den till en specifik partition på vår hårddisk.

Nu när du har skapat swap-partitionen, använd kommandot mkswap för att ställa in swap-partitionen. Detta kommer att förbereda swap-filen genom att skapa ett linux-swap-område.

mkswap / swap

För att förhindra att filen är världsläsbar bör du ställa in rätt behörigheter för swap-filen:

chown rot. / swap chmod 0600 / swap

Om du inte ser några fel är ditt växlingsutrymme redo att användas. För att aktivera den omedelbart, skriv:

swapon / swap

Den här filen kommer att vara kvar på den virtuella privata servern tills maskinen startar om. Du kan se till att bytet är permanent genom att lägga till det i fstab-filen.

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

Operativsystemets kärna kan justera hur ofta den är beroende av byte genom en konfigurationsparameter som kallas swappiness .

För att hitta de aktuella swappiness-inställningarna, skriv:

cat / proc / sys / vm / swappiness

Swapiness kan vara ett värde från 0 till 100. Swappiness near 100 innebär att operativsystemet byter ofta och vanligtvis för tidigt. Även om swap ger extra resurser är RAM mycket snabbare än swap-utrymme. När som helst något flyttas från RAM till byte, saktar det ner.

Ett swappiness-värde på 0 betyder att driften endast kommer att förlita sig på swap när det absolut behöver. Vi kan justera swappiness med sysctl-kommandot. För att få din VPS att använda den här inställningen automatiskt varje gång den startar upp kan du lägga till inställningen i /etc/sysctl.conffil:

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

Slutligen är vi klara med det andra steget.

Låt oss gå vidare och ställa in Nagios lösenord för att komma åt webbgränssnittet.

Steg - 3: Ställ in Nagios lösenord för att komma åt webbgränssnittet:

Ställ in lösenordet för att komma åt webbgränssnittet, använd kommandot nedan:

htpasswd -c / etc / nagios / passwd nagiosadmin

Skriv lösenordet och bekräfta det genom att skriva det igen.

Öppna nu webbläsaren. Här skriver du din offentliga IP eller värdnamn / nagios. Tänk på exemplet nedan:

Här anger du användarnamn och lösenord. Som standard är användarnamnet nagiosadmin, och lösenord är vad du har ställt in i föregående steg. Slutligen trycker du på OK.

Efter detta dirigeras du till Nagios Core-instrumentpanelen.

Du kan klicka på värdar och se vad alla värdar din Nagios Core övervakar för närvarande.

Du kan märka att det bara övervakar en värd, dvs. localhost. Om jag vill att min Nagios Core ska övervaka en fjärrvärd måste jag installera NRPE i den fjärrvärden. Detta leder oss till nästa steg, installera NRPE i klient / maskin som du vill att Nagios ska övervaka.

Steg - 4: Installera NRPE i klient:

Okej då, låt oss installera NRPE i klientmaskinen.

För det första måste du installera de nödvändiga paketen som jag gjorde på min Nagios-servermaskin. Så kör bara samma kommandon, överväga nedanstående skärmdumpar:

Installera nu Nagios, Nagios Plugins och NRPE i klienten:

yum -y installera nagios nagios-plugins-all nrpe

När den är installerad aktiverar du NRPE-tjänsten:

chkconfig nrpe på


Vårt nästa steg är att redigera, nrpe.cfg fil. Jag kommer att använda vi redaktör kan du välja vilken annan redaktör som helst:

Du måste lägga till IP-adressen till din övervakningsserver, i den tillåtna värdraden, överväg nedanstående skärmdump:

Här är IP-adressen för min övervakningsserver 192.168.56.101.

Nu måste vi ställa in brandväggsregler för att möjliggöra anslutning mellan övervakningsserver och klient.

iptables -N NRPE

-En alternativ används för att lägga till den nya regeln i slutet av en kedja. Om du vill placera den någon annanstans i kedjan kan du använda alternativet -I som låter dig ange positionen för den nya regeln.

Kommandot nedan accepterar tcp-förfrågningar på portar 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

Detta konfigurerar i princip iptables för att acceptera paket från en viss värd, i mitt fall - 192.168.56.101, och släpper paketen från andra värdar.

Nu kommer jag att spara dessa konfigurationer:

/etc/init.d/iptables spara

Starta NRPE-tjänsten nu.

service nrpe start

Gå nu tillbaka till övervakningsservern.

Här måste jag redigera nagios.cfg-filen.

vi /etc/nagios/nagios.cfg

Avkommentera linjen - cfg_dir = etc / nagios / servrar

Skapa en serverkatalog för den användningen mkdir kommando.

mkdir / etc / nagios / servrar /

Ändra din arbetskatalog till servrar.

cd / etc / nagios / servrar

Skapa en ny fil i den här katalogen med .cfg-tillägget och redigera den. Jag kommer att namnge det som client.cfg, och jag kommer att använda det vi redaktör.

vi /etc/nagios/servers/client.cfg

Lägg till nedanstående rader:

vad är ett reserverat ord i java

Detta inkluderar i princip vilken typ av tjänster jag vill övervaka. Ange maskinens värdnamn och dess ip-adress som du vill att Nagios ska övervaka.

På samma sätt kan du lägga till antal tjänster som du vill övervaka. Samma konfigurationer kan användas för att lägga till ett antal klienter.

Sista steget killar, ställ in mappbehörigheterna korrekt och starta om Nagios.

chown -R nagios. / etc / nagios /

Starta om Nagios nu

tjänsten nagios starta om

Öppna webbläsaren och skriv igen värdnamn eller offentlig ip / nagios /. I mitt fall är det localhost / nagios /.

Klicka på värdar för att se alla maskiner som Nagios för närvarande övervakar.

Här kan du märka att det för närvarande övervakar klientmaskinen (värdnamn på den maskin som jag vill att Nagios ska övervaka). I grund och botten har vi lagt till en fjärrvärd med NRPE.

Jag hoppas att du har haft glädje av att läsa den här Nagios-handledningen, jag kommer snart med fler bloggar på Nagios.

Om du tyckte att denna Nagios-handledning var relevant, kolla in av Edureka, ett pålitligt online-lärande företag med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edureka DevOps Certification Training-kursen hjälper eleverna att få expertis inom olika DevOps-processer och verktyg som Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack och GIT för att automatisera flera steg i SDLC.

Har du en fråga till mig? Vänligen nämna det i kommentarfältet så återkommer jag till dig.