У меня есть небольшой вопрос об инструменте nagios:
Есть ли возможность отслеживать https сайты в nagios через прокси? Что означает, что я хочу отслеживать, может ли мой прокси-сервер обращаться к некоторым https-ресурсам в Интернете? Думаю, с этой командой проблем не возникнет:
/usr/lib/nagios/plugins/check_http -j CONNECT -u "https://banking.postbank.de" -S
Но у нашего сервера nagios нет прямого доступа в Интернет, и эта команда не работает .. (установлен openssl) Я думаю, что опция "-S" не работает с прокси ..:
/usr/lib/nagios/plugins/check_http -I 10.46.4.200 -p 8080 -j CONNECT -u "https://banking.postbank.de" -S
Возникает вопрос: что делать? Это какой-то check_https? или что-то вроде того? Кто-нибудь делал такую проверку?
Большое спасибо за помощь, Fake4d
сценарий это! напишите свой собственный плагин, используя wget или завиток
например:
#!/bin/bash
wget -t 5 --timeout 30 -O /dev/null -o /dev/null -e http_proxy=your.proxy:port https://www.google.com
if [ $? -eq 0 ] ; then
echo all ok
exit 0
else
echo not ok
exit 2
fi
вы, очевидно, можете расширить его, например, чтобы проверить содержимое возвращаемой страницы.
Небольшое улучшение ответа pQd:
#!/bin/bash
URL=$1
RESPONSE_CODE=${2:-200}
TIMEOUT=${3:-10}
case $RESPONSE_CODE in
401)
EXPECTED_RETURN_CODE=6
;;
200)
EXPECTED_RETURN_CODE=0
;;
*)
EXPECTED_RETURN_CODE=0
;;
esac
start=`date +%s`
wget -t 1 --timeout ${TIMEOUT} -O /dev/null -o /dev/null -e http_proxy=PUTYOURPROXYHERE:8080 ${URL}
WGET_RETURN_CODE=$?
end=`date +%s`
PERFDATA="time=$(expr ${end} - ${start})s"
if [ ${WGET_RETURN_CODE} -eq ${EXPECTED_RETURN_CODE} ] ; then
echo "HTTP OK: HTTP/1.1 ${RESPONSE_CODE} OK for ${URL}|${PERFDATA}"
exit 0
else
echo "HTTP CRITICAL: Did not receive HTTP/1.1 ${RESPONSE_CODE} for ${URL}|${PERFDATA}"
exit 2
fi
Измените прокси-сервер и назовите его так:
$ bash check_http_proxy.sh https://stackoverflow.com/ 200 3
HTTP OK: HTTP/1.1 200 OK for https://stackoverflow.com/|time=1s
or
$ bash check_http_proxy.sh http://www.httpwatch.com/httpgallery/authentication/authenticatedimage/default.aspx 401 10
HTTP OK: HTTP/1.1 401 OK for http://www.httpwatch.com/httpgallery/authentication/authenticatedimage/default.aspx|time=0s
check_http, безусловно, работает для веб-сайтов https, и '-j CONNECT' имеет важное значение, поскольку у вас уже есть, но вам также понадобится -H .. И ваш прокси-сервер настроен на сквозной https
пример:
check_http -I PROXYHOST -p PROXYPORT -H FQDN -u RELATIVE-URI -S -j CONNECT -s STRING-TO-MATCH
У меня недавно была такая же проблема, поэтому я обернул подход wget в плагин Nagios https://github.com/SimpleFinance/nagios-check-http-proxy