Zabbix - мониторинг Web приложений
Реклама
Доступен сайт или нет? Инженер проверит за секунду командой ping! А если ping говорит что “все в порядке”, а пользователи жалуются? Значит случилось что-то более сложное, и инженеру придется запустить браузер, ввести в адресной строке имя сайта и посмотреть на результат “глазами”. Возможно проблема еще дальше, и нужно “залогиниться” и проверить работу сайта изнутри. А можно ли узнать о проблеме раньше, чем начнут жаловаться пользователи? Конечно, ведь есть системы мониторинга, и Zabbix - одна из лучших, может быть настроена на мониторинг любых составляющих сайта - сети, дисков, памяти, процессов приложения, баз данных и всего прочего! Но, в такой длинной цепочке можно что-то упустить… А можно ли сделать так, что бы Zabbix проверял работу сайт прямо так, как это делают пользователи - “глазами”, и сообщал инженерам о проблемах? ДА, и об этом наш вебинар!
Техническое задание
Запись вебинара
Методическая подготовка
Шаг 0. Удаление предыдущих экспериментов
# rm -r /var/www/html/asterisk/
Шаг 1. Пример Web приложения, методы GET и POST
...
... method=POST
...
...
$clientphone=$_POST['phone'];
...
Шаг 2. Инструменты разработчика в браузере
Шаг 3. Мониторинг RoundCube
Исследование работы приложения
-
типы запросов, поля форм, токены, редиректы, …
Шаг 4. Мониторинг GitLab
gitlab corp13
{login} student
{password} Pa$$w0rd
First page
http://server.corp13.un/users/sign_in
{token1} regex:name="csrf-token" content="(.{86})"
Required string: Sign in
Log in
http://server.corp13.un/users/sign_in
authenticity_token {token1}
user[login] {login}
user[password] {password}
user[remember_me] 0
{token2} regex:name="csrf-token" content="(.{86})"
Follow redirects
Required string: Sign out
Log out
http://server.corp13.un/users/sign_out
_method post
authenticity_token {token2}
Required string: Sign in # Не заработало, возвращает пустую страницу
Required status codes: 200 # и код 204
Шаг 5. Отладка Web сценариев в Zabbix
Name: debug
URL: http://127.0.0.1/token2/{token2}
Required string: not existing string
Required status codes: 404