Я пытаюсь использовать icinga2, чтобы убедиться, что определенные "канареечные" веб-страницы обслуживаются правильно. Следующая команда отлично работает в терминале:
/usr/lib64/nagios/plugins/check_http -f follow -H target -u /tomcat_test
HTTP OK: HTTP/1.1 200 OK - 9381 bytes in 0.446 second response time |time=0.446154s;;;0.000000 size=9381B;;;0`
Если я создам настраиваемое правило с этим шаблоном, настраиваемые переменные отображаются на экране правильно, но проверка завершается ошибкой
Name or service not known
HTTP CRITICAL - Unable to open TCP socket`
Что вызывает сбой при запуске в производство следующего?
object CheckCommand "check_hosted_pages" {
import "migration-check-command"
command = "/usr/lib64/nagios/plugins/check_http -f follow -H $vars.fqdn$ -u $vars.page$"
}
apply Service "check_hosted_pages" for (page in host.vars.WEBPAGES) {
import "generic-service"
display_name = "Web pages"
check_command = "check_hosted_pages"
vars.fqdn = host.name + "." + host.vars.DOMAIN
vars.page = page
}
После некоторых проб и ошибок ответ оказался синтаксической проблемой в команде проверки.
command = "/usr/lib64/nagios/plugins/check_http -f follow -H $vars.fqdn$ -u $vars.page$"
должно было
command = "/usr/lib64/nagios/plugins/check_http -N -H $fqdn$ -u $page$"