Реальный сценарий
Обзор
В этом разделе приведен пошаговый практический пример того, как можно использовать веб-мониторинг.
Веб-мониторинг Zabbix будет использоваться для мониторинга веб-интерфейса Zabbix. Цель состоит в том, чтобы определить, доступен ли он, предоставляет ли правильное содержимое и насколько быстро работает. Для этого требуется выполнить несколько шагов, включая проверку доступности первой страницы, вход в систему с именем пользователя и паролем, подтверждение успешного входа, выход из системы и подтверждение выхода.
Сценарий
Добавление нового веб-сценария
- Перейдите в Сбор данных > Узлы сети.
- Выберите узел сети и нажмите Web в строке этого узла сети.
- Нажмите Создать веб-сценарий.

-
В форме нового сценария на вкладке Сценарий заполните следующие поля:
- Имя: Frontend check.
- Интервал обновления: 1m.
- Попытки: 1.
- Агент: Zabbix.
В разделе Переменные добавьте следующие пары имя-значение: {user}: ваши существующие учетные данные пользователя Zabbix;{password}: ваши существующие учетные данные пользователя Zabbix.
В целях безопасности рекомендуется создать отдельного пользователя с минимальными правами для использования в мониторинге.
При необходимости перейдите на вкладку Теги и добавьте теги веб-сценария.
Теги веб-сценария можно использовать для быстрого определения связанных элементов данных и триггеров или для поиска по собранным данным.
Например, подходящими тегами для этого руководства будут component: web-scenario и/или target: frontend.
Настройка шагов веб-сценария
Перейдите на вкладку Steps и задайте шаги для сценария.
После настройки каждого шага нажмите кнопку Add.
Обратите внимание, что веб-интерфейс Zabbix использует перенаправление JavaScript при входе в систему, поэтому вход должен выполняться первым, а функции, доступные только после входа, можно проверять только на последующих шагах. Кроме того, шаг входа должен использовать полный URL к файлу index.php.
Общие поля для всех шагов
Помимо полей, специфичных для каждого шага, заполните следующие общие поля для каждого шага, описанного ниже:
- URL: URL веб-интерфейса Zabbix (
http://<server_ip_or_name>/zabbix/index.php(для Apache) илиhttp://<server_ip_or_name>/index.php(для Nginx)). Для шага 3 сценария веб-проверки используйте другой URL, как описано ниже. - Timeout: 15s.
- Required status codes: 200.
Шаг 1 веб-сценария
Проверьте, что первая страница отвечает корректно, возвращает код состояния HTTP 200 и содержит текст Zabbix SIA.
Заполните следующие поля:
- Имя: Первая страница.
- Тайм-аут: 15s.
- Обязательная строка: Zabbix SIA.
- Общие поля для всех шагов.

Шаг 2 веб-сценария
Войдите в веб-интерфейс Zabbix, используя макросы (переменные), определенные на вкладке Сценарий: {user} и {password}.
Заполните следующие поля:
- Name: Login.
- В разделе Post fields добавьте следующие пары имя-значение:
- name:
{user}; - password:
{password}; - enter: Sign in.
- name:
- Общие поля для всех шагов.
Установите флажок Follow redirects.

Шаг 3 веб-сценария
После входа в систему проверьте успешность, выполнив поиск строки, видимой только после входа, например, Administration.
Заполните следующие поля:
- Name: Login check.
- URL: URL, на который пользователь перенаправляется после входа в систему (например, http://127.0.0.1/zabbix/zabbix.php?action=dashboard.view).
- В разделе Variables добавьте пару имя-значение
{csrf_token}:regex:([0-9a-z]{64}). Эта переменная будет перехватывать значение назначенного CSRF-токена для повторного использования в шаге 4 веб-сценария. - Required string: Administration.
- Общие поля для всех шагов.

Шаг 4 веб-сценария
После того как доступность веб-интерфейса и вход в систему будут проверены, добавьте шаг выхода из системы — в противном случае база данных Zabbix будет засорена множеством открытых записей сеансов.
Заполните следующие поля:
- Name: Logout.
- В разделе Post fields добавьте следующие пары имя-значение:
- reconnect: 1;
- _csrf_token:
{csrf_token}.
- Общие поля для всех шагов.
Установите флажок Follow redirects.
В этом шаге используется переменная {csrf_token}, полученная на шаге 3 веб-сценария.

Шаг 5 веб-сценария
Чтобы подтвердить выход из системы, проверьте наличие строки Username.
Заполните следующие поля:
- Name: Logout check.
- Required string: Username.
- Общие поля для всех шагов.

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

Проверьте результаты
Сохраните завершенный сценарий веб-мониторинга.
Когда веб-сценарий создан, для мониторинга автоматически добавляются новые элементы данных веб-мониторинга.
Сценарий будет добавлен к узлу сети. Чтобы просмотреть информацию о веб-сценарии, перейдите в Monitoring > Hosts, найдите узел сети в списке и нажмите гиперссылку Web в последнем столбце.

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