# ИЗ КОМАНДНОЙ СТРОКИ ЭТО РАБОТАЕТ (обратите внимание на аргументы "-a"):
./check_nrpe -p 12490 -H 10.246.107.167 -t 120 -c simple_add2 -a 4 56
## потому что в NSC.INI есть это:
simple_add2=perl scripts\simple_add2.plx -m $ARG1$ -n $ARG2$
# НО аргумент "-n" является необязательным, поэтому я хочу иметь возможность вызывать simple_add2 в любом случае:
./check_nrpe -p 12490 -H 10.246.107.167 -t 120 -c simple_add2 -a -m 4 -n 56
./check_nrpe -p 12490 -H 10.246.107.167 -t 120 -c simple_add2 -a -m 4
# ВОТ МОЯ ТЕКУЩАЯ КОМАНДА И УСЛУГА:
Я не хочу создавать две разные команды и два разных списка внешних скриптов для одной и той же команды просто потому, что я хочу вызвать ее с аргументом -n или без него ... просто представьте, если бы я написал скрипт с несколькими необязательными аргументами ключевого слова. Взрыв команд и внешних скриптов будет комбинаторным.
define command {
command_name add_numbers_service
command_line $USER1$/check_nrpe -p 12490 -H $HOSTADDRESS$ -u -t 90 -c \
simple_add_pln -a $ARG1$ $ARG2$
}
define service {
host_name awswinserver
service_description simple-addition-test
check_command add_numbers_service!4!5
use generic-service
}
Я упоминаю об этом только потому, что очень долго не осознавал этого; В $ ARG1 $ может быть довольно много всего. Вы учли:
simple_add2=perl scripts\simple_add2.plx -m $ARG1$
define command {
command_name add_numbers_service
command_line $USER1$/check_nrpe -p 12490 -H $HOSTADDRESS$ -u -t 90 -c \
simple_add_pln -a $ARG1$
}
define service {
host_name awswinserver
service_description simple-addition-test-1
check_command add_numbers_service!4
use generic-service
}
define service {
host_name awswinserver
service_description simple-addition-test-2
check_command add_numbers_service!4 -n 56
use generic-service
}