Немного про мониторинг web страничек через zabbix. Собственно, zabbix умеет из коробки мониторить несколько аспектов доступности web-сайтов.
https://www.zabbix.com/documentation/5.0/ru/manual/web_monitoring
Каждым веб-сценарием собирается следующая информация:
- средняя скорость загрузки в секунду для всех шагов для всего сценария
- номер шага, который завершился с ошибкой
- последнее сообщение об ошибке
На каждом шаге веб-сценария собирается следующая информация:
- скорость загрузки в секунду
- время ответа
- код ответа
Можно использовать аутентификацию, можно отправлять POST запросы. И вот я встрял при настройке запроса с передаваемыми JSON данными для аутентификации типа:
curl --location --request POST 'https://internet-lab.ru/api/login' \
--header 'Content-Type: application/json' \
--data-raw '{
"login": "zabbix",
"password": "ПАРОЛЬ"
}'
Не работает и всё. Потом всё-таки получилось сделать. На что следует обратить внимание:
При настройке шага сценария указываем тип запроса Post type как Raw data. В поле Raw post пишем наш JSON, мне пришлось убрать переводы строк, с ними не хотело работать.
Поскольку у нас JSON, то добавляем заголовок Content-Type и в значении пишем application/json.
И ещё один момент, curl может отрабатывать без проблем, а zabbix — ни в какую. На страничке могут быть редиректы. Ставим галку Follow Redirects и радуемся. Остальные настройки такие же как при обычных web-проверках.
Очень не хватает возможности отладки, надеюсь, встроят.