Я очень новичок в nagios и пытаюсь получить индивидуальную команду, чтобы подчиняться моей воле.
Я просмотрел различные примеры и не могу найти никого, кто бы добавил макрос $ HOSTADDRESS $, поэтому, возможно, мне придется пойти по другому пути, но мне нужно передать аргумент команде, который выглядит примерно так:
HOST_ADDRESS/StatusCheck?auth=secretKey
Вот пример, который работает (только для 1 хоста)
define service {
use generic-service
hostgroup_name my-hostgroup
service_description my custom check
check_command check_custom_status!http://example.com/StatusCheck?auth=secretKey
}
Очевидно, это не работает для меня, поскольку он проверяет только один хост (в данном случае example.com).
Вот пример, который не работает, но я бы хотел, чтобы он работал, могу ли я немного изменить синтаксис, чтобы заставить его работать?
define service {
use generic-service
hostgroup_name my-hostgroup
service_description my custom check
check_command check_custom_status!$HOSTADDRESS$/StatusCheck?auth=secretKey
}
(не проверяет /StatusCheck
страница). Как добавить макрос $ HOSTADDRESS $?
Я надеюсь, что это действительно легко исправить, извиняюсь, если я пропустил что-то очень простое.
Определение команды
define command {
command_name check_custom_status
command_line $USER1$/check_custom_status.pl -U $ARG1$
}
Мой скрипт perl принимает единственный параметр url (-U
)
Вы не используете макросы в определениях хостов и служб. Вы бы поставили $HOSTADDRESS$
макрос в определении команды, если вы хотите его использовать.
В $HOSTADDRESS$
макрос уже доступен для выполняемой команды вместе с десятками других макросов, потому что Nagios знает, с каким хостом / службой связана команда.
В вашем случае вы, вероятно, захотите что-то такое, где вы передаете ключ аутентификации как ARG1:
define command {
command_name check_custom_status
command_line $USER1$/check_custom_status.pl -U http://$HOSTADDRESS$/StatusCheck?auth=$ARG1$
}
Увидеть Макросы и как они работают и Список доступных макросов docs, чтобы понять, как все это работает.