Назад | Перейти на главную страницу

Если сценарий Nagios принимает ключевое слово вместо позиционных аргументов, как бы вы настроили для него Nagios?

# ИЗ КОМАНДНОЙ СТРОКИ ЭТО РАБОТАЕТ (обратите внимание на аргументы "-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
}