Создание плагина Nagios при помощи Bash в Ubuntu 12.10
Ubuntu | Комментировать запись
Bash – это популярный командный процессор, доступный в Linux по умолчанию.
Примечание: Как установить Nagios на сервер Ubuntu 12.10 было показано в предыдущей статье.
В этом руководстве говорится о том, как создать плагин Nagios при помощи Bash, который будет запускаться на клиентском сервере через NRPE.
1: Установка NRPE и репозитория RPMForge
Запустите следующие команды на клиенте:
apt-get install -y nagios-nrpe-server
useradd nrpe && update-rc.d nagios-nrpe-server defaults
2: Создание скрипта Bash
Все плагины Nagios следует хранить в одной папке (например, в /usr/lib/nagios/plugins/).
Для примера создайте скрипт, который проверяет текущее использование диска и выдает предупреждение, если оно превышает 85%:
#!/bin/bash
used_space=`df -h / | grep -v Filesystem | awk '{print $5}' | sed 's/%//g'`
case $used_space in
[1-84]*)
echo "OK - $used_space% of disk space used."
exit 0
;;
[85]*)
echo "WARNING - $used_space% of disk space used."
exit 1
;;
[86-100]*)
echo "CRITICAL - $used_space% of disk space used."
exit 2
;;
*)
echo "UNKNOWN - $used_space% of disk space used."
exit 3
;;
esac
Сохраните скрипт в /usr/lib/nagios/plugins/usedspace.sh и сделайте его исполняемым:
chmod +x /usr/lib/nagios/plugins/usedspace.sh
Весь NRPE-плагин Nagios сводится к использованию кодов завершения для отправки предупреждений.
По сути, нужно просто определить логику скрипта и задать код завершения, чтобы получать извещения. В Nagios существует 4 кода завершения:
- 0 – OK;
- 1 – предупреждение;
- 2 – критическая ошибка;
- 3 – неизвестная ошибка.
3: Добавление скрипта в настройки NRPE
На клиентском хосте очистите оригинальный /etc/nagios/nrpe.cfg и внесите в него следующий код:
log_facility=daemon
pid_file=/var/run/nagios/nrpe.pid
server_port=5666
nrpe_user=nrpe
nrpe_group=nrpe
allowed_hosts=111.222.111.222
dont_blame_nrpe=1
debug=0
command_timeout=60
connection_timeout=300
include_dir=/etc/nagios/nrpe.d/
command[usedspace_bash]=/usr/lib/nagios/plugins/usedspace.sh
где 111.222.111.222 – мониторинговый сервер; замените этот условный адрес своим IP.
Перезапустите сервис NRPE:
service nagios-nrpe-server restart
4: Добавление команды в Nagios
На мониторинговом сервере определите новую команду в /etc/nagios/objects/commands.cfg:
define command{
command_name usedspace_bash
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c usedspace_bash
}
Сервер использует NRPE для создания подключения TCP на порт 5666 и запускает команду usedspace_bash, которая была определена в /etc/nagios/nrpe.cfg на удаленном хосте.
Добавьте данную команду в настройки Nagios на клиентском VPS.
В данном примере Nagios будет мониторить сервер по имени UbuntuServer; отредактируйте /etc/nagios/servers/UbuntuServer.cfg:
define service {
use generic-service
host_name UbuntuServer
service_description Custom Disk Checker In Bash
heck_command usedspace_bash
}
Перезапустите Nagios:
service nagios restart
Готово!
Tags: Bash, Nagios, NRPE, Ubuntu 12.10