Я написал сценарий bash для настраиваемого плагина nagios, который передает два аргумента команды для предупреждения и критического порога. Когда я запускаю сценарий bash локально при передаче двух аргументов, он работает правильно (также проверено su пользователю nrpe и также работает там). Однако, когда я запускаю его удаленно на сервере мониторинга, скрипт работает некорректно, что означает, что он не назначает надлежащим образом предупреждения и критические пороги.
Исходя из этого, я считаю, что это проблема с передачей аргументов, однако я почти уверен, что настроил ее правильно. Единственное, что я могу сказать по этому поводу, это то, что я добавил sudo к команде в nrpe.cfg на удаленном хосте.
Настройка выглядит так:
удаленный узел
/etc/nagios/nrpe.cfg
command[customcheck_bash]=/usr/bin/sudo /usr/lib/nagios/plugins/customcheck.sh --warning $ARG1$ --critical $ARG2$
сервер мониторинга
/etc/nagios3/commands.cfg
define command{
command_name customcheck_bash
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ $ARG3$
}
/etc/nagios3/conf.d/custom_server.cfg
define service {
use generic-service
host_name client
service_description Custom checker
check_command check_nrpe!customcheck_bash!10!20
}
любая помощь будет принята с благодарностью, я просмотрел бесчисленное количество сайтов для этого, но, похоже, не могу понять.
Спасибо!
наконец понял это и было очень тривиально. То, что вы предложили, помогло бы, если бы я увидел это вовремя. Но в основном проблема заключалась в этой строке:
command[customcheck_bash]=/usr/bin/sudo /usr/lib/nagios/plugins/customcheck.sh --warning $ARG1$ --critical $ARG2$
вам не нужен --warning
и --critical
флаги