Надеюсь, вы, ребята, сможете заметить, что мне здесь не хватает. Я не могу заставить простой плагин check_uptime работать в Nagios.
Когда я вызываю справку по плагину, используя:
/usr/local/nagios/libexec/check_uptime -h
результат:
usage: /usr/local/nagios/libexec/check_uptime [-c OPTION]
This script checks uptime and optionally verifies if the uptime
is below MINIMUM or above MAXIMUM uptime treshholds
OPTIONS:
-h Help
-c CRITICAL MIN uptime (minutes)
-w WARNING MIN uptime (minutes)
-C CRITICAL MAX uptime (minutes)
-W WARNING MAX uptime (minutes)
-V Version
Поэтому я попытался реализовать этот плагин как на сервере nagios linux, так и на клиенте linux. Я в основном хочу, чтобы плагин запускался на удаленном компьютере с именем машина1 в формате
check_uptime -w 15 -c 30
Плагин отлично работает как на сервере, так и на клиенте. Плагин также существует для них обоих в / usr / local / nagios / libexec / check_uptime.
Вот мои настройки:
На сервер:
Я добавил следующее к /usr/local/nagios/etc/objects/commands.cfg
# 'check_uptime' command definition for linux hosts
define command{
command_name check_uptime
command_line $USER1$/check_uptime -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$
}
Я добавил следующее к /usr/local/nagios/etc/objects/hosts/machine1.cfg:
define service{
use generic-service
host_name machine1
service_description Uptime
check_command check_uptime
}
На машина1:
Я добавляю это к /usr/local/nagios/etc/nrpe.cfg:
command[check_uptime]=/usr/local/nagios/libexec/check_uptime -w 15 -c 30
Затем я тестирую конфигурацию на сервере, выполнив:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
И я получаю 0 предупреждений и 0 ошибок, но в консоли Nagios служба отображается как неизвестная.
Что мне не хватает?
Спасибо, парни!
Nver mind. Я понял.
Похоже, мне нужно вызвать check_nrpe в /usr/local/nagios/etc/objects/hosts/machine1.cfg следующим образом:
define service{
use generic-service
host_name machine1
service_description Uptime
check_command check_nrpe!check_uptime
}
Изменить: также похоже, что команду check_uptime не следует вызывать с параметром -H $ HOSTADDRESS $ в commands.cfg на стороне сервера. Как только он будет удален, он будет работать на сервере.
Надеюсь, это поможет кому-то другому.
Просто подумал, что положу свои два цента, я использую Nagios Core 4.08, а в моем commands.cfg
file я использовал его так:
# comment: `check_uptime` this is to check system up time on linux boxes
define command {
command_name check_uptime
command_line $USER1$/check_uptime
}
Тогда в host1.cfg
Я сделал следующее:
# comment: Check uptime of the server
define service{
use local-service
host_name host1
service_description Uptime
check_command check_uptime
}
Результат был такой:
Uptime
OK 06-23-2015 07:52:48 0d 0h 4m 19s 1/4 Uptime OK: 7 day(s) 23 hour(s) 5 minute(s)
Так что с помощью простого добавления это сработало для меня. Надеюсь, это поможет всем. Прошу прощения, я не знаю, как это отформатировать.