Я хочу использовать плагин Nagios check_dns
, поэтому, когда я смотрю на определение команды,
define command {
command_name check_dns
command_line $USER1$/check_dns -H $HOSTADDRESS$ -s $NAMESERVERHOSTADDRESS$ -a $EXPECTEDIPADDRESS$
}
я вижу это $NAMESERVERHOSTADDRESS$
это не стандартный макрос, поэтому я не уверен, что ставить как command_line
и что добавить в определение услуги.
define service {
use generic-service
name check_dns
host_name ns.example.com
service_description Checks DNS
check_command check_dns
contact_groups linux-admins
}
Цель состоит в том, чтобы позволить хосту монитора Nagios запрашивать ns.example.com
искать test.example.com
чтобы увидеть, разрешается ли разрешение на ожидаемый IP.
Вопрос
Стоит ли заменить / hardcode $NAMESERVERHOSTADDRESS$
в определении команды со значением, которое я хочу?
Или значение $NAMESERVERHOSTADDRESS$
быть определенным в определении услуги? И если да, то как?
У меня на сервере нет такого определения. Вы можете изменить определение, чтобы использовать $ARGn$
лайк:
define command {
command_name check_dns
command_line $USER1$/check_dns -H $HOSTADDRESS$ -s $ARG1$ -a $ARG2$
}
Затем вы можете использовать определение службы, например:
define service {
use generic-service
name check_dns
host_name ns.example.com
service_description Checks DNS
check_command check_dns!name_server!expected_address
contact_groups linux-admins
}
Вам нужно заменить name_server
и expected_address
с фактическими значениями.