У меня есть следующее определение службы:
define service{
use my-service ; Name of service template to use
host_name dra
service_description https://www.example.com
check_command check_http!-I my.ip.address --ssl -H www.example.com
notifications_enabled 1
retry_check_interval 2
normal_check_interval 5
contact_groups myadmins
}
Проверка службы продолжает сбой при
Name or service not known
HTTP CRITICAL - Unable to open TCP socket
Однако, если я запускаю http_check из командной строки, я получаю 200 OKрезультат:
/usr/lib/nagios/plugins/check_http -I my.ip.address --ssl -H www.example.com -v
.....
HTTP OK: HTTP/1.1 200 OK - 9176 bytes in 0.074 second response time |time=0.073543s;;;0.000000 size=9176B;;;0
Обратите также внимание, что рассматриваемый URL-адрес прекрасно работает из браузера, сертификат действителен и т. д. Я также использую одно и то же определение службы для группы других сайтов, и все ониотлично работаетЕдинственное, о чем я могу думать, это то, что этот удаленный хост работает в DigitalOcean и ему назначен «Плавающий IP».Я попытался заменить my.ip.address
выше (а также в определении хоста в файле конфигурации nagios) либо с плавающим IP-адресом, либо со «стандартным» IP-адресом, назначенным хосту, и это не имеет значения.
Каквозможно, что та же команда не будет выполнена при запуске nagios, но будет успешной при запуске вручную?