Я выполняю Shinken и имею пакет, который включает несколько команд, которые запускают скрипты удара на контролируемом хосте через NRPE. У меня есть проверка на хосте, который запускает скрипт удара, который берет 4 параметра. То, когда это выполняет только 1 из этих 4 параметров, я передаю в commands.cfg, добирается до хоста к использованию сценарием.
Я искал вокруг много по этой проблеме и не смог найти решение. Из того, что я считал большинство трудных людей отчет с передающими параметрами к основе NRPE от не наличия "dont_blame_nrpe" набор правильно или от не наличия nrpe скомпилированный с поддержкой параметров. Дело обстоит не так для моей ситуации. dont_blame_nrpe установлен на 1, и модуль был скомпилирован с поддержкой параметра. Кроме того, у меня есть проверка на том же хосте (настроенный в том же пакете), который берет единственный параметр и работает просто великолепно.
Вот мой commands.cfg в пакете:
define command {
command_name check_nrpe
command_line $PLUGINSDIR$/check_nrpe -u -H $HOSTADDRESS$ -c $ARG1$ -a '$ARG2$ $ARG3$ $ARG4$ $ARG5$'
}
Я также попробовал вышеупомянутое двойными кавычками вокруг полного набора аргументов и двойными кавычками вокруг каждого отдельного аргумента. Я получаю тот же результат несмотря ни на что.
И сервисное определение:
define service{
service_description check-worker-count
use generic-service
register 0
host_name nrpe-pack
check_command check_nrpe!check-worker-count!worker-name!12!90!80
}
И/etc/nrpe.d/check-worker-count.cfg на хосте:
command[check-worker-count]=/usr/lib64/nagios/plugins/check_worker_count.sh -n $ARG1$ -p $ARG2$ -w $ARG3$ -c $ARG4$
У меня есть сценарий на $ вывода хоста* в самом начале, и вот то, что это получает:
- n имя рабочего-p-w-c
Сравните с выполнением сценария локально с параметрами, переданными в командной строке:
- n имя рабочего-p 12-w 90-c 80
Не беспокойтесь о разделении всех -a ARG на отдельные ARG в Nagios conf. Вы сведете себя с ума цитатами. Для простоты сделайте свою command_line
чем-то вроде:
$PLUGINSDIR$/check_nrpe -u -t 30 -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
А затем используйте это так:
check_command check_nrpe!check-worker-count!worker-name 12 90 80
По крайней мере, так вы бы сделали это в Nagios / Icinga. То же должно быть и для Синкена.