Урок за Nagios - Непрекъснато наблюдение с Nagios



Урок за Nagios: Nagios следи цялата ви ИТ инфраструктура, за да гарантира, че системите, приложенията, услугите и бизнес процесите функционират правилно.

Урок за Nagios:

Вярвам, че има много малко публикации в Nagios и няма много подходяща информация в интернет. Така че, мисля, че тази публикация ще ви даде добра яснота относно този инструмент за наблюдение. Nagios следи цялата ви ИТ инфраструктура, за да гарантира, че системите, приложенията, услугите и бизнес процесите функционират правилно.Той е неразделна част от жизнения цикъл на DevOps и е задължителен .В този урок на Nagios ще разгледам следните теми:

  1. Защо се нуждаем от непрекъснат мониторинг?
  2. Какво е непрекъснат мониторинг?
  3. Какво е Nagios?
  4. Как да инсталирам Nagios?
  5. Как да добавя отдалечен сървър с помощта на NRPE (Nagios Remote Plugin Executor).

Нека започнем този урок на Nagios, като разберем защо се нуждаем от непрекъснат мониторинг, защото всичко съществува с причина. Така че, нека се опитаме да разберем тази причина.





Защо се нуждаем от непрекъснат мониторинг?

Инструментите за непрекъснато наблюдение разрешават всички системни грешки (недостатъчна памет, недостижим сървър и др.), Преди да имат някакво негативно влияние върху производителността на вашия бизнес.

Важни причини за използване на инструмент за наблюдение са:



  • Той открива всички проблеми в мрежата или сървъра
  • Той определя основната причина за всички проблеми
  • Той поддържа сигурността и наличността на услугата
  • Той следи и отстранява проблеми с производителността на сървъра
  • Позволява ни да планираме надстройки на инфраструктурата, преди остарелите системи да причинят откази
  • Той може да реагира на проблеми при първия признак на проблем
  • Може да се използва за автоматично отстраняване на проблеми, когато бъдат открити
  • Той гарантира, че прекъсванията на ИТ инфраструктурата имат минимален ефект върху крайния резултат на вашата организация
  • Той може да наблюдава цялата ви инфраструктура и бизнес процеси

Да, върши много готина работа, но какво е това?

Какво е непрекъснат мониторинг?

Нека първо ви кажа къде е непрекъснатият мониторинг в жизнения цикъл на DevOps, разгледайте диаграмата по-долу:

DevOps Life-Cyce - Урок за Nagios - Edureka



Поглеждайки към диаграмата, сигурно си мислите, че това е последният етап от жизнения цикъл на DevOps, но това не е така. Няма край на жизнения цикъл на DevOps и това е причината за символа на безкрайността. Постоянният мониторинг се появява, след като приложението бъде внедрено на производствените сървъри.

Непрекъснатият мониторинг се отнася до способността на организацията да открива, докладва, реагира, съдържа и смекчава настъпващите атаки в своята инфраструктура.

Постоянният мониторинг всъщност не е нов, той съществува от известно време. В продължение на години нашите професионалисти по сигурността извършват статичен анализ от - системния дневник, регистрационните файлове на защитната стена, регистрационните файлове на IDS, IPS регистрационните файлове и т.н. Но това не осигурява правилен анализ и отговор. Днешният подход за непрекъснат мониторинг ни дава възможност да обобщим всички събития, които обсъдих по-горе, да ги съпоставим, да ги сравним и след това да оценим рисковата позиция на организацията.

Ако вземем всички тези парчета и осигурим взаимовръзката между тях. Това е същността на непрекъснатия мониторинг.

Позволете ми да обясня това с случай на употреба.Помислете за диаграмата по-долу:

Сега, нека ви обясня горната диаграма:

  1. Разполагаме с различни инструменти за сигурност, като защитна стена, IDS, защита на крайни точки и др. Те са свързани със „Система за информация за сигурност и управление на събития.
  2. За да постигнем непрекъснат мониторинг, трябва да имаме всички части, които си говорят, позволете ми да ви обясня това.
  3. Така че имаме инструменти за сигурност и поредица от „Крайни точки“, това може да включва клиент и сървъри, рутери, комутатори, мобилни устройства и т.н.
  4. След това тези две групи могат да говорят със система за информация за сигурност и управление на събития (SIEM) чрез общ език и по по-автоматизиран начин.
  5. Свързани с този SIEM има два важни компонента, първият е хранилище за данни. Сега към този Хранилище на данни ще свържем „Анализ“ и „Интелигентна информация“.
  6. Информацията за сигурност (SI) е информацията, имаща отношение към защитата на организацията от външни и вътрешни заплахи, както и процесите, политиките и инструментите, предназначени да събират и анализират тази информация.
  7. Този SIEM също е свързан със „Система за управление на риска и спазване на изискванията“, която по същество осигурява табло за управление.
  8. Към тази „Система за управление на риска и спазване“ ние прикачваме база данни за риска. Това ни дава „разумна информация“.
  9. Действащото разузнаване не е нищо друго освен информация, върху която може да се действа, с по-нататъшното отражение върху действията Трябва да бъдат взети.

И така, ние постоянно наблюдаваме събитията и определяме на какво ниво на риск се сблъскваме. С това можем да съпоставим събитията в SIEM. Можем да извършим мрежово поведение и откриване на аномалии в „Engine Engine“. Ето какво е непрекъснатото наблюдение:

Интеграцията на организацияинструменти за сигурност,агрегирането,нормализиране икорелация на данните, които се произвеждат от инструментите за сигурност. Анализът на тези данни, базиран на рисковите цели на организацията и познанията за заплахата, и почти реагиране в реално време на идентифицираните рискове.

‘Ако не можете да го измервате, не можете да го управлявате’. Надявам се да знаете за какво говоря.

След това в този урок на Nagios ще ви запозная с един от най-известните инструменти за наблюдение „Nagios“.

Какво е Nagios?

Nagios се използва за непрекъснат мониторинг на системи, приложения, услуги и бизнес процеси и т.н. в DevOps култура. В случай на неизправност, Nagios може да предупреди техническия персонал за проблема, като им позволи да започнат процеси на отстраняване, преди прекъсванията да засегнат бизнес процесите, крайните потребители или клиентите. С Nagios не е нужно да обяснявате защо невидим прекъсване на инфраструктурата се отразява на дъното на вашата организация.

Позволете ми да ви обясня как работи Nagios.Помислете за диаграмата по-долу:

Nagios работи на сървър, обикновено като демон или услуга.

Той периодично изпълнява приставки, пребиваващи на същия сървър, те се свързват с хостове или сървъри във вашата мрежа или в интернет. Можете да видите информацията за състоянието чрез уеб интерфейса. Можете също така да получавате известия по имейл или SMS, ако нещо се случи.
Демонът на Nagios се държи като график, който изпълнява определени скриптове в определени моменти. Той съхранява резултатите от тези скриптове и ще изпълнява други скриптове, ако тези резултати се променят.

Приставки: Тезиса компилирани изпълними файлове или скриптове (Perl скриптове, скриптове на черупки и т.н.), които могат да се стартират от команден ред за проверка на състоянието или на хост или услуга. Nagios използва резултатите от приставките, за да определи текущото състояние на хостовете и услугите във вашата мрежа.

Нека сега обсъдим, че това е архитектура.

Нагиос Архитектура:

  • Nagios е изграден върху архитектура сървър / агенти.
  • Обикновено в мрежата сървърът на Nagios работи на хост и приставките взаимодействат с локални и всички отдалечени хостове, които трябва да бъдат наблюдавани.
  • Тези приставки ще изпращат информация към Планировчика, който показва това в GUI.

Също така трябва да ви обясня NRPE (Nagios Remote Plugin Executor).

Добавката NRPE е създадена, за да ви позволи да изпълнявате плъгини Nagios на отдалечени машини Linux / Unix. Основната причина за това е да се позволи на Nagios да наблюдава „локални” ресурси (като натоварване на процесора, използване на паметта и т.н.) на отдалечени машини. Тъй като тези публични ресурси обикновено не са изложени на външни машини, агент като NRPE трябва да бъде инсталиран на отдалечените Linux / Unix машини.

Помислете за диаграмата по-долу:

  • Приставката check_nrpe се намира на локалната машина за наблюдение.
  • Демонът NRPE работи на отдалечена машина Linux / Unix.
  • Съществува SSL (Secure Socket Layer) връзка между хоста за наблюдение и отдалечения хост, както е показано на диаграмата по-горе.

Сега в този урок на Nagios е време за някои Практически .

Нека започнем с инсталирането на Nagios Core

Инсталирайте Nagios Core:

Пълният процес за инсталиране на Nagios може да бъде обобщен в четири стъпки:

  1. Инсталирайте необходимите пакети в сървъра за наблюдение
  2. Инсталирайте Nagios Core, Nagios Plugins And NRPE (Nagios Remote Plugin Executor)
  3. Задайте парола на Nagios за достъп до уеб интерфейса
  4. Инсталирайте NRPE в клиент

Стъпка - 1: Инсталирайте необходимите пакети на сървъра за наблюдение:

Посетете уебсайта: http://dl.fedoraproject.org/pub/epel/6/

Кликнете върху i386 и след това ще бъдете пренасочени към страница.

Тъй като използвам CentOS 6, така че щраквам с десния бутон и копирам местоположението на връзката на epel-release-6-8.noarch.rpm ‘, Както е показано на горната екранна снимка.

Отворете терминала и използвайте rpm -Uvh команда и поставете връзката.

Трябва да изтеглим още едно хранилище, за което посетете уебсайта „ http://rpms.famillecollet.com/enterprise/ '

Щракнете с десния бутон и копирайте местоположението на връзката за „ remi-release-6.rpm '

Отново отворете терминала и използвайте rpm -Uvh команда и поставете връзката.

Добре, приключихме с предварителните условия. Нека да преминем към следващата стъпка.

Стъпка - 2: Инсталирайте Nagios Core, Nagios Plugins And NRPE (Nagios Remote Plugin Executor):

Изпълнете командата по-долу в терминала:

yum -y инсталирате nagios nagios-plugins-all nagios-plugins-nrpe nrpe httpd php

Това ще инсталира Nagios, Nagios Plugins, Plugins за NRPE, NRPE, Apache и PHP

Уеб сървърът на Apache е необходим за наблюдение на текущото състояние на уеб сървъра.

Php се използва за обработка на динамично съдържание на датата на сайта.

След това трябва да активираме услугата Apache и Nagios:

chkconfig httpd on && chkconfig nagios on

Следващата ни стъпка е да стартираме Nagios и Apache:

услуга httpd старт && услуга nagios старт

Сега ще активирам суап памет от поне 1 GB. Време е да създадете самия файл за суап с помощта на командата dd:

dd ако = / dev / нула от = / swap bs = 1024 count = 2097152

Размяната се използва основно за освобождаване на част от не толкова често достъпната информация от RAM и преместването й в определен дял на твърдия ни диск.

След като вече сте създали суап дяла, използвайте командата mkswap за да настроите суап дяла. Това ще подготви суап файла, като създаде linux суап зона.

mkswap / суап

За да предотвратите четенето на файла в световен мащаб, трябва да настроите правилните разрешения за суап файла:

корен от хайвер / суап chmod 0600 / суап

Ако не виждате грешки, мястото за суап е готово за използване. За да го активирате незабавно, напишете:

суапон / суап

Този файл ще продължи на виртуалния частен сървър, докато машината се рестартира. Можете да се уверите, че суапът е постоянен, като го добавите към fstab файла.

echo / swap swap swap по подразбиране 0 0 >> / etc / fstab

Ядрото на операционната система може да регулира колко често разчита на суап чрез параметър за конфигурация, известен като разменност .

За да намерите текущите настройки за размяна, напишете:

cat / proc / sys / vm / swappiness

Разменяемостта може да бъде стойност от 0 до 100. Разменеността близо 100 означава, че операционната система ще се сменя често и обикновено твърде рано. Въпреки че суапът предоставя допълнителни ресурси, RAM е много по-бърз от суап пространството. Всеки път, когато нещо се премести от RAM към суап, то се забавя.

Стойността на разменност 0 означава, че операцията ще разчита на суап само когато е абсолютно необходимо. Можем да регулираме разменеността с командата sysctl. За да накарате VPS автоматично да прилага тази настройка всеки път, когато се стартира, можете да добавите настройката към /etc/sysctl.confфайл:

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

Накрая приключихме с втората стъпка.

Нека продължим по-нататък и да зададем парола на Nagios за достъп до уеб интерфейса.

Стъпка - 3: Задайте парола на Nagios за достъп до уеб интерфейса:

Задайте паролата за достъп до уеб интерфейса, използвайте командата по-долу:

htpasswd -c / etc / nagios / passwd nagiosadmin

Въведете паролата и я потвърдете, като я въведете отново.

Сега отворете браузъра. Тук въведете вашия публичен IP или име на хост / nagios. Помислете за примера по-долу:

Тук дайте потребителското име и парола. По подразбиране потребителското име е nagiosadmin, и паролата е това, което сте задали в предишната стъпка. Накрая натиснете OK.

След това ще насочите към таблото за управление на Nagios Core.

Можете да кликнете върху хостове и да видите какво всички хостове, които Nagios Core наблюдава в момента.

Можете да забележите, че той наблюдава само един хост, т.е. localhost. Ако искам Nagios Core да наблюдава отдалечен хост, трябва да инсталирам NRPE в този отдалечен хост. Това ни води до следващата стъпка, инсталирайте NRPE в клиент / машина, която искате Nagios да наблюдава.

Стъпка - 4: Инсталирайте NRPE в клиент:

Добре тогава, нека инсталираме NRPE в клиентската машина.

Първо, трябва да инсталирате необходимите пакети, както направих на моята сървърна машина Nagios. Така че, просто изпълнете същите команди, помислете за скрийншота по-долу:

Сега инсталирайте Nagios, Nagios Plugins и NRPE в клиент:

yum -y инсталирате nagios nagios-plugins-all nrpe

След като бъде инсталиран, активирайте услугата NRPE:

chkconfig nrpe на


Следващата ни стъпка е да редактираме, nrpe.cfg файл. Ще използвам ние редактор, можете да изберете всеки друг редактор също:

Трябва да добавите IP адреса на вашия сървър за наблюдение, в разрешения хостов ред, помислете за скрийншота по-долу:

Тук IP адресът на моя сървър за наблюдение е 192.168.56.101.

Сега трябва да настроим правилата на защитната стена, за да позволим връзка между сървъра за наблюдение и клиента.

iptables -N NRPE

-Опция се използва за добавяне на новото правило в края на верига. Ако искате да го поставите някъде другаде във веригата, можете да използвате опцията -I, която ви позволява да посочите позицията на новото правило.

Командата по-долу приема tcp заявки на портове 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

Това основно ще конфигурира iptables да приема пакети от определен хост, в моя случай - 192.168.56.101, и изпуска пакетите от други хостове.

Сега ще запазя тези конфигурации:

/etc/init.d/iptables save

Стартирайте услугата NRPE сега.

услуга nrpe старт

Сега се върнете към сървъра за наблюдение.

Тук трябва да редактирам файла nagios.cfg.

vi /etc/nagios/nagios.cfg

Разкоментирайте реда - cfg_dir = etc / nagios / сървъри

Направете директория „сървър“ за тази употреба mkdir команда.

mkdir / etc / nagios / сървъри /

Променете работната си директория на сървъри.

cd / etc / nagios / сървъри

Създайте нов файл в тази директория с разширение .cfg и го редактирайте. Ще го нарека client.cfg и ще използвам ние редактор.

vi /etc/nagios/servers/client.cfg

Тук добавете долните редове:

какво е запазена дума в java

Това основно включва вида услуги, които искам да наблюдавам. Дайте името на хоста на машината и нейния ip адрес, който искате Nagios да наблюдава.

По същия начин можете да добавите брой услуги, които искате да наблюдавате. Същите конфигурации могат да се използват за добавяне на ‘n’ брой клиенти.

Последна стъпка, момчета, задайте правилно разрешенията за папките и рестартирайте Nagios.

chown -R nagios. / и т.н. / nagios /

Сега рестартирайте Nagios

рестартиране на услугата nagios

Отворете браузъра и отново въведете име на хост или публичен ip / nagios /. В моя случай това е localhost / nagios /.

Кликнете върху хостове, за да видите всички машини, които Nagios наблюдава в момента.

Тук можете да забележите, че в момента той наблюдава клиентската машина (име на хост на машината, която искам Nagios да наблюдава). По принцип добавихме отдалечен хост, използващ NRPE.

Надявам се, че ви е било приятно да прочетете този урок на Nagios, скоро ще измисля още блогове в Nagios.

Ако намерите този урок за Nagios за подходящ, разгледайте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение за сертифициране Edureka DevOps помага на обучаемите да придобият опит в различни процеси и инструменти на DevOps като Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack и GIT за автоматизиране на множество стъпки в SDLC.

Имате въпрос към мен? Моля, споменете го в раздела за коментари и ще се свържа с вас.