ZABBIX 1.8 Russian – 9 Веб мониторинг

Please Like Us!!!

9 Веб мониторинг

1 Предназначение

Поддержка так называемого Веб мониторинга в Zabbix разработана для достижения следующих целей:

  • Мониторинг производительности веб-приложений.
  • Мониторинг доступности веб-приложений.
  • Поддержка HTTP и HTTPS.
  • Поддержка сложных сценариев, состоящих из многих шагов (HTTP запросов).
2009/12/13 13:00
· dotneft

2 Обзор

Zabbix обеспечивает эффективный и очень гибкий Веб мониторинг. Модуль осуществляет периодическое выполнение Веб сценариев и сохраняет полученные данные в базе данных. Эти данные автоматически используются для графиков, триггеров и оповещений.

Следующая информация будет получена после каждого шага Веб сценария:

  • Время отклика
  • Скорость загрузки в секунду
  • Код ответа

Zabbix также проверяет имеет ли возвращенная HTML страница предопределенные строки.

Zabbix Веб мониторинг поддерживает HTTP и HTTPS.

При выполнении Веб-сценария, Zabbix сервер всегда следует перенаправлениям.

Для использования HTTP прокси, установите переменную среды http_proxy для пользователя, под которым запускается Zabbix сервер. Например, http_proxy=http://proxy_ip:proxy_port.

2009/12/13 13:03
· dotneft

3 Веб сценарий

Сценарий это набор HTTP запросов (шагов), которые будет периодически выполнять Zabbix сервер. Обычно сценарии делаются для одной конкретной части функциональности Веб приложения. Сценарии представляют собой весьма удобный способ мониторинга за ощущениями пользователя.
Веб сценарий для группировки связан с группой элементов данных у узла сети.
Веб сценарий периодически выполняется и состоит из одного или более шагов.
Все кукисы (cookies) запоминаются на протяжении выполнения одного сценария.

Пример 1

Мониторинг графического интерфейса Zabbix

Если мы хотим мониторить доступность и производительность веб-интерфейса Zabbix, мы должны осуществить вход в систему, проверить насколько быстро отображаются страницы Обзор и Триггеры и затем осуществить выход из системы.

Сценарий может иметь следующие шаги:

  1. Вход в систему
  2. Переход на экран обзор
  3. Переход на экран состояния триггеров
  4. Выход из системы

Если шаг не удалось выполнить, тогда выполнение сценария прерывается.

Параметр Описание
Группа элементов данных Веб сценарий будет связан с этой группой элементов данных. Группа элементов данных данных должна существовать.
Например: Zabbix Server
Имя Имя Веб сценария.
Имя появится в Мониторинг→Веб
Например: Zabbix GUI
Простая аутентификация Использовать или нет простую аутентификацию для доступа на страницы.
Нет: не использовать простую аутентификацию.
Простая аутентификация: использовать простую аутентификацию.
Пользователь При включенной простой аутентификации требуется ввести пользователя для доступа к страницам.
Пароль При включенной простой аутентификации требуется ввести пароль для доступа к страницам.
Интервал обновления Как часто сценарий будет выполняться, в секундах.
Например: 60
Агент Zabbix будет представляться выбранным браузером. Полезно для мониторинга Веб сайтов, которые генерируют различное содержимое для разных браузеров.
Например: Opera 9.02 в Linux.
Состояние Активен: активирование сценария для его выполнения
Деактивирован: отключение сценария, он не будет выполнятся.
Переменные Список макросов, которые будут использоваться при настройке шагов.
Синтакис:
{макрос}=значение
Макрос {макрос} будет заменен на “переменную” в URL шагов или в переменных POST.
Например:
{user}=guest
{password}=guest
Шаги Шаги сценария.

Как только сценарий будет создан, Zabbix автоматически добавляет следующие элементы данных для мониторинга и связывает их с группой элементов данных. Фактическое имя сценария будет использовано вместо “Сценарий”.

Элемент данных Описание
Скорость загрузки для сценария 'Сценарий' Этот элемент данных будет собирать информацию о скорости загрузки (байт в секунду) всего сценария, т.е. средний показатель для всех шагов.
Ключ элемента данных: web.test.in[Scenario,,bps]
Тип: Числовой (с плавающей точкой)
Неуспешный шаг у сценария 'Сценарий' Этот элемент данных сохраняет количество неуспешных шагов в сценарии. Если все шаги в сценарии выполнены успешно, то возвращается 0.
Ключ элемента данных: web.test.fail[Scenario]
Тип: Целочисленный

При добавлении элементов данных веб-мониторинга им устанавливается 30-дневный срок хранения истории и 90-дневный срок хранения тенденций.

Эти элементы данных могут быть использованы для создания триггеров и для определения условий оповещения.

Пример 1

Триггер “WEB scenario failed”

Выражение триггера может быть определено как:

{host: web.test.fail[Scenario].last(0)}#0

Не забудьте заменить Scenario на реальное название вашего сценария.

Пример 2

Триггер “WEB application is slow”

Выражение триггера может быть определено как:

{host: web.test.in[Scenario,,bps].last(0)}<10000

Не забудьте заменить Scenario на реальное название вашего сценария.

2009/12/13 13:04
· dotneft

4 Шаг Веб сценария

Шаг по своей сути это HTTP запрос. Шаги выполняются в заранее определенном порядке.

Параметр Описание
Имя Имя для шага.
Например: Login
URL URL
Например: www.zabbix.com
Post Переменные для HTTP POST, если необходимо.
Например:
id=2345&userid={user}
Если {user} определено как макрос в Веб сценарии, тогда это определение будет заменено на его значение при выполнении шага.
Информация будет отправлена как есть.
Время ожидания Не тратить больше времени чем Время ожидания на выполнение шага. Фактически этот параметр задает максимальное время на соединение с URL и максимальное время на ожидание ответа на HTTP запрос. Следовательно, Zabbix не будет тратить времени больше чем 2 x Время ожидания на шаг.
Например: 15
Требуется Строка (задается как расширенное регулярное выражение POSIX) должна присутствовать в возвращенном содержимом.
Иначе шаг считается не успешным. Если пусто, тогда любое содержимое будет считаться успешным.
Например: Homepage of Zabbix
Коды состояний Список кодов HTTP состояний, которые будут считаться успешными. Если возвращенный код состояния не присутствует в этом списке, тогда шаг будет считаться не успешным.
Если пусто, тогда любой код будет считаться успешным.
Например: 200,210

Как только шаг будет создан, Zabbix автоматически добавляет соответствующие элементы данных для мониторинга и привязывает их к выбранной группе элементов данных. Фактические имя сценария и имена шагов будут использоваться вместо понятий “Сценарий” и “Шаг” соответственно.

Элемент данных Описание
Скорость загрузки для шага 'Шаг' из сценария 'Сценарий' Этот элемент данных собирает информацию о скорости загрузки (байт в секунду) для указанного шага.
Элемент данных: web.test.in[Сценарий,Шаг,bps]
Тип: Числовой (с плавающей точкой)
Время ответа для шага 'Шаг' из сценария 'Сценарий' Этот элемент данных собирает информацию о времени ответа в секундах для указанного шага. Время ответа считается от начала отправки запроса до окончания получения всей передаваемой информации.
Элемент данных: web.test.time[Сценарий,Шаг]
Тип: Числовой (с плавающей точкой)
Код ответа для шага 'Шаг' из сценария 'Сценарий' Этот элемент данных собирает информацию о возвращенных кодах ответа для указанного шага.
Элемент данных: web.test.rspcode[Сценарий,Шаг]
Тип: Числовой (целое положительное)

При добавлении элементов данных Веб мониторинга им устанавливается 30-дневный срок хранения истории и 90-дневный срок хранения тенденций.

Эти элементы данных могут быть использованы для создания триггеров и определения условий оповещения.

Пример 1

Триггер “Zabbix GUI login is too slow”

Выражение триггера может быть определено как:

{zabbix: web.test.time[ZABBIX GUI,Login].last(0)}>3
2009/12/13 16:59
· dotneft

5 Реальный сценарий из жизни

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

Шаг 1

Добавление новой группы элементов данных к узлу сети.

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

Этот шаг не потребуется, если у вас уже есть подходящие группы элементов данных. Вы так же можете создать узел сети, если он еще не существует.

Шаг 2

Добавление нового веб сценария.

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

В форме нового сценария нажмите на Выбрать затем выберите группу элементов данных, которую мы создали.

Обратите внимание, что мы также создаем два макроса, {user} и {password}.

Шаг 3

Определение шагов для сценария.

Нажмите кнопку Добавить в разделе Шаги для добавления индивидуальных шагов.

Веб сценарий шаг 1

Начнем с проверки того, что первая страница отвечает правильно, возвращая код ответа HTTP 200 и содержит текст “SIA Zabbix”.

После завершения настройки этого шага, нажмите Добавить.

Веб сценарий шаг 2

Мы продолжаем, осуществляя вход в веб-интерфейс Zabbix, мы используем для этого макросы (переменные) {user} и {password}, которые мы определили на уровне сценария.

Заметьте, что в интерфейсе Zabbix используется JavaScript перенаправление при входе в интерфейс, поэтому первый шагом мы должны сделать вход в систему, и только в дальнейших шагах мы можем осуществлять проверки, требующие авторизованной сессии. К тому же, шаг входа в систему должен выполняться используя полный URL к файлу index.php.

Все передаваемые переменные должны быть в одной строке и должны быть связаны символом &. Пример строки для входа в интерфейс Zabbix:

name=Admin&password=zabbix&enter=Enter

Если использовать макросы из этого примера, то строка входа в систему будет:
name={user}&password={password}&enter=Enter

Веб-сценарий шаг 3

Войдя в систему, мы теперь должны проверить этот факт. Для этого мы проверим наличие строки, видимой только после успешного входа – например Профиль, ссылка видима в верхнем правом углу.

Веб-сценарий шаг 4

Теперь, когда мы убедились что Веб-интерфейс доступен и мы можем войти и получить содержимое страницы авторизованной сессии, также мы должны выйти из системы – в противном случае база данных Zabbix будет “засорятся” все больше и больше от записей открытых сессий.

Завершающий шаг настройки

Завершающий шаг настройки Веб сценария будет выглядеть примерно так:

Шаг 4

Сохраняем завершенный сценарий Веб мониторинга.

Список групп элементов данных и связанные сценарии будут доступны в меню Мониторинг→Веб:

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

2009/12/13 17:09
· dotneft

Data source: Zabbix

Reviews & Comments

Enjoy!