В этом разделе представлен пошаговый пример из реальной жизни того, как можно использовать веб-мониторинг.
Давайте используем веб-мониторинг Zabbix для мониторинга веб-интерфейса Zabbix. Мы хотим знать доступен ли он, предоставляет ли нужный контент и как быстро работает. Для этого мы также должны войти в систему под нашим именем пользователя и паролем.
Добавьте новый веб-сценарий.
Мы добавим сценарий для мониторинга веб-интерфейса Zabbix. Сценарий будет выполнять ряд шагов.
Перейдите в Настройка → Узлы сети, выберите узел сети и нажмите Веб в строке этого узла сети. Затем нажмите Создать веб-сценарий.
Все обязательные поля ввода отмечены красной звездочкой.
В новой форме сценария мы назовем сценарий Zabbix frontend. Мы также создадим две переменные: {user} и {password}.
На вкладке Теги вы также можете добавить новый тег Application:Zabbix frontend.
Задайте шаги для сценария.
Нажмите кнопку Добавить на вкладке Шаги, чтобы добавить отдельные шаги.
Шаг 1 веб-сценария
Мы начинаем с проверки того, что первая страница отвечает правильно, возвращает код ответа HTTP 200 и содержит текст "Zabbix SIA".
Закончив настройку шага, нажмите Добавить.
Шаг 2 веб-сценария
Мы продолжаем, регистрируясь в веб-интерфейсе Zabbix, и мы делаем это с помощью повторного использования макросов (переменных), которые мы определили на уровне сценария — {user} и {password}.
Обратите внимание, что веб-интерфейс Zabbix использует перенаправление JavaScript при входе в систему, поэтому сначала мы должны зарегистрироваться в системе, и только в дальнейших шагах мы можем проверить функции, доступные после входа. Кроме того, шаг регистрации должен использовать полный URL файла index.php.
Обратите также внимание на то, как мы получаем содержимое переменной {sid}
(идентификатор сеанса), используя синтаксис переменной с регулярным выражением: regex:name="csrf-token" content="([0-9a-z]{16})"
. Эта переменная потребуется на шаге 4.
Шаг 3 веб-сценария
Войдя в систему, мы должны теперь проверить этот факт. Для этого мы проверяем наличие строки, которая видна только после входа в систему, например, Administration.
Шаг 4 веб-сценария
Мы убедились, что интерфейс доступен, мы можем войти в систему и получить содержимое, доступное авторизованным пользователям; теперь мы также должны выйти из системы, иначе база данных Zabbix будет наполнена большим количеством записей об открытых сессиях.
Шаг 5 веб-сценария
Мы также можем проверить, что мы вышли из системы, выполнив поиск строки Username.
Полная конфигурация шагов
Полная конфигурация шагов веб-сценария должна выглядеть следующим образом:
For each step described below, fill out the following fields in addition to the step-specific fields:
Check that the first page responds correctly, returns HTTP response code 200 and contains the text "Zabbix SIA".
When done configuring the step, press the Add button.
Log in to the Zabbix frontend using the macros (variables) defined at the scenario level - {user} and {password}.
Note that Zabbix frontend uses JavaScript redirect when logging in, so login must occur first, and logged-in features can be checked only in further steps. Additionally, the login step must use the full URL to index.php file.
After logging in, verify success by checking for a string visible only when logged in - for example, Administration.
Once the frontend's accessibility and login have been verified, add a logout step - otherwise the Zabbix database will become cluttered with many open session records.
This step uses the variable {csrf_token} obtained in step 2
To confirm the logout, check for the Username string.
A complete configuration of web scenario steps should look like this:
Сохраните готовый сценарий веб-мониторинга.
Сценарий будет добавлен на узел сети. Чтобы просмотреть информацию о веб-сценарии перейдите в Мониторинг → Узлы сети, найдите узел сети в списке и нажмите на ссылку Веб в последней колонке.
Чтобы увидеть более подробную статистику, нажмите на название сценария: