Как отслеживать хосты с помощью Nagios NRPE на Debian 9
Для этого вам нужно будет установить демон Nagios NRPE и плагины на удаленных хостах.
Это пакет, который будет установлен на всех удаленных хостах, которые необходимо контролировать.
NRPE (Nagios Remote Plugin Executor) – это аддон, который позволяет удаленно запускать плагины Nagios на удаленных машинах Linux.
Он позволяет отслеживать показатели удаленных компьютеров (использование диска, загрузка процессора и т. Д.).
Он также может связываться с некоторыми дополнительными агентами Windows, такими как NSClient ++, поэтому вы можете выполнять скрипты и проверять метрики на удаленных хостах Windows.
В этой статье я расскажу вам, как вы можете контролировать свои серверы хостов Linux и Windows с Nagios.
Как работает NRPE?NRPE – это агент мониторинга и протокол, который часто используется для мониторинга удаленных хостов с Nagios. NRPE работает с:
- клиент (плагин check_nrpe), который запускается на сервере Nagios
- д емон, который запускается на удаленном сервере, обрабатывает запросы от клиента и возвращает информацию о состоянии.
Мы можем суммировать этот процесс по приведенной ниже схеме
Когда Nagios должен контролировать ресурс службы с удаленной машины:
- Nagios выполнит плагин check_nrpe и скажет, какие службы необходимо проверить
- Плагин check_nrpe связывается с демоном NRPE на удаленном хосте
- Демон NRPE запускает соответствующий плагин Nagios для проверки службы или ресурса
- Результаты проверки сервиса передаются из демон NRPE обратно в плагин check_nrpe, который затем возвращает результаты проверки в процесс Nagios.
NRPE может быть настроен только для приема соединений с определенного IP-адреса.
Вы можете просто сказать, какие команды выполнять через соединение.
Разрешены только команды, настроенные локальным хостом, и вы можете определить, будут ли аргументы отправлены Nagios.
1) Добавить хост Linux на сервер nagiosЧтобы использовать надстройку NRPE, вам необходимо выполнить некоторые задачи как на сервере Nagios, так и на удаленном узле Linux, на котором установлен демон NRPE.
В нашем случае удаленный хост Linux является сервером Debian 9. Я покажу конкретные моменты процедуры для серверов Centos и Ubuntu.
a) Настройте удаленный хост LinuxНам нужно установить плагины nagios и NRPE на удаленном сервере для мониторинга.
Нам нужно сначала установить предварительные условия
На Centos 7 установите предварительные условия, как показано ниже.
Теперь мы скомпилируем и установим плагины Установите плагин nrpeТеперь мы можем загрузить последнюю версию nrpe, которая является nrpe plugin 3.2.0, когда я пишу эту статью.
Теперь мы скомпилируем его
Для Ubuntu команда компиляции
Нам также нужно будет создать пользователя и группу nagios на удаленном хосте Linux
Мы установим двоичные файлы, демон NRPE, плагин check_nrpe и файлы конфигурации
Теперь мы сопоставим номер порта nrpe (5666) с именованным сервисом
Мы установим службы и обязательно запустим nrpe при запуске системы
Настройка брандмауэраТеперь важно настроить брандмауэр для принятия всех сообщений nrpe
Мы установим iptables-persistent, который берет на себя автоматическую загрузку сохраненных правил iptables.
Для этого правила должны быть сохранены в файле /etc/iptables/rules.v4
Обязательно ответьте «yes», чтобы сохранить существующие правила.
Обычно вы можете использовать команду iptables-save для сохранения новых правил iptables.
На Centos 7 настройте брандмауэр, как показано ниже.
Авторизовать сервер nagios для связи с хостомПосле установки плагина nrpe нам нужно настроить все хосты, которым разрешено связываться с плагином nrpe на хосте Linux.
Это означает, что мы укажем информацию сервера nagios (IP-адрес и т. Д.).
Файл /usr/local/nagios/etc/nrpe.cfg – это тот, который содержит все настройки nrpe.
Найдите директиву allowed_hosts и добавьте частный IP-адрес вашего сервера Nagios
Найдите директиву dont_blame_nrpe, чтобы определить, сможет ли демон NRPE разрешить клиентам указывать аргументы для выполняемых команд.
Запуск и тестирование службы nrpe
Для запуска службы nrpe используйте приведенную ниже команду
# systemctl start nrpe.service
Теперь, чтобы убедиться, что все работает правильно, нам нужно убедиться, что демон nrpe впервые запущен
Теперь мы можем проверить, работает ли nrpe локально, запустив плагин check_nrpe, который был установлен
У вас должен быть выход, который указывает, что плагин nrpe отлично работает на хосте Linux. Установленный файл конфигурации NRPE содержит несколько определений команд, которые мы можем использовать для мониторинга нашего удаленного хоста.
Теперь нам нужно настроить сервер nagios
b) Настройте сервер nagios для обнаружения удаленного хостаВ этой статье предполагается, что вы уже установили и настроили сервер Nagios на Debian 9.
Это означает, что теперь вы настроите его для обнаружения и добавления нашего удаленного хоста Linux.
Если вы еще не настроили его, следуйте этой статье.
На сервере nagios нам также нужно будет установить плагин nrpe и создать файл конфигурации для хоста Linux.
Установить плагин nrpeПроцедура точно такая же, как на хосте Linux, но не забывайте, что на сервере nagios у нас уже есть пользователь и группа nagios, поэтому мы можем пропустить этот шаг.
Мы перейдем к нашему рабочему каталогу nagios
Мы установим бинарники и файлы конфигурации
Нам также нужно добавить службу nrpe
Мы установим службы и запустим обязательно nrpe при запуске системы.
Настройка брандмауэра и службы nrpeМы также настроим брандмауэр, чтобы обеспечить связь nrpe со всеми узлами.
Тестирование связи с удаленным хостом Linux nrpeНам нужно убедиться, что плагин check_nrpe может разговаривать с демоном NRPE на удаленном хосте.
Мы будем использовать плагин check_nrpe с IP-адресом удаленного хоста, как вы можете видеть ниже
Теперь мы будем использовать определение команды, чтобы попытаться контролировать службу (проверить загрузку процессора) на удаленном Linux.
Вы можете видеть, что у нас есть ответ удаленного Linux для мониторинга.
Это показывает, что наш плагин отлично работает на удаленном хосте, и связь хороша.
c) Определите новый хост Linux и службы на сервере nagios.Nagios содержит по умолчанию некоторые определения объектов в каталоге /usr/local/nagios/etc/objects на сервере nagios, который представляет каждый тип хоста, который вам нужно контролировать.
Сначала мы создадим папку, в которой мы сохраним все файлы конфигурации удаленного хоста, которые должен контролировать сервер Nagios.
Nagios имеет шаблонный файл templates.cfg, который содержит некоторые примеры шаблонов определений объектов, которые передаются другими хостами, службами и т. д.
Эти определения будут полезны, когда мы создадим каждое определение файла удаленного хоста.
По умолчанию Nagios контролирует сервер, на котором он установлен через файл localhost.cfg. Мы будем использовать этот файл для создания файла конфигурации для нашего хоста Linux.
Теперь мы отредактируем наш файл, чтобы добавить наш хост.
Ваш файл должен выглядеть как нечто выше.
Этот вывод был усечен.
У вас будет больше определений служб.
Адрес директивы должен содержать адрес удаленного хоста для мониторинга.
Директива host_name должна содержать имя, которое будет отображаться на панели управления nagios, и оно должно указывать на вас, поэтому удалите значение localhost по умолчанию и замените его другим именем (debian9 – это имя в моем случае).
Вы должны заменить эту директиву каждый раз, когда она появляется в файле, это означает определение хоста и всех сервисов.
Определения службы, представленные в файле, являются стандартными.
Я дам вам ниже три описания сервисов, которые нужно добавить в конце файла для imap, ftp и smtp, если вам нужно контролировать эти службы на удаленном Linux.
Вы можете заметить, что я добавил директиву cfg_dir = /usr/local/nagios/etc/objects/ servers, которая указывает на каталог нового хоста.
Вы можете заметить, что директива cfg_file указывает различные файлы конфигурации сервисов и хостов, используемые nagios.
Это означает, что если мы не создали каталог, а просто файл linux.cfg в каталоге по умолчанию /usr/local/nagios/etc/objects, нам просто нужно добавить директиву cfg_file =/usr/local/nagios/ etc/objects/linux.cfg, чтобы nagios обнаружил конфигурацию нашего удаленного хоста.
Теперь нам нужно проверить, не содержит ли конфигурация nagios никаких ошибок перед перезапуском службы
Вы можете видеть, что у нас нет ошибок, поэтому мы можем перезапустить службу nagios
e) Доступ к веб-интерфейсу nagiosТеперь, когда все в порядке, мы можем запустить страницу администрирования nagios, чтобы увидеть результат нашей конфигурации.
На вашем локальном сервере доступ через http: //localhost/nagios
Я обращался к моему удаленному Linux, поэтому вы можете видеть, что я указал IP-адрес моего сервера Nagios.
Вы можете видеть, что у нас есть наш новый удаленный Linux с его службами.
Мы еще не установили службу FTP на нашем удаленном хосте.
Вот почему эта служба находится в критическом состоянии.
2) Добавить хост Windows на сервер nagiosДля мониторинга хостов Windows с Nagios вам необходимо установить NSClient ++ на удаленные системы Windows.
NSClient ++ (nscp) – это агент, который должен быть развернут на удаленных хостах для мониторинга. NSClient ++ позволяет много способов проверить вашу систему: