Nagios-zelfstudie - Continue monitoring met Nagios

Nagios-zelfstudie: Nagios bewaakt uw volledige IT-infrastructuur om ervoor te zorgen dat systemen, applicaties, services en bedrijfsprocessen naar behoren werken.

Nagios-zelfstudie:

Ik geloof dat er maar heel weinig berichten op Nagios zijn en dat er niet veel relevante informatie op internet beschikbaar is. Dus ik denk dat dit bericht je een goede duidelijkheid zal geven over deze monitoringtool. Nagios bewaakt uw volledige IT-infrastructuur om ervoor te zorgen dat systemen, applicaties, services en bedrijfsprocessen naar behoren werken.Het is een integraal onderdeel van de DevOps-levenscyclus en is een must voor .In deze Nagios-zelfstudie behandel ik de onderstaande onderwerpen:

  1. Waarom hebben we continue monitoring nodig?
  2. Wat is continue monitoring?
  3. Wat is Nagios?
  4. Hoe Nagios te installeren?
  5. Hoe een externe server toe te voegen met NRPE (Nagios Remote Plugin Executor).

Laten we deze Nagios-tutorial beginnen, door te begrijpen waarom we continue monitoring nodig hebben, omdat alles met een reden bestaat. Dus laten we proberen die reden te achterhalen.



Waarom hebben we continue monitoring nodig?

Continuous Monitoring Tools lossen systeemfouten (weinig geheugen, onbereikbare server enz.) Op voordat ze een negatieve invloed hebben op uw bedrijfsproductiviteit.

Belangrijke redenen om een ​​monitoringtool te gebruiken zijn:

  • Het detecteert netwerk- of serverproblemen
  • Het bepaalt de hoofdoorzaak van eventuele problemen
  • Het handhaaft de veiligheid en beschikbaarheid van de dienst
  • Het controleert en lost problemen met serverprestaties op
  • Het stelt ons in staat om infrastructuurupgrades te plannen voordat verouderde systemen storingen veroorzaken
  • Het kan op problemen reageren bij de eerste tekenen van een probleem
  • Het kan worden gebruikt om automatisch problemen op te lossen wanneer ze worden gedetecteerd
  • Het zorgt ervoor dat uitval van de IT-infrastructuur een minimaal effect heeft op de bedrijfsresultaten van uw organisatie
  • Het kan uw volledige infrastructuur en bedrijfsprocessen bewaken

Ja, het doet veel cool werk, maar wat is het?

Wat is continue monitoring?

Laat me je eerst vertellen waar Continuous Monitoring ligt in de DevOps-levenscyclus, kijk eens naar het onderstaande diagram:

DevOps Life-Cyce - Nagios Tutorial - Edureka

Als je naar het diagram kijkt, moet je denken dat dit de laatste fase in de DevOps-levenscyclus is, maar dit is niet het geval. Er komt geen einde aan een DevOps-levenscyclus, en dat is de reden voor het oneindigheidssymbool. Continuous Monitoring komt in beeld, zodra de applicatie op de productieservers is geïmplementeerd.

Continue monitoring heeft alles te maken met het vermogen van een organisatie om de aanvallen die zich voordoen in haar infrastructuur te detecteren, rapporteren, erop te reageren, te beheersen en te beperken.

Continuous Monitoring is eigenlijk niet nieuw, het bestaat al een tijdje. Al jaren voeren onze beveiligingsprofessionals statische analyses uit van - systeemlogboeken, firewalllogboeken, IDS-logboeken, IPS-logboeken enz. Maar het leverde niet de juiste analyse en respons op. De huidige continue monitoring-benadering geeft ons de mogelijkheid om alle gebeurtenissen die ik hierboven heb besproken samen te voegen, ze met elkaar in verband te brengen, te vergelijken en vervolgens de risicopositie van de organisatie in te schatten.

Als we al deze stukjes nemen en ervoor zorgen dat ze onderling verbonden zijn. Dit is de crux van continue monitoring.

Laat me dit uitleggen met een use-case.Beschouw het onderstaande diagram:

Laat me u nu het bovenstaande diagram uitleggen:

  1. We hebben verschillende beveiligingstools, zoals Firewall, IDS, End Point Protection enz. Ze zijn verbonden met een ‘Security Information and Event Management-systeem.
  2. Om continue monitoring te bereiken, moeten we alle onderdelen met elkaar laten praten, laat me dat aan u uitleggen.
  3. We hebben dus beveiligingstools en reeksen ‘Eindpunten’, dit kunnen client en servers, routers, switches, mobiele apparaten enzovoort zijn.
  4. Deze twee groepen kunnen vervolgens via een gemeenschappelijke taal en op meer geautomatiseerde wijze praten met een Security Information and Event Management-systeem (SIEM).
  5. Verbonden met deze SIEM zijn er twee belangrijke componenten, de eerste is een datawarehouse. Nu gaan we ‘Analytics’ en ‘Security Intelligence’ aan dit datawarehouse koppelen.
  6. Beveiligingsinformatie (SI) is de informatie die relevant is om een ​​organisatie te beschermen tegen bedreigingen van buitenaf en van binnenuit, evenals de processen, het beleid en de tools die zijn ontworpen om die informatie te verzamelen en te analyseren.
  7. Deze SIEM is ook verbonden met een ‘Governance Risk and Compliance System’ en biedt in feite dashboarding.
  8. Bij dit ‘Governance Risk and Compliance System’ voegen we een risicodatabase toe. Dit geeft ons ‘Actionable Intelligence’.
  9. Bruikbare intelligentie is niets anders dan informatie waarop kan worden gereageerd, met de verdere implicatie dat acties zou moeten worden genomen.

Dus hier volgen we de gebeurtenissen voortdurend en bepalen we welk risiconiveau we ervaren. Hiermee kunnen we de gebeurtenissen op de SIEM correleren. We kunnen netwerkgedrag en anomaliedetectie uitvoeren via de ‘Analytics Engine’. Dit is waar Continuous Monitoring over gaat:

De integratie van een organisatiebeveiligingshulpmiddelen,de aggregatie,normalisatie encorrelatie van de gegevens die worden geproduceerd door de beveiligingshulpmiddelen. De analyse van die gegevens, op basis van de risicodoelen en kennis van de dreiging van de organisatie, en een bijna realtime reactie op de geïdentificeerde risico's.

‘Als u het niet kunt meten, kunt u het niet beheren’. Ik hoop dat je weet waar ik het over heb.

Vervolgens in deze Nagios-zelfstudie, zal ik je kennis laten maken met een van de beroemdste monitoringtools ‘Nagios’.

Wat is Nagios?

Nagios wordt gebruikt voor continue monitoring van systemen, applicaties, services en bedrijfsprocessen etc. in een DevOps-cultuur. In het geval van een storing kan Nagios technisch personeel op de hoogte stellen van het probleem, zodat ze met herstelprocessen kunnen beginnen voordat storingen de bedrijfsprocessen, eindgebruikers of klanten beïnvloeden. Met Nagios hoeft u niet uit te leggen waarom een ​​onzichtbare uitval van de infrastructuur van invloed is op de bedrijfsresultaten.

Ik zal je uitleggen hoe Nagios werkt.Beschouw het onderstaande diagram:

Nagios draait op een server, meestal als een daemon of een service.

Het voert periodiek plug-ins uit die zich op dezelfde server bevinden, ze maken contact met hosts of servers op uw netwerk of op internet. Men kan de statusinformatie bekijken via de webinterface. U kunt ook e-mail- of sms-meldingen ontvangen als er iets gebeurt.
De Nagios-daemon gedraagt ​​zich als een planner die op bepaalde momenten bepaalde scripts uitvoert. Het slaat de resultaten van die scripts op en zal andere scripts uitvoeren als deze resultaten veranderen.

Plug-ins: Dezezijn gecompileerde uitvoerbare bestanden of scripts (Perl-scripts, shell-scripts, enz.) die kunnen worden uitgevoerd vanaf een opdrachtregel om de status of een host of service te controleren. Nagios gebruikt de resultaten van de plug-ins om de huidige status van de hosts en services op uw netwerk te bepalen.

Laten we het nu hebben over de architectuur.

Nagios Architectuur:

  • Nagios is gebouwd op een server / agents-architectuur.
  • Gewoonlijk draait op een netwerk een Nagios-server op een host, en plug-ins communiceren met lokale en alle externe hosts die moeten worden bewaakt.
  • Deze plug-ins sturen informatie naar de Scheduler, die die weergeeft in een GUI.

Ik moet je ook NRPE (Nagios Remote Plugin Executor) uitleggen.

De NRPE-add-on is ontworpen om u in staat te stellen Nagios-plug-ins uit te voeren op externe Linux / Unix-machines. De belangrijkste reden om dit te doen is om Nagios toe te staan ​​'lokale' bronnen (zoals CPU-belasting, geheugengebruik, enz.) Op externe machines te controleren. Aangezien deze openbare bronnen gewoonlijk niet worden blootgesteld aan externe machines, moet een agent zoals NRPE worden geïnstalleerd op de externe Linux / Unix-machines.

Beschouw het onderstaande diagram:

  • De check_nrpe-plug-in bevindt zich op de lokale bewakingsmachine.
  • De NRPE-daemon draait op de externe Linux / Unix-machine.
  • Er is een SSL-verbinding (Secure Socket Layer) tussen de bewakingshost en de externe host, zoals weergegeven in het bovenstaande diagram.

Nu, in deze Nagios-tutorial, is het tijd voor sommigen Hands-on .

Laten we beginnen met het installeren van Nagios Core

Installeer Nagios Core:

Het volledige proces om Nagios te installeren kan in vier stappen worden samengevat:

  1. Installeer de vereiste pakketten in de Monitoring Server
  2. Installeer Nagios Core, Nagios Plugins en NRPE (Nagios Remote Plugin Executor)
  3. Stel Nagios-wachtwoord in voor toegang tot de webinterface
  4. Installeer NRPE In Client

Stap - 1: Installeer de vereiste pakketten op de controleserver:

Bezoek de website: http://dl.fedoraproject.org/pub/epel/6/

Klik op i386, en u wordt doorgestuurd naar een pagina.

Omdat ik CentOS 6 gebruik, zal ik met de rechtermuisknop klikken en de linklocatie van ‘ epel-release-6-8.noarch.rpm ‘, Zoals weergegeven in de bovenstaande schermafbeelding.

Open de terminal en gebruik rpm -Uvh commando en plak de link.

We moeten nog een repository downloaden, daarvoor bezoek je de website ‘ http://rpms.famillecollet.com/enterprise/ '

Klik met de rechtermuisknop en kopieer de linklocatie voor ‘ remi-release-6.rpm '

Open opnieuw de terminal en gebruik rpm -Uvh commando en plak de link.

Prima, dus we zijn klaar met de voorwaarden. Laten we doorgaan met de volgende stap.

Stap - 2: Installeer Nagios Core, Nagios Plugins en NRPE (Nagios Remote Plugin Executor):

Voer de onderstaande opdracht uit in de terminal:

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

Hiermee worden Nagios, Nagios-plug-ins, plug-ins voor NRPE, NRPE, Apache en PHP geïnstalleerd

Apache-webserver is vereist om de huidige webserverstatus te bewaken.

Php wordt gebruikt om dynamische inhoud van de sitedatum te verwerken.

Vervolgens moeten we de Apache- en Nagios-service inschakelen:

chkconfig httpd aan && chkconfig nagios aan

Onze volgende stap is om Nagios en Apache te starten:

service httpd start && service nagios start

Nu zal ik swap-geheugen van minimaal 1 GB inschakelen. Het is tijd om het wisselbestand zelf te maken met de opdracht dd:

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

Swap wordt in feite gebruikt om bepaalde, niet zo vaak gebruikte informatie uit RAM vrij te maken en deze naar een specifieke partitie op onze harde schijf te verplaatsen.

Nu je de swappartitie hebt gemaakt, gebruik je het commando mkswap om de swappartitie in te stellen. Dit gaat het wisselbestand voorbereiden door een linux-wisselgebied te maken.

mkswap / swap

Om te voorkomen dat het bestand voor iedereen leesbaar is, moet u de juiste rechten voor het wisselbestand instellen:

chown root. / swap chmod 0600 / swap

Als u geen fouten ziet, is uw swapruimte klaar voor gebruik. Om het onmiddellijk te activeren, typ je:

swapon / swap

Dit bestand blijft op de virtuele privéserver staan ​​totdat de machine opnieuw opstart. U kunt ervoor zorgen dat de wissel permanent is door deze toe te voegen aan het fstab-bestand.

echo / swap swap swap standaard 0 0 >> / etc / fstab

De kernel van het besturingssysteem kan instellen hoe vaak het afhankelijk is van swap via een configuratieparameter die bekend staat als swappiness .

Om de huidige swappiness-instellingen te vinden, typ je:

cat / proc / sys / vm / swappiness

Swapiness kan een waarde hebben van 0 tot 100. Swappiness in de buurt van 100 betekent dat het besturingssysteem vaak en meestal te snel zal wisselen. Hoewel swap extra bronnen oplevert, is RAM veel sneller dan swapspace. Elke keer dat iets van RAM naar swap wordt verplaatst, vertraagt ​​het.

Een swappiness-waarde van 0 betekent dat het besturingssysteem alleen afhankelijk is van swap als dat absoluut nodig is. We kunnen de swappiness aanpassen met het sysctl-commando. Om ervoor te zorgen dat je VPS deze instelling automatisch toepast elke keer dat hij opstart, kun je de instelling toevoegen aan /etc/sysctl.confhet dossier:

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

Eindelijk zijn we klaar met de tweede stap.

Laten we verder gaan en het Nagios-wachtwoord instellen om toegang te krijgen tot de webinterface.

Stap - 3: Stel Nagios-wachtwoord in om toegang te krijgen tot de webinterface:

Stel het wachtwoord in om toegang te krijgen tot de webinterface, gebruik de onderstaande opdracht:

htpasswd -c / etc / nagios / passwd nagiosadmin

Typ het wachtwoord en bevestig het door het opnieuw te typen.

Open nu de browser. Typ hier uw openbare IP-adres of hostnaam / nagios. Beschouw het onderstaande voorbeeld:

Geef hier de gebruikersnaam en het wachtwoord op. Standaard is de gebruikersnaam nagiosadmin, en wachtwoord is wat u in de vorige stap hebt ingesteld. Druk ten slotte op OK.

Hierna wordt u doorgestuurd naar het Nagios Core-dashboard.

U kunt op hosts klikken en zien wat alle hosts die uw Nagios Core momenteel bewaakt.

U kunt zien dat het slechts één host bewaakt, d.w.z. localhost. Als ik wil dat mijn Nagios Core een externe host bewaakt, moet ik NRPE in die externe host installeren. Dit brengt ons bij de volgende stap, installeer NRPE in de client / machine die Nagios moet monitoren.

Stap - 4: Installeer NRPE in client:

Oké, laten we NRPE op de clientcomputer installeren.

Ten eerste moet u de vereiste pakketten installeren zoals ik deed op mijn Nagios-servermachine. Dus voer gewoon dezelfde opdrachten uit, overweeg de onderstaande schermafbeeldingen:

Installeer nu Nagios, Nagios Plugins en NRPE in de client:

yum -y installeer nagios nagios-plugins-all nrpe

Nadat het is geïnstalleerd, schakelt u de NRPE-service in:

chkconfig nrpe aan


Onze volgende stap is om de, nrpe.cfg het dossier. Ik zal de wij editor, je kunt ook een andere editor kiezen:

U moet het IP-adres van uw controleserver toevoegen, in de toegestane hostregel, kijk naar de onderstaande schermafbeelding:

Hier is het IP-adres van mijn controleserver 192.168.56.101.

Nu moeten we firewallregels instellen om verbinding tussen bewakingsserver en client mogelijk te maken.

iptables -N NRPE

-Een optie wordt gebruikt om de nieuwe regel aan het einde van een keten toe te voegen. Als u het ergens anders in de keten wilt plaatsen, kunt u de optie -I gebruiken waarmee u de positie van de nieuwe regel kunt specificeren.

Het onderstaande commando accepteert tcp-verzoeken op poort 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

Dit zal iptables in feite configureren om pakketten van een bepaalde host te accepteren, in mijn geval - 192.168.56.101, en de pakketten van andere hosts te verwijderen.

Nu zal ik deze configuraties opslaan:

/etc/init.d/iptables opslaan

Start nu de NRPE-service.

dienst nrpe start

Ga nu terug naar de Monitoring server.

Hier moet ik het nagios.cfg-bestand bewerken.

vi /etc/nagios/nagios.cfg

Uncomment de lijn - cfg_dir = etc / nagios / servers

Maak voor dat gebruik een ‘server’ directory mkdir opdracht.

mkdir / etc / nagios / servers /

Verander uw werkmap naar servers.

cd / etc / nagios / servers

Maak een nieuw bestand in deze map met de extensie .cfg en bewerk het. Ik noem het als client.cfg, en ik zal wij editor.

vi /etc/nagios/servers/client.cfg

Voeg hier de onderstaande regels toe:

statische lidfunctie in c ++

Dit omvat in feite het soort services dat ik wil controleren. Geef de hostnaam van de machine en het IP-adres dat Nagios moet controleren.

Op dezelfde manier kunt u een aantal services toevoegen die u wilt controleren. Dezelfde configuraties kunnen worden gebruikt om een ​​‘n’ aantal klanten toe te voegen.

Laatste stap jongens, stel de mapmachtigingen correct in en start Nagios opnieuw.

chown -R nagios. / etc / nagios /

Start nu Nagios opnieuw

service nagios herstart

Open de browser en typ opnieuw het hostnaam of openbare ip / nagios /. In mijn geval is het localhost / nagios /.

Klik op hosts om alle machines te zien die Nagios momenteel controleert.

Hier kun je zien dat het momenteel de clientcomputer bewaakt (hostnaam van de machine die ik Nagios wil laten controleren). In feite hebben we een externe host toegevoegd met NRPE.

Ik hoop dat je deze Nagios-tutorial met plezier hebt gelezen, ik kom binnenkort met meer blogs over Nagios.

Als je deze Nagios-tutorial relevant vond, bekijk dan de door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. De Edureka DevOps Certification Training-cursus helpt leerlingen expertise op te doen in verschillende DevOps-processen en tools zoals Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack en GIT voor het automatiseren van meerdere stappen in SDLC.

Heeft u een vraag voor mij? Vermeld het in het opmerkingengedeelte en ik neem contact met u op.