Возможно вы искали: 'Who Wants to Be a Gazi...'

May 15 2025 19:31:17
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Настройка nagios для проверки в труднодоступных местах (NRPE) (nagios monitoring nrpe)

Настройка nagios для проверки в труднодоступных местах (NRPE) (nagios monitoring nrpe)

Ключевые слова: nagios, monitoring, nrpe, (найти похожие документы)

Автор: STALKER <http://stproject.blogspot.com>
Date: Mon, 8 Jun 2009 17:02:14 +0000 (UTC)
Subject: Настройка nagios для проверки в труднодоступных местах (NRPE)

Оригинал: http://stproject.blogspot.com/2009/02/nagios-nrpe.html
http://stproject.blogspot.com/2008/12/full-automated-nrpe.html

Если уж вы решили заняться мониторингом серверов, вряд ли вам удалось ограничиться
проверками пинга и доступа к сайтам по HTTP. Проверка загрузки CPU, свободного места на
сервере и т.д. можно конечно проверять с помощью SNMP, но искать новые модули для проверки
проверки или лазить по дереву SNMP не самое интересное занятие, да и не очень нужное, ведь
есть отличные команды для локальной проверки сервера из стандартного комплекта модулей
"check_load, check_storage" и т.д. Изобретать велосипед, конечно, благородно, но бесполезно.

Общий обзор

На помощь может прийти NRPE, приложение созданное специально для проверки удаленного
сервера с помощью "локальных" команд. Алгоритм работы можно видеть на рисунке ниже:



Хост с Nagios (слева), инициирует проверку с помощью команды check_nrpe к удаленному
серверу (справа), на котором установлен NRPE, в зависимости от конфигурации выполняется та
или иная команда проверки. На хостк с NRPE можно еще раз выполнить команду check_nrpe для
проверки хоста с NRPE, это позволяет создавать конфигурации при которых Nagios не
находиться в той-же подсети что и хосты, но при этом может проверять хосты из другой сети:




Преимуществами NRPE по сравнению с SNMP можно считать:
* проверки произволяться "локальными" командами
* ненужно расшаривать какие-то области SNMP, это может быть небезопасно
* NRPE имеет возможность создания защищенного соединения (SSL) между Nagios и хостом, в
отличии от SNMP, который чуть ли не UDP пакеты посылает
* для добавления новой проверки достаточно написать консольный скрипт в Perl или Bash, не
заморачиваясь на SNMP-ловушках или еще чем-нибудь более заумном


Установка NRPE

Ну думаю теории хватит, можно приступать к практике.
Для начала скачайте последнюю версию NRPE с официального сайта
http://www.nagios.org/download/addons/
(Более полную информацию по NRPE можно найти по адресу
http://nagios.sourceforge.net/docs/nrpe/NRPE.pdf
В моем случае версия NRPE была 2.12, далее начнем компиляцию и установку.

Распакуем архив

tar xzf nrpe-2.12.tar.gz
cd nrpe-2.12/


Далее проводим конфигурирование, опция --disable-ssl отключает SSL в NRPE, если у вас
действительно большое количество проверок на одном сервере SSL лучше отключить, чтобы не
загружать сервер. Опция --enable-command-args определяет можно ли будет командам передавать
аргументы, заранее подумайте над тем стоит ли их включать, т.к. это может создать проблемы
в безопасности системы, к примеру если в качестве аргумента передать что-нибудь типа "-w=5
-c=6; cat /etc/passwd" в bash эта строка будет интерпретирована не совсем так как вы хотите

./configure --disable-ssl --enable-command-args


Далее создаем пользователя и группу под которыми будет работать NRPE, опцию -d /home/nagios
лучше оставить т.к. в дальнейшем домашняя директория для NRPE вам еще пригодиться

groupadd nagios
useradd nagios -d /home/nagios -g nagios -m


Последний этап компиляции, собственно компиляция, установка плагина check_nrpe, установка
демона NRPE и конфигов для xinetd

make all && make install-plugin && make install-daemon && make install-xinetd


Для работы NRPE лучше всего использовать xinetd, т.к.он позволяет обновлять конфигурацию
без перезагрузки демона и вам не нужно следить за тем загружен NRPE или нет. Также xinetd
обеспечивает некоторую дополнительную безопасность с помощью определения списка IP адресов
с которых может инициироваться доступ к порту NRPE.

Если у вас не установлен xinetd нужно его установить:

yum install xinetd
zypper install xinetd
apt-get install xinetd (зависит от системы)


Дальше редактируем /etc/xinetd.d/nrpe, находим строку

only_from = 127.0.0.1 IP1 IP2


вместо IP1 и IP2 подставляет IP-адреса Nagios или хостов с которых будет осуществляться
проверка, адреса должны быть написаны через пробел.

Добавить описание NRPE в конец файла /etc/services.

nrpe 5666/tcp # NRPE


После нужно перезагрузить xinetd:

service xinetd restart


Возможно вам также придется добавить правило в firewall, которое бы разрешало подключения
на порт 5666:

iptables -I RH-Firewall-1-INPUT -p tcp -m tcp -dport 5666 -j ACCEPT
service iptables save


Далее вам нужно скопировать плагины для проверки в папку /usr/local/nagios/libexec/.
Плагины можно взять из этой папки на сервере с Nagios (или в папке
/usr/lib/nagios/plugins/, если вы ставили Nagios из бинарных архивов).
Если все сделано правильно мы можем проверить работоспособность NRPE, выполнив следующий
скрипт:

/usr/lib/nagios/plugins/check_nrpe -H localhost


Должно вы появиться что-то вроде:

NRPE v2.12


Все, установку закончили.


Конфигурирование NRPE

После установки файл конфигурации по умолчанию находиться в файле
/usr/local/nagios/etc/nrpe.cfg. Первое что стоит отредактировать это опять таки хосты с
которых будет производиться проверка:

allowed_hosts=127.0.0.1,IP1,IP2


опция allowed_hosts определяет список хостов с которых будут идти проверки, адреса должны
быть перечислены через запятую.
Дальше определяем количество можно ли передавать аргументы командам:

dont_blame_nrpe=0


если "0" аргументы передавать нельзя, если "1" можно.
Далее можно перейти непосредственно к командам, которыми мы будем оперировать. Общий
синтаксис таков:

command[command_name]=/path/to/check/command args


например:

command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10


если у вас включена передача аргументов, команда будет выглядеть так:

command[check_users]=/usr/local/nagios/libexec/check_users -w $ARG1$ -c $ARG2$


Командой может быть любой скрипт или строка bash, главное чтобы она удовлетворяла правилам
написания модулей для Nagios.
для выполнения команды проверки check_users выполните:

/usr/lib/nagios/plugins/check_nrpe -H localhost -c check_users или
/usr/lib/nagios/plugins/check_nrpe -H localhost -c check_users -a 5 10


Получим что-нибудь вроде этого:

USERS OK - 1 users currently logged in |users=1;5;10;0


Конфигурирование Nagios

После того как NRPE успешно установлен можно приступить к конфигурированию самого Nagios.
Первое что следует сделать, это скопировать скрипт check_nrpe в папку с плагинами Nagios
(см. выше). Дальше открываем файл с описанием комманд (чаще всего commands.cfg) и добавляем
вот такую конфигурацию:

define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}


таким образом мы добавили команду check_nrpe в список команд NRPE, далее создаем новый
сервис (проверку):

define service{
use generic-service
host_name remotehost
service_description USERS
check_command check_nrpe!check_users
}


после "!" передается команда которая будет вызвана на хосте с NRPE.
Для того чтобы уменьшить количество ошибок и недочетов при конфигурировании Nagios лучше
всего создавать команды с заранее определенными параметрами, так лучше пример приведенный
выше лучше представить так:

define command{
command_name check_nrpe_users
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_users
}
....
define service{
use generic-service
host_name remotehost
service_description USERS
check_command check_nrpe_users
}


таким образом мы определяем соответствие команды Nagios команде NRPE и допускаем меньше
ошибок при конфигурировании.

ВНИМАНИЕ

Если вы собирали NRPE --disable-ssl, в описании команды проверки добавляйте "-n" т.е.

command_line $USER1$/check_nrpe -n -H $HOSTADDRESS$ -c check_users


иначе при проверке возникнет ошибка.


Full-automated NRPE

В первой части, я описывал спсоб проверки Unix-серверов с помощью NRPE, теперь же займемся
автоматизацией.

Представьте такую ситуацию, у вас уже есть десяток-другой хостов подключенных к Nagios и
проверяемых с помощью NRPE, но вдруг вам понадобилось добавить на этих сервера новую, очень
важную проверку. Будете лазить по всем серверам и править конфиги? Надеюсь вы на это не
согласны, поэтому предлагаю способ по автоматизации обновления NRPE без прямого участия.
Для описанного случая вам понадобиться FTP-сервер (в принципе систему можно переработать на
использование scp и ssh), желательно на том-же хосте что и Nagios. Система будет
действовать примерно как показано на диаграмме ниже:



На хосте с Nagios выполняеться команда

check_nrpe -H -c update_nrpe


после чего происходит обновлениеконфигов и команд проверки. Скачиваеться последняя версия
скрипта на обновление и выполняеться. Внутри скрипта прописано откуда брать новый конфиг и
плагины для проверки...

Предположим вы поставили FTP-сервер на хост с Nagios (например [10]vsftp), предположим вы
создали FTP-аккаунт "nrpe". Дальше в папке доступной по FTP зададим папку NRPE и положим
туда эталонный "nrpe.cfg" и архив с плагинами для проверок "libexec.tar.gz" (у меня они
называються именно так, у вас могут иначе). Дальше осталось только написать скрипты.
Скрипт на обновление NRPE (кладём в папку с FTP_PATH/NRPE/):

#!/bin/sh
#
#
# Удаляем то что осталось от прошлого обновления
rm -f libexec.tar.gz
rm -r -f libexec
rm -f nrpe.cfg
# Скачиваем по FTP новые конфиги и плагины
wget ftp://nrpe:ftp_pass@ftp_server_ip/NRPE/libexec.tar.gz
wget ftp://nrpe:ftp_pass@ftp_server_ip/NRPE/nrpe.cfg
#Разархивируем и перемещаем в папку с плагинами
tar xzf libexec.tar.gz
mv libexec/* /usr/local/nagios/libexec/
#На всякий случай создаем папку для конфигов NRPE
mkdir -p /usr/local/nagios/etc/
# Копируем сам конфиг
cp nrpe.cfg /usr/local/nagios/etc/nrpe.cfg
# Добавляем в конфиг данные о дате последнего обновления(еще пригодиться)
echo "# [LAST_UPDATE]=`date +%d-%m-%y`" >> /usr/local/nagios/etc/nrpe.cfg


В эталонный конфиг добавляем следующие команды:
Обновления:

command[update_nrpe]=echo "Starting"; cd /home/nagios/; rm update_nrpe.sh; wget
ftp://nrpe:ftp_pass@ftp_server_ip/NRPE/update_nrpe.sh && chmod +x update_nrpe.sh &&
./update_nrpe.sh


Проверки даты обновления:

command[update_date]=/usr/local/nagios/libexec/check_update_date


содержимое скрипта libexec/check_update_date(этот файл должен находиться в архиве
libexec.tar.gz):

#!/bin/sh
#
#
awk -F= '/[LAST_UPDATE]/ {print "STATUS: Last update " $2}'
/usr/local/nagios/etc/nrpe.cfg


Этот скрипт находит в конфиге NRPE строку с указанием даты последнего обновления и выдает в
качестве ответа.
Первоначальное обновление
Если вы только установили NRPE или у вас уже установлен NRPE на хост, пробуем обновиться:

#заходим под пользователем nagios, чтобы не сбить права на файлы
~> su nagios
~> cd ~
#Обнавляемся
~> wget ftp://nrpe:ftp_pass@ftp_server_ip/NRPE/update_nrpe.sh && chmod +x update_nrpe.sh
&& ./update_nrpe.sh


если все прошло ОК, на хосте с Nagios выполняем команду

.../check_nrpe -H nrpe_host -c update_date


Должны получить что-то вроде:

STATUS: Last update 21-01-09


Использование

Теперь если вам нужно внести изменения в работу NRPE (добавить проверку например), на
сервере с FTP меняем конфиг nrpe.cfg, добавляем в архив libexec.tar.gz новый плаги и
выполняем команду

check_nrpe -H nrpe_host -c update_nrpe


и получаем полноценное обновление.
Для работы этой системы необходимо чтобы NRPE был установлен для работы с xinetd (см.
прошлую статью). При работе со с FTP будьте вниматнльны к правам на файлы, иначе могут
возникнуть непонятные ошибки...
1166 Прочтений •  [Настройка nagios для проверки в труднодоступных местах (NRPE) (nagios monitoring nrpe)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Настройка nagios для проверки в тру... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка