Samouczek Nagios:
Wydaje mi się, że jest bardzo mało postów na Nagios i niewiele istotnych informacji dostępnych w Internecie. Myślę więc, że ten post da ci dobrą jasność na temat tego narzędzia monitorowania. Nagios monitoruje całą infrastrukturę IT, aby zapewnić prawidłowe funkcjonowanie systemów, aplikacji, usług i procesów biznesowych.Jest integralną częścią cyklu życia DevOps i jest koniecznością .W tym samouczku Nagios omówię następujące tematy:
- Dlaczego potrzebujemy ciągłego monitorowania?
- Co to jest ciągłe monitorowanie?
- Co to jest Nagios?
- Jak zainstalować Nagios?
- Jak dodać zdalny serwer za pomocą NRPE (Nagios Remote Plugin Executor).
Zacznijmy ten samouczek Nagios, od zrozumienia, dlaczego potrzebujemy ciągłego monitorowania, ponieważ wszystko istnieje z jakiegoś powodu. Spróbujmy więc znaleźć ten powód.
Dlaczego potrzebujemy ciągłego monitorowania?
Narzędzia do ciągłego monitorowania rozwiązują wszelkie błędy systemowe (mała ilość pamięci, nieosiągalny serwer itp.), Zanim wpłyną one negatywnie na produktywność firmy.
Ważne powody, dla których warto korzystać z narzędzia do monitorowania:
- Wykrywa wszelkie problemy z siecią lub serwerem
- Określa podstawową przyczynę wszelkich problemów
- Zapewnia bezpieczeństwo i dostępność usługi
- Monitoruje i rozwiązuje problemy z wydajnością serwera
- Pozwala nam planować aktualizacje infrastruktury, zanim przestarzałe systemy spowodują awarie
- Potrafi reagować na problemy przy pierwszych oznakach problemu
- Może być używany do automatycznego rozwiązywania problemów, gdy zostaną wykryte
- Zapewnia to, że przerwy w infrastrukturze IT mają minimalny wpływ na wyniki Twojej organizacji
- Może monitorować całą infrastrukturę i procesy biznesowe
Tak, robi dużo fajnej roboty, ale co to jest?
Co to jest ciągłe monitorowanie?
Pozwól, że najpierw powiem ci, gdzie leży ciągłe monitorowanie w cyklu życia DevOps, rozważ poniższy diagram:
Patrząc na diagram, musisz pomyśleć, że jest to ostatni etap cyklu życia DevOps, ale tak nie jest. Cykl życia DevOps nie ma końca i to jest powodem powstania symbolu nieskończoności. Ciągłe monitorowanie pojawia się po wdrożeniu aplikacji na serwerach produkcyjnych.
Ciągłe monitorowanie polega na zdolności organizacji do wykrywania, raportowania, reagowania, powstrzymywania i łagodzenia ataków, które występują w jej infrastrukturze.
Ciągłe monitorowanie w rzeczywistości nie jest nowe, istnieje już od jakiegoś czasu. Od lat nasi specjaliści ds. Bezpieczeństwa wykonują statyczną analizę z - logów systemowych, logów firewalla, logów IDS, logów IPS itp. Jednak nie zapewnia to właściwej analizy i odpowiedzi. Dzisiejsze podejście do ciągłego monitorowania daje nam możliwość agregowania wszystkich zdarzeń, które omówiłem powyżej, kojarzenia ich, porównywania, a następnie szacowania pozycji ryzyka organizacji.
Jeśli weźmiemy wszystkie te elementy i zapewnimy połączenie między nimi. To jest sedno ciągłego monitorowania.
Pozwólcie, że wyjaśnię to na przykładzie użycia.Rozważ poniższy diagram:
Teraz pozwól mi wyjaśnić powyższy schemat:
- Mamy różne narzędzia bezpieczeństwa, takie jak zapora ogniowa, IDS, ochrona punktów końcowych itp., Które są połączone z systemem „Security Information and Event Management”.
- Aby osiągnąć ciągłe monitorowanie, wszystkie części muszą rozmawiać ze sobą. Pozwólcie, że wam to wyjaśnię.
- Mamy więc narzędzia bezpieczeństwa i serię „punktów końcowych”, które mogą obejmować klientów i serwery, routery, przełączniki, urządzenia mobilne i tak dalej.
- Te dwie grupy mogą następnie rozmawiać z systemem zarządzania informacjami o bezpieczeństwie i zdarzeniami (SIEM), używając wspólnego języka i w sposób bardziej zautomatyzowany.
- Połączone z tym SIEM są dwa ważne komponenty, pierwszy to hurtownia danych. Teraz z tą hurtownią danych połączymy „Analytics” i „Security Intelligence”.
- Informacje o bezpieczeństwie (SI) to informacje istotne dla ochrony organizacji przed zagrożeniami zewnętrznymi i wewnętrznymi, a także procesy, zasady i narzędzia zaprojektowane do gromadzenia i analizowania tych informacji.
- Ten SIEM jest również połączony z „systemem zarządzania ryzykiem i zgodnością”, który w zasadzie zapewnia dashboarding.
- Do tego „systemu zarządzania ryzykiem i zgodności” dołączamy bazę danych ryzyka. To daje nam „Actionable Intelligence”.
- Inteligencja umożliwiająca działanie to nic innego jak informacje, na których można działać, z dalszymi implikacjami tych działań powinien być zajętym.
Tak więc tutaj na bieżąco monitorujemy wydarzenia i określamy, jakiego poziomu ryzyka doświadczamy. Dzięki temu możemy skorelować wydarzenia w SIEM. Możemy wykonać zachowanie w sieci i wykrywanie anomalii w „aparacie analitycznym”. Na tym polega ciągłe monitorowanie:
Integracja organizacjinarzędzia bezpieczeństwa,agregacja,normalizacja ikorelacja danych generowanych przez narzędzia bezpieczeństwa. Analiza tych danych w oparciu o cele ryzyka organizacji i wiedzę o zagrożeniach oraz reakcję na zidentyfikowane ryzyko niemal w czasie rzeczywistym.
„Jeśli nie możesz tego zmierzyć, nie możesz tym zarządzać”. Mam nadzieję, że wiesz, o czym mówię.
Następnie, w tym samouczku Nagios, przedstawię jedno z najbardziej znanych narzędzi monitorujących „Nagios”.
Co to jest Nagios?
Nagios służy do ciągłego monitorowania systemów, aplikacji, usług i procesów biznesowych itp. W kulturze DevOps. W przypadku awarii Nagios może powiadomić personel techniczny o problemie, umożliwiając im rozpoczęcie procesów naprawczych, zanim przestoje wpłyną na procesy biznesowe, użytkowników końcowych lub klientów. Dzięki Nagios nie musisz wyjaśniać, dlaczego niewidoczna awaria infrastruktury wpływa na wyniki Twojej organizacji.
Pozwól, że wyjaśnię ci, jak działa Nagios.Rozważ poniższy diagram:
Nagios działa na serwerze, zwykle jako demon lub usługa.
Okresowo uruchamia wtyczki znajdujące się na tym samym serwerze, kontaktują się z hostami lub serwerami w Twojej sieci lub w Internecie. Informacje o stanie można przeglądać za pomocą interfejsu internetowego. Możesz także otrzymywać powiadomienia e-mail lub SMS, jeśli coś się stanie.
Demon Nagios zachowuje się jak program planujący, który uruchamia określone skrypty w określonych momentach. Przechowuje wyniki tych skryptów i uruchamia inne skrypty, jeśli te wyniki się zmienią.
Wtyczki: Teto skompilowane pliki wykonywalne lub skrypty (skrypty Perla, skrypty powłoki itp.), które można uruchomić z wiersza poleceń w celu sprawdzenia statusu hosta lub usługi. Nagios wykorzystuje wyniki z wtyczek do określenia aktualnego stanu hostów i usług w Twojej sieci.
Porozmawiajmy teraz o architekturze.
Architektura Nagios:
- Nagios jest zbudowany na architekturze serwer / agent.
- Zwykle w sieci serwer Nagios działa na hoście, a wtyczki współdziałają z lokalnymi i wszystkimi zdalnymi hostami, które muszą być monitorowane.
- Te wtyczki wysyłają informacje do harmonogramu, który wyświetla je w graficznym interfejsie użytkownika.
Muszę ci również wyjaśnić NRPE (Nagios Remote Plugin Executor).
Dodatek NRPE został zaprojektowany, aby umożliwić uruchamianie wtyczek Nagios na zdalnych maszynach Linux / Unix. Głównym powodem tego jest umożliwienie Nagios monitorowania zasobów „lokalnych” (takich jak obciążenie procesora, użycie pamięci itp.) Na zdalnych maszynach. Ponieważ te zasoby publiczne zwykle nie są udostępniane komputerom zewnętrznym, na zdalnych maszynach z systemem Linux / Unix należy zainstalować agenta takiego jak NRPE.
Rozważ poniższy diagram:
- Wtyczka check_nrpe znajduje się na lokalnym komputerze monitorującym.
- Demon NRPE działa na zdalnym komputerze z systemem Linux / Unix.
- Istnieje połączenie SSL (Secure Socket Layer) między hostem monitorowania a hostem zdalnym, jak pokazano na powyższym schemacie.
Teraz w tym samouczku Nagios nadszedł czas na niektórych Praktyczny .
Zacznijmy od zainstalowania Nagios Core
Zainstaluj Nagios Core:
Cały proces instalacji Nagios można podsumować w czterech krokach:
- Zainstaluj wymagane pakiety na serwerze monitorowania
- Zainstaluj Nagios Core, Nagios Plugins i NRPE (Nagios Remote Plugin Executor)
- Ustaw hasło Nagios, aby uzyskać dostęp do interfejsu internetowego
- Zainstaluj NRPE w kliencie
Krok - 1: Zainstaluj wymagane pakiety na serwerze monitorowania:
Odwiedź stronę internetową: http://dl.fedoraproject.org/pub/epel/6/
Kliknij i386, a zostaniesz przekierowany na stronę.
Ponieważ używam CentOS 6, kliknę prawym przyciskiem myszy i skopiuję lokalizację linku „ epel-release-6-8.noarch.rpm „, Jak pokazano na powyższym zrzucie ekranu.
Otwórz terminal i użyj rpm -Uvh polecenie i wklej link.
Musimy pobrać jeszcze jedno repozytorium, w tym celu odwiedź witrynę „ http://rpms.famillecollet.com/enterprise/ '
Kliknij prawym przyciskiem myszy i skopiuj lokalizację linku dla „ remi-release-6.rpm '
Ponownie otwórz terminal i użyj rpm -Uvh polecenie i wklej link.
W porządku, więc spełniamy wymagania wstępne. Przejdźmy do następnego kroku.
Krok - 2: Zainstaluj Nagios Core, Nagios Plugins i NRPE (Nagios Remote Plugin Executor):
Wykonaj poniższe polecenie w terminalu:
mniam -y zainstaluj nagios nagios-plugins-all nagios-plugins-nrpe nrpe httpd php
Spowoduje to zainstalowanie Nagios, wtyczek Nagios, wtyczek dla NRPE, NRPE, Apache i PHP
Serwer WWW Apache jest wymagany do monitorowania aktualnego stanu serwera WWW.
PHP służy do przetwarzania dynamicznej zawartości daty witryny.
Następnie musimy włączyć usługę Apache i Nagios:
chkconfig httpd on && chkconfig nagios on
Naszym następnym krokiem jest uruchomienie Nagios i Apache:
service httpd start && service nagios start
Teraz włączę pamięć wymiany co najmniej 1 GB. Czas utworzyć sam plik wymiany za pomocą polecenia dd:
dd if = / dev / zero of = / swap bs = 1024 count = 2097152
Zamiana służy w zasadzie do uwolnienia niektórych, niezbyt często używanych informacji z pamięci RAM i przeniesienia ich na określoną partycję na naszym dysku twardym.
Po utworzeniu partycji wymiany użyj polecenia mkswap aby skonfigurować partycję wymiany. Spowoduje to przygotowanie pliku wymiany poprzez utworzenie obszaru wymiany Linuksa.
mkswap / swap
Aby plik nie był czytelny dla wszystkich, należy ustawić odpowiednie uprawnienia do pliku wymiany:
chown root. / swap chmod 0600 / swap
Jeśli nie widzisz błędów, Twoja przestrzeń wymiany jest gotowa do użycia. Aby natychmiast go aktywować, wpisz:
swapon / swap
Ten plik będzie przechowywany na wirtualnym serwerze prywatnym do momentu ponownego uruchomienia maszyny. Możesz upewnić się, że zamiana jest trwała, dodając ją do pliku fstab.
echo / swap swap swap defaults 0 0 >> / etc / fstab
Jądro systemu operacyjnego może dostosować częstotliwość wymiany za pomocą parametru konfiguracyjnego znanego jako zamiana .
Aby znaleźć aktualne ustawienia zamiany, wpisz:
cat / proc / sys / vm / swappiness
Swapiness może mieć wartość od 0 do 100. Swappiness bliski 100 oznacza, że system operacyjny będzie się zmieniał często i zwykle zbyt wcześnie. Chociaż wymiana zapewnia dodatkowe zasoby, pamięć RAM jest znacznie szybsza niż przestrzeń wymiany. Za każdym razem, gdy coś jest przenoszone z pamięci RAM w celu wymiany, spowalnia.
Wartość zamiany równa 0 oznacza, że operacja będzie polegać na zamianie tylko wtedy, gdy jest to absolutnie konieczne. Swappiness możemy dostosować za pomocą polecenia sysctl. Aby Twój VPS automatycznie stosował to ustawienie przy każdym uruchomieniu, możesz dodać to ustawienie do /etc/sysctl.confplik:
echo vm.swappiness = 0 >> /etc/sysctl.conf && sysctl -p
Wreszcie kończymy drugi krok.
Przejdźmy dalej i ustawmy hasło Nagios, aby uzyskać dostęp do interfejsu internetowego.
Krok - 3: Ustaw hasło Nagios, aby uzyskać dostęp do interfejsu internetowego:
Ustaw hasło dostępu do interfejsu internetowego, użyj poniższego polecenia:
htpasswd -c / etc / nagios / passwd nagiosadmin
Wpisz hasło i potwierdź je, wpisując ponownie.
Teraz otwórz przeglądarkę. Tutaj wpisz swój publiczny adres IP lub nazwę hosta / nagios. Rozważ poniższy przykład:
Tutaj podaj nazwę użytkownika i hasło. Domyślna nazwa użytkownika to nagiosadmin, i hasło jest tym, co ustawiłeś w poprzednim kroku. Na koniec naciśnij OK.
Następnie zostaniesz przekierowany do pulpitu nawigacyjnego Nagios Core.
Możesz kliknąć hosty i zobaczyć, jakie wszystkie hosty aktualnie monitoruje Twój Nagios Core.
Możesz zauważyć, że monitoruje tylko jednego hosta, tj. Localhost. Jeśli chcę, aby mój Nagios Core monitorował zdalnego hosta, muszę zainstalować NRPE na tym zdalnym hoście. To prowadzi nas do następnego kroku, zainstaluj NRPE w kliencie / maszynie, którą Nagios ma monitorować.
Krok - 4: Zainstaluj NRPE w kliencie:
W porządku, zainstalujmy NRPE na komputerze klienta.
Po pierwsze, musisz zainstalować wymagane pakiety, tak jak ja to zrobiłem na moim serwerze Nagios. Po prostu wykonaj te same polecenia, rozważ poniższe zrzuty ekranu:
Teraz zainstaluj Nagios, Nagios Plugins i NRPE w kliencie:
yum -y zainstaluj nagios nagios-plugins-all nrpe
Po zainstalowaniu włącz usługę NRPE:
chkconfig nrpe on
Naszym następnym krokiem jest edycja, nrpe.cfg plik. Będę używać my edytor, możesz wybrać również dowolny inny edytor:
Musisz dodać adres IP swojego serwera monitorowania, w dozwolonej linii hosta, rozważ poniższy zrzut ekranu:
Tutaj adres IP mojego serwera monitorowania to 192.168.56.101.
Teraz musimy skonfigurować reguły firewalla, aby umożliwić połączenie między serwerem monitorowania a klientem.
iptables -N NRPE
-A opcja służy do dołączania nowej reguły na końcu łańcucha. Jeśli chcesz umieścić go w innym miejscu łańcucha, możesz użyć opcji -I, która pozwala określić pozycję nowej reguły.
Poniższe polecenie akceptuje żądania tcp na portach 5666.
iptables -I INPUT -s 0/0 -p tcp --dport 5666 -j NRPE iptables -I NRPE -s 192.168.56.101 -j AKCEPTUJ iptables -A NRPE -s 0/0 -j DROP
To w zasadzie skonfiguruje iptables do akceptowania pakietów z określonego hosta, w moim przypadku - 192.168.56.101, i porzuca pakiety z innych hostów.
Teraz zapiszę te konfiguracje:
/etc/init.d/iptables zapisz
Uruchom usługę NRPE teraz.
usługa nrpe start
Teraz wróć do serwera monitorowania.
Tutaj muszę edytować plik nagios.cfg.
vi /etc/nagios/nagios.cfg
Odkomentuj linię - cfg_dir = etc / nagios / servers
Utwórz katalog „serwer” do tego celu mkdir Komenda.
mkdir / etc / nagios / server /
Zmień katalog roboczy na serwery.
cd / etc / nagios / server
Utwórz nowy plik w tym katalogu z rozszerzeniem .cfg i edytuj go. Nazwę go jako client.cfg i będę używał my redaktor.
vi /etc/nagios/servers/client.cfg
Tutaj dodaj poniższe linie:
stół Cassandra vs rodzina kolumn
Zasadniczo obejmuje to rodzaj usług, które chcę monitorować. Podaj nazwę hosta maszyny i jej adres IP, który ma monitorować Nagios.
Podobnie możesz dodać liczbę usług, które chcesz monitorować. Tych samych konfiguracji można użyć do dodania liczby klientów „n”.
Ostatni krok, ustaw poprawnie uprawnienia do folderu i uruchom ponownie Nagios.
chown -R nagios. / etc / nagios /
Teraz uruchom ponownie Nagios
restart usługi nagios
Otwórz przeglądarkę i ponownie wpisz nazwa hosta lub publiczny adres IP / nagios /. W moim przypadku jest to localhost / nagios /.
Kliknij hosty, aby zobaczyć wszystkie maszyny, które Nagios aktualnie monitoruje.
Tutaj możesz zauważyć, że obecnie monitoruje maszynę klienta (nazwę hosta maszyny, którą Nagios ma monitorować). Zasadniczo dodaliśmy zdalnego hosta za pomocą NRPE.
Mam nadzieję, że podobało Ci się czytanie tego samouczka Nagios. Wkrótce wymyślę więcej blogów na temat Nagios.
Jeśli uważasz, że ten samouczek Nagios jest odpowiedni, zapoznaj się z autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie Edureka DevOps Certification Training pomaga uczniom zdobyć wiedzę na temat różnych procesów i narzędzi DevOps, takich jak Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack i GIT, do automatyzacji wielu kroków w SDLC.
Masz do mnie pytanie? Wspomnij o tym w sekcji komentarzy, a skontaktuję się z Tobą.