Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

2 Сценарий из реальной жизни

Обзор

В этом разделе представлен пошаговый пример из реальной жизни того, как можно использовать веб-мониторинг.

Давайте используем веб-мониторинг Zabbix для мониторинга веб-интерфейса Zabbix. Мы хотим знать доступен ли он, предоставляет ли нужный контент и как быстро работает. Для этого мы также должны войти в систему под нашим именем пользователя и паролем.

Сценарий

Шаг 1

Добавьте новый веб-сценарий.

Мы добавим сценарий для мониторинга веб-интерфейса Zabbix. Сценарий будет выполнять ряд шагов.

Перейдите в Настройка → Узлы сети, выберите узел сети и нажмите Веб в строке этого узла сети. Затем нажмите Создать веб-сценарий.

Все обязательные поля ввода отмечены красной звездочкой.

В новой форме сценария мы назовем сценарий Zabbix frontend. Мы также создадим две переменные: {user} и {password}.

На вкладке Теги вы также можете добавить новый тег Application:Zabbix frontend.

Шаг 2

Задайте шаги для сценария.

Нажмите кнопку Добавить на вкладке Шаги, чтобы добавить отдельные шаги.

Шаг 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.

Полная конфигурация шагов

Полная конфигурация шагов веб-сценария должна выглядеть следующим образом:

Common fields

For each step described below, fill out the following fields in addition to the step-specific fields:

  • URL - the URL of Zabbix frontend
  • Timeout - 15s
  • Required status codes - 200
Web scenario step 1

Check that the first page responds correctly, returns HTTP response code 200 and contains the text "Zabbix SIA".

  • In the Name field, enter First page.
  • In the Required string field, enter Zabbix SIA.
  • Fill out the common fields.

When done configuring the step, press the Add button.

Web scenario step 2

Log in to the Zabbix frontend using the macros (variables) defined at the scenario level - {user} and {password}.

  • In the Name field, enter Login.
  • In the Post fields section, add three post fields:
    • name with value {user}
    • password with value {password}
    • enter with value Sign in
  • In the Variables section, add a new variable {csrf_token} with value regex:([0-9a-z]{64}). This variable will catch the value of the assigned CSRF token to reuse in step 4.
  • Fill out the common fields.

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.

Web scenario step 3

After logging in, verify success by checking for a string visible only when logged in - for example, Administration.

  • In the Name field, enter Login check.
  • In the Required string field, enter Administration.
  • Fill out the common fields.

Web scenario step 4

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.

  • In the Name field, enter Logout.
  • In the Post fields section, add two post fields:
    • reconnect with value 1
    • _csrf_token with value {csrf_token}.
  • Fill out the common fields.

This step uses the variable {csrf_token} obtained in step 2

Web scenario step 5

To confirm the logout, check for the Username string.

  • In the Name field, enter First page.
  • In the Required string field, enter Username.
  • Fill out the common fields.

Full configuration of steps

A complete configuration of web scenario steps should look like this:

Шаг 3

Сохраните готовый сценарий веб-мониторинга.

Сценарий будет добавлен на узел сети. Чтобы просмотреть информацию о веб-сценарии перейдите в Мониторинг → Узлы сети, найдите узел сети в списке и нажмите на ссылку Веб в последней колонке.

Чтобы увидеть более подробную статистику, нажмите на название сценария: