Учебное пособие по 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 подключены два важных компонента, первый - это хранилище данных. Теперь к этому хранилищу данных мы подключим «Analytics» и «Security Intelligence».
  6. Аналитика безопасности (SI) - это информация, имеющая отношение к защите организации от внешних и внутренних угроз, а также процессы, политики и инструменты, предназначенные для сбора и анализа этой информации.
  7. Этот SIEM также связан с «Системой управления рисками и соответствием», он в основном предоставляет информационные панели.
  8. К этой «Системе управления рисками и комплаенс» мы прилагаем базу данных о рисках. Это дает нам «действенный интеллект».
  9. Практический интеллект - это не что иное, как информация, на которую можно действовать, с дальнейшим подтекстом, что действия должен быть взятым.

Итак, здесь мы отслеживаем события на постоянной основе и определяем, какой уровень риска мы испытываем. Благодаря этому мы можем соотнести события на SIEM. Мы можем выполнять обнаружение сетевого поведения и аномалий с помощью «Analytics Engine». Вот что такое непрерывный мониторинг:

Интеграция организацииинструменты безопасности,агрегация,нормализация икорреляция данных, производимых инструментами безопасности. Анализ этих данных, основанный на целях организации в отношении рисков и знаниях об угрозах, и реакция на выявленные риски практически в реальном времени.

«Если вы не можете измерить это, вы не можете управлять этим». Надеюсь, вы понимаете, о чем я говорю.

Далее в этом руководстве по Nagios я познакомлю вас с одним из самых известных инструментов мониторинга «Nagios».

Что такое нагиос?

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

Позвольте мне объяснить вам, как работает Nagios.Рассмотрим схему ниже:

Nagios работает на сервере, обычно как демон или служба.

Он периодически запускает плагины, расположенные на одном сервере, они связываются с хостами или серверами в вашей сети или в Интернете. Информацию о статусе можно просмотреть через веб-интерфейс. Вы также можете получать уведомления по электронной почте или SMS, если что-то случится.
Демон Nagios ведет себя как планировщик, который запускает определенные сценарии в определенные моменты. Он сохраняет результаты этих сценариев и запускает другие сценарии, если эти результаты изменятся.

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

Теперь поговорим об архитектуре.

Архитектура Nagios:

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

Мне также нужно объяснить вам NRPE (Nagios Remote Plugin Executor).

Надстройка NRPE предназначена для того, чтобы позволить вам запускать плагины Nagios на удаленных машинах Linux / Unix. Основная причина для этого - позволить Nagios отслеживать «локальные» ресурсы (такие как загрузка процессора, использование памяти и т. Д.) На удаленных машинах. Поскольку эти общедоступные ресурсы обычно не доступны для внешних машин, на удаленных машинах Linux / Unix должен быть установлен агент, например NRPE.

Рассмотрим схему ниже:

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

Теперь в этом руководстве по Nagios настало время для некоторых Руки вверх .

Начнем с установки Nagios Core

Установите Nagios Core:

Полный процесс установки Nagios можно описать в четыре этапа:

  1. Установите необходимые пакеты на сервере мониторинга
  2. Установите Nagios Core, плагины Nagios и NRPE (исполнитель удаленных плагинов Nagios)
  3. Установите пароль Nagios для доступа к веб-интерфейсу
  4. Установить NRPE в клиенте

Шаг - 1: Установите необходимые пакеты на сервер мониторинга:

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

Щелкните i386, и вы будете перенаправлены на страницу.

Поскольку я использую CentOS 6, я щелкну правой кнопкой мыши и скопирую ссылку на ‘ epel-release-6-8.noarch.rpm ‘, Как показано на скриншоте выше.

Откройте терминал и используйте об / мин -Uvh команду и вставьте ссылку.

Нам нужно скачать еще один репозиторий, для этого зайдите на сайт « http://rpms.famillecollet.com/enterprise/ '

Щелкните правой кнопкой мыши и скопируйте расположение ссылки для ‘ remi-release-6.rpm '

Снова откройте терминал и используйте об / мин -Uvh команду и вставьте ссылку.

Отлично, мы сделали все необходимое. Переходим к следующему шагу.

Шаг - 2: Установите Nagios Core, плагины Nagios и NRPE (исполнитель удаленных плагинов Nagios):

Выполните в терминале следующую команду:

yum -y установить nagios nagios-plugins-all nagios-plugins-nrpe nrpe httpd php

Это установит Nagios, плагины Nagios, плагины для NRPE, NRPE, Apache и PHP.

Веб-сервер Apache необходим для отслеживания текущего состояния веб-сервера.

Php используется для обработки динамического содержимого сайта date.

Далее нам нужно включить службу Apache и Nagios:

chkconfig httpd на && chkconfig nagios на

Наш следующий шаг - запустить Nagios и Apache:

запуск службы httpd && запуск службы nagios

Теперь я включу память подкачки не менее 1 ГБ. Пришло время создать сам файл подкачки с помощью команды dd:

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

Swap в основном используется для освобождения некоторой, не так часто используемой информации из ОЗУ, и перемещения ее в определенный раздел на нашем жестком диске.

Теперь, когда вы создали раздел подкачки, используйте команду mkswap для настройки раздела подкачки. Это подготовит файл подкачки, создав область подкачки Linux.

mkswap / своп

Чтобы файл не был доступен для чтения всем, вы должны установить правильные разрешения для файла подкачки:

корень чавка. / своп chmod 0600 / своп

Если вы не видите ошибок, ваше пространство подкачки готово к использованию. Чтобы активировать его немедленно, введите:

обмен / обмен

Этот файл будет храниться на виртуальном частном сервере до перезагрузки машины. Вы можете убедиться, что своп постоянный, добавив его в файл fstab.

echo / swap swap swap по умолчанию 0 0 >> / etc / fstab

Ядро операционной системы может настроить частоту использования подкачки с помощью параметра конфигурации, известного как обмен .

Чтобы найти текущие настройки подкачки, введите:

cat / proc / sys / vm / swappiness

Swapiness может иметь значение от 0 до 100. Swapiness около 100 означает, что операционная система будет менять часто и, как правило, слишком рано. Хотя своп предоставляет дополнительные ресурсы, ОЗУ намного быстрее, чем пространство подкачки. Каждый раз, когда что-то перемещается из ОЗУ для обмена, это замедляется.

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

эхо vm.swappiness = 0 >> /etc/sysctl.conf && sysctl -p

Наконец, мы закончили второй шаг.

Давайте продолжим и установим пароль Nagios для доступа к веб-интерфейсу.

Шаг - 3: Установите пароль Nagios для доступа к веб-интерфейсу:

Установите пароль для доступа к веб-интерфейсу, используйте следующую команду:

htpasswd -c / etc / nagios / passwd nagiosadmin

Введите пароль и подтвердите его повторным вводом.

Теперь откройте браузер. Здесь введите свой общедоступный IP-адрес или имя хоста / nagios. Рассмотрим пример ниже:

Здесь укажите имя пользователя и пароль. По умолчанию имя пользователя нагиосадмин, а пароль - это то, что вы установили на предыдущем шаге. Наконец, нажмите ОК.

После этого вы будете перенаправлены на панель управления 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

-A опция используется для добавления нового правила в конец цепочки. Если вы хотите поместить его в другое место в цепочке, вы можете использовать параметр -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 сохранить

Запустите службу NRPE прямо сейчас.

запуск службы nrpe

Теперь вернитесь на сервер мониторинга.

Здесь мне нужно отредактировать файл nagios.cfg.

vi /etc/nagios/nagios.cfg

Раскомментируйте строку - cfg_dir = etc / nagios / серверы

Создайте для этого «серверный» каталог mkdir команда.

mkdir / и т. д. / nagios / серверы /

Измените свой рабочий каталог на серверы.

cd / etc / nagios / серверы

Создайте в этом каталоге новый файл с расширением .cfg и отредактируйте его. Я назову его client.cfg и буду использовать мы редактор.

vi /etc/nagios/servers/client.cfg

Здесь добавьте следующие строки:

жизненный цикл активности Android

В основном это включает в себя те сервисы, которые я хочу отслеживать. Укажите имя хоста машины и ее IP-адрес, который вы хотите отслеживать с помощью Nagios.

Точно так же вы можете добавить количество сервисов, которые хотите отслеживать. Те же конфигурации можно использовать для добавления 'n' клиентов.

Последний шаг, ребята, правильно установите права доступа к папке и перезапустите Nagios.

chown -R nagios. / etc / nagios /

Теперь перезапустите Nagios

перезапуск службы nagios

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

Нажмите на хосты, чтобы увидеть все машины, которые Nagios сейчас контролирует..

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

Надеюсь, вам понравилось читать это руководство по Nagios, скоро я добавлю больше блогов по Nagios.

Если вы нашли этот учебник по Nagios релевантным, ознакомьтесь с от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Курс Edureka DevOps Certification Training помогает учащимся получить опыт работы с различными процессами и инструментами DevOps, такими как Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack и GIT, для автоматизации нескольких шагов в SDLC.

Есть ко мне вопрос? Пожалуйста, отметьте это в разделе комментариев, и я вернусь к вам.