#https #monitoring #nagios
#https #мониторинг #nagios
Вопрос:
Простой вопрос, на который я уже потратил часы на поиск ответа: следующая проверка HTTP не работает, несмотря на то, что ее достоверность может быть доказана: ./check_http --sni -H www.wikimedia.de -u /ueber-uns/ -S -s "cli-privacy-readmore"
Проверьте это, посетив исходный код и выполнив поиск по нему: https://www.wikimedia.de/ueber-uns /.
Подробный переключатель дает больше информации, хотя на этом мои знания заканчиваются:
> ./check_http --sni -H www.wikimedia.de -u /ueber-uns/ -S -s "cli-privacy-readmore" -v | grep cli-privacy-rea -A2 -n
1348: <a class="cli-privacy-rea
1349-3000
1350-dmore" data-readmore-text="Zeig mehr" data-readless-text="Zeige weniger"></a> </div>
Почему в нем есть 3000 (в строке 1349)? Я уже выяснил, что он шестнадцатеричный и каким-то образом используется для оценки длины. Но ни взгляд внутрь tcpdump (значение каким-то образом передается или добавляется впоследствии к пакетам), ни тест с другими переменными (другой шлюз, ОС, сайт) не приближают меня к решению.
Кто-нибудь может мне помочь?
Редактировать:
Проверено на:
- Archlinux check_http v2.3 (мониторинг-плагины 2.3)
- Ubuntu 18.04 check_http v2.2 (мониторинг-плагины 2.2)
Комментарии:
1. Каков результат этой проверки? Что именно не работает?
Ответ №1:
Ваша проблема не воспроизводима.
# check_http --version
check_http v2.3.3 (nagios-plugins 2.3.3)
# check_http --sni -H www.wikimedia.de -u /ueber-uns/ -S -s "cli-privacy-readmore" -v | grep cli-privacy-rea -A2 -n
1340: <a class="cli-privacy-readmore" data-readmore-text="Zeig mehr" data-readless-text="Zeige weniger"></a> </div>
1341- </div>
1342- <div class="cli-col-12 cli-align-items-stretch cli-px-0 cli-tab-section-container">
# check_http --sni -H www.wikimedia.de -u /ueber-uns/ -S -s "cli-privacy-readmore"
HTTP OK: HTTP/1.1 200 OK - 95466 bytes in 0.375 second response time |time=0.375144s;;;0.000000 size=95466B;;;0
Попробуйте более новую версию плагина.
редактировать: вам также может не понадобиться использовать плагин Nagios для этого, поскольку это довольно простой вариант использования, если вам не нужны perfdata или аналогичные, вы можете просто сделать это:
# curl --silent https://www.wikimedia.de/ueber-uns/ | grep -q "cli-privacy-readmore" ; echo $?
0
# curl --silent https://www.wikimedia.de/ueber-uns/ | grep -q "banana" ; echo $?
1
Комментарии:
1. Спасибо за подсказку с использованием curl. Думаю, я буду придерживаться этого. Я думаю, вы правы. Результат не очень воспроизводимый. После вашего ответа я снова проверил веб-сайт, и, похоже, что-то изменилось. Цифры в тексте переместились. Если вы просмотрите вывод check_http -v, вы их заметите.