Сразу оговорюсь, что система, в которой я настраивал это хозяйство, ранается на Debian 6, а сам Nagios установлен не из пакетов, а из сорцов как в RedHat - в /usr/local/nagios - так проще и удобней, т. к. почти вся документация написана под такой вариант установки.
Для мониторинга нам понадобится плугин к Nagios - NRPE(Nagios Remote Plugin Executor). Смысл его работы показан на рисунке:
На винде он так же точно работает, только через NSClient++.
Итак, приступим. Процесс настройки и установки хорошо описан в официальной пдф-ке: http://nagios.sourceforge.net/docs/nrpe/NRPE.pdf . Но я опишу свои шаги.
1. Устанавливаем необходимую библиотеку:
apt-get update
apt-get install build-essential libssl-dev xinetd
2. Скачиваем сам плугин и распаковываем. На момент написания статьи последняя версия была 2.13:
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
tar -xzvf nrpe-2.13.tar.gz
3. Переходим в директорию с сорцами плугина, конфигурим и устанавливаем:
make all
4. Также можно запускать nrpe с помощью xinetd, как я и сделал:
make install-xinetd
nano /etc/xinetd.d/nrpe
Где прописываем:
# default: on
# description: NRPE (Nagios Remote Plugin Executor)
service nrpe
{
flags = REUSE
socket_type = stream
port = 5666
wait = no
user = nagios
group = nagios
server = /usr/local/nagios/bin/nrpe
server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd
log_on_failure += USERID
disable = no
only_from = 127.0.0.1
}
И рестартуем xinetd:
/etc/init.d/xinetdt restart
5. Создаем ссылку чтобы без полного пути выполнять команду:
ln -s /usr/local/nagios/libexec/check_nrpe /usr/bin/check_nrpe
6. Проверяем и перезапускаем Nagios:
7. Конфиг NRPE находится тут: /usr/local/nagios/etc/nrpe.cfg . В нем нужно прописать IP адреса машин, которые мониторятся, например:
allowed_hosts=127.0.0.1,192.168.2.0/24
nrpe 5666/tcp # Nagios Remote Plugin Executor
define command{ command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
define command{ command_name check_filesize
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_filesize -a $ARG1$ $ARG2$ $ARG3$ $ARG4$
}
13. Далее в конфиге для нашей Windows машины прописываем (подставляя свои данные, ясный-красный):
define service{
use generic-service
host_name Server Windows 1
service_description Check imageres.dll
check_command check_nrpe!check_filesize
notifications_enabled 1
}
Команда указана без параметров, соответственно - будут использоваться те, что прописаны на Win машине в NSC.ini. Если Вам нужно мониторить несколько файлов на одной машине, то придется указывать параметры (я на них забил - и так сложно было разобраться, как всё правильно настроить).
Если вы всё правильно сделали, то через несколько минут, когда Nagios одуплится, вы увидите результат.
Для мониторинга нам понадобится плугин к Nagios - NRPE(Nagios Remote Plugin Executor). Смысл его работы показан на рисунке:
На винде он так же точно работает, только через NSClient++.
Итак, приступим. Процесс настройки и установки хорошо описан в официальной пдф-ке: http://nagios.sourceforge.net/docs/nrpe/NRPE.pdf . Но я опишу свои шаги.
1. Устанавливаем необходимую библиотеку:
apt-get update
apt-get install build-essential libssl-dev xinetd
2. Скачиваем сам плугин и распаковываем. На момент написания статьи последняя версия была 2.13:
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
tar -xzvf nrpe-2.13.tar.gz
3. Переходим в директорию с сорцами плугина, конфигурим и устанавливаем:
cd nrpe-2.13/
./configuremake all
make install-plugin
make install-daemon
make install-daemon-config
4. Также можно запускать nrpe с помощью xinetd, как я и сделал:
make install-xinetd
nano /etc/xinetd.d/nrpe
Где прописываем:
# default: on
# description: NRPE (Nagios Remote Plugin Executor)
service nrpe
{
flags = REUSE
socket_type = stream
port = 5666
wait = no
user = nagios
group = nagios
server = /usr/local/nagios/bin/nrpe
server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd
log_on_failure += USERID
disable = no
only_from = 127.0.0.1
}
И рестартуем xinetd:
/etc/init.d/xinetdt restart
5. Создаем ссылку чтобы без полного пути выполнять команду:
ln -s /usr/local/nagios/libexec/check_nrpe /usr/bin/check_nrpe
6. Проверяем и перезапускаем Nagios:
check_nrpe
/etc/init.d/nagios restart
7. Конфиг NRPE находится тут: /usr/local/nagios/etc/nrpe.cfg . В нем нужно прописать IP адреса машин, которые мониторятся, например:
allowed_hosts=127.0.0.1,192.168.2.0/24
8. Проверяем работоспособность NRPE (вместо localhost можно указывать адрес машины, которая мониторится, но там должен быть настроен NRPE Listener):
/usr/local/nagios/libexec/check_nrpe -H localhost
Кстати, помним, что NRPE использует порт 5666 (по умолчанию), соответственно, его надо открыть ка кна стороне сервера, так и клиента (!). На сервере в файлике /etc/services должна быть запись:
9. Далее необходимо настроить Windows машину.
Скачиваем под нужную архитектуру отсюда http://nsclient.org/nscp/downloads/ . Обязательно (!!111) версию 0.3.9, а не 0.4.0. На момент написания в статьи версия 0.4 была полный пис оф щит :) - под ней всё описанное ниже не работает.
Устанавливаем клиент, отметив галочки напротив всех плугинов и прописав адрес нашего Nagios сервера.
10. Подредактируем конфиг C:\Program Files\NSClient++\NSC.ini добавив следующее:
В секции [NRPE]:
allow_arguments=1
allow_nasty_meta_chars=1
В секции: [External Scripts]:
check_filesize=cscript.exe //nologo //T:60 "C:\Program Files\NSClient++\scripts\check_filesize.vbs" -p C:\Windows\SysWOW64 -f imageres.dll -w 10000 -c 20000
Путь, имя файла и пределы - понятное дело, те, которые нужны Вам.
11. Теперь скачиваем отсюда или отсюда сам скриптец check_filesize.vbs и ложим в папку C:\Program Files\NSClient++\scripts\ . Перезапускаем сервис NSClient++ и идем обратно на сервер.
12. Пропишем 2 команды - общая для NRPE и конкретно для нашего файлика. В /usr/local/nagios/etc/objects/commands.cfg :
define command{ command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
define command{ command_name check_filesize
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_filesize -a $ARG1$ $ARG2$ $ARG3$ $ARG4$
}
13. Далее в конфиге для нашей Windows машины прописываем (подставляя свои данные, ясный-красный):
define service{
use generic-service
host_name Server Windows 1
service_description Check imageres.dll
check_command check_nrpe!check_filesize
notifications_enabled 1
}
14. Перезагрузим Nagios:
/etc/init.d/nagios reload
При написании статьи использовалась идея из http://felipeferreira.net/?p=53 Но сама конфигурация была выработана методом проб и ошибок.
Также можно изменить код скрипта (он на VB), чтобы файлик мониторился в определенных пределах размеров (например, 10Мб < файл < 20 Мб).
Комментариев нет:
Отправить комментарий