Создание и настройка браузерного монитора
- Latest Dynatrace
- How-to guide
Вы можете создавать синтетические браузерные мониторы для проверки доступности ваших веб-сайтов. Браузерные мониторы можно запускать из наших глобальных публичных или частных синтетических точек.
Перейдите в
Synthetic > New monitor > Browser. Настройки конфигурации разделены на следующие секции:
Пройдите все секции одну за другой и выполните все необходимые настройки в каждой секции.
Общие настройки¶
Для начала настройте общие параметры.
-
Name this monitor -- введите имя (до 500 символов) для синтетического монитора. Это имя должно в целом описывать все запросы в данном браузерном мониторе.
-
Выберите Add tag, чтобы вручную применить теги к монитору.
- Выберите Assign frontends, чтобы назначить монитор фронтенд-приложению. Вы можете назначить монитор нескольким фронтенд-приложениям, а фронтенд-приложение может иметь несколько назначенных мониторов. Это позволяет отслеживать доступность и производительность фронтенд-приложения. Обнаруженные проблемы автоматически ассоциируются с вашим фронтенд-приложением. Если выполнение монитора завершается неудачей из-за проблем с фронтенд-приложением, показатель доступности фронтенд-приложения снижается в течение определённого периода времени.
Браузерный монитор может быть назначен фронтенд-приложению автоматически, если URL, проверяемый монитором, соответствует шаблону, определённому в
Experience Vitals.
Расширенные настройки
-
Опционально. Укажите Device profile. Вы можете выбрать из:
-
Existing devices с предустановленными характеристиками. Вы можете изменить только ориентацию -- горизонтальную или вертикальную.
- Custom device -- добавьте новое устройство с пользовательскими характеристиками, такими как ориентация (горизонтальная или вертикальная), высота экрана и ширина экрана, и укажите Custom name нового устройства.
-
Опционально. Укажите Bandwidth profile. Вы можете выбрать из:
-
Existing profile с готовыми предустановками.
- Custom profile -- добавьте новый профиль пропускной способности с пользовательскими характеристиками, такими как скорость загрузки, скорость отдачи и задержка, и укажите Custom name нового профиля.
- Опционально. Укажите User agent для настройки HTTP-заголовка user agent, который отправляется из браузера во время выполнения монитора. Когда вы выбираете Device profile из Existing devices, Dynatrace автоматически заполняет User agent.
User agent Dynatrace по умолчанию при записи и локальном воспроизведении имеет формат Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/{version} Safari/537.36 RuxitSynthetic/1.0 v0 t0 cfeatureHash=7efgijmoqtvx caes=1 ccux=1 sia=1 smf=1, где:
{version}-- текущая версия Chrome, используемая для записи.v0иt0идентифицируют трафик Synthetic Monitoring.sia=1указывает на более быстрое внедрение RUM JavaScript (значение может быть1или0).smf=1указывает на мониторинг страниц во фреймах (если Capture performance metrics for pages loaded in frames включён в Advanced setup; значение0, если не включён).cfeatureHash=<value>появляется, когда пользовательские настройки RUM JavaScript включены в Advanced setup.-
Строка user agent по умолчанию для выполнения браузерного монитора из публичных или частных синтетических точек:
Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/{version} Safari/537.36 RuxitSynthetic/1.0 v{id} t{id} ath{id} alt{id} cfeatureHash=7efgijmoqtvx caes=1 ccux=1 sia=1 smf=1, где:{id}представляет длинные идентификаторы, используемые Dynatrace для идентификации выполнения монитора.- Остальные параметры описаны выше.
Обратите внимание, что даже если определён пользовательский user agent, Dynatrace всегда автоматически добавляет
RuxitSynthetic/1.0 v{id} t{id} ath{id} alt{id},sia,smfи, если применимо,cfeaturehashи любые пары ключ-значение, начинающиеся сc, к user agent, чтобы трафик Synthetic Monitoring мог быть идентифицирован.
Шаги¶
Определите шаги. У вас есть два варианта при создании браузерного монитора:
- Настроить монитор для тестирования одной веб-страницы на доступность и производительность. Для этого выполните шаги 1-7 и шаг 9 из приведённого ниже руководства (пропустите шаг 8).
-
Настроить монитор для выполнения тестового сценария, включающего путь пользователя -- например, когда он открывает домашнюю страницу в браузере, применяет критерии поиска, выполняет поиск и выбирает вариант из результатов поиска. Для этого выполните все шаги, перечисленные ниже (1-9).
-
Name -- укажите имя шага.
- URL -- укажите URL веб-страницы, которую хотите проверить на доступность и производительность.
-
Опционально. Укажите Context setup. Вы можете указать:
-
Cookies, которые будут отправляться с запросами, выполняемыми монитором.
- Заголовки запросов, которые будут установлены для всех запросов, выполняемых монитором.
- Запросы с определёнными шаблонами, которые будут заблокированы во время выполнения монитора.
Хотя вы можете указать cookies, заголовки и запросы с определёнными шаблонами позже в Advanced setup, в некоторых случаях целесообразно сделать это здесь, чтобы обеспечить плавную запись кликпути. 4. Опционально. Включите Use HTTP authentication, если веб-сайт, который вы хотите тестировать, защищён HTTP-аутентификацией (не через аутентификацию веб-формы).
Мы поддерживаем базовую HTTP authentication и аутентификацию Kerberos. Если вы выбираете Kerberos в качестве аутентификации, также укажите имя области (realm) и список разрешённых серверов аутентификации.
Вы можете выбрать способ хранения учётных данных.
-
Credential Vault -- рекомендуемый вариант, так как он обеспечивает большую безопасность. Выберите ранее созданные учётные данные или добавьте новые.
Вы можете добавить новые учётные данные как в
Synthetic (Add credential), так и в предыдущей версии Dynatrace (Credential vault (classic)).
* Monitor script -- укажите имя пользователя и пароль.
5. Опционально. Выберите Condition to consider this step as done, чтобы определить время ожидания между шагами.
6. Опционально. В разделе Validate content настройте правила проверки контента.
7. Опционально. Настройте пороговое значение производительности для загрузки страницы, указанной в URL.
8. Запишите кликпуть или добавьте шаги вручную. Используйте эту функциональность, если хотите, чтобы монитор выполнял тестовый сценарий, включающий путь пользователя -- например, когда он открывает домашнюю страницу в браузере, применяет критерии поиска, выполняет поиск и выбирает вариант из результатов поиска. Подробнее см. Запись браузерной кликпути.
9. Выберите Continue, чтобы продолжить настройку монитора.
Частота и точки¶
Два фактора определяют ваше расписание мониторинга -- как часто запускается ваш браузерный монитор и из скольких точек он выполняется.
Dynatrace предлагает глобальную сеть публичных точек Synthetic Monitoring из коробки. Вы также можете создать частные синтетические точки в рамках вашей собственной сетевой инфраструктуры. Как публичные, так и частные точки отображаются на этой странице настроек.
Частота и количество точек определяют количество выполнений монитора в час. Например, запуск монитора из 3 точек каждые 15 минут приводит к 12 выполнениям в час (4 раза в час из каждой из 3 точек). Выполнения монитора равномерно распределяются в пределах выбранного интервала. То есть для монитора, работающего из 3 точек каждые 15 минут, выполнения запускаются с 5-минутным интервалом.
Вы можете выбрать частоту каждые 5, 10, 15 или 30 минут; или 1, 2 или 4 часа. Вы также можете настроить монитор для выполнения On demand only. Вы можете выбрать несколько глобальных точек, из которых будет выполняться ваш браузерный монитор.
Обратите внимание, что все публичные синтетические точки настроены на координированное универсальное время (UTC). Если вашему скрипту монитора требуется местное время или часовой пояс, вы можете использовать метод api.getContext() и системные часы для реализации условной логики.
Сбои и производительность¶
Вы можете настроить глобальную и локальную обработку сбоев и пороговые значения производительности для суммы всех запросов.
- Generate a problem and send an alert when this monitor is unavailable at all configured locations (global outage).
Эта настройка включена по умолчанию для вновь созданных мониторов. Она оповещает вас о глобальных сбоях доступности, то есть когда все точки одновременно испытывают отказ.
По умолчанию проблема глобального сбоя генерируется, когда все точки отказывают один раз. Однако вы можете указать количество последовательных отказов (от 1 до 5) для проблемы глобального сбоя, то есть сколько раз все точки должны отказать подряд, чтобы была сгенерирована проблема глобального сбоя. * Generate a problem and send an alert when this monitor is unavailable for one or more consecutive runs at any location. Local outage problem generation is available only when at least two locations are assigned.
Это позволяет поднять проблему при наличии последовательных отказов в одной или нескольких точках. На уровне среды вы можете выбрать количество отказов. На уровне монитора вы также можете определить количество точек монитора, которые должны отказать, чтобы была сгенерирована проблема локального сбоя.
Automatic retry on error включена по умолчанию (вы можете отключить её при необходимости), что означает, что неудачные выполнения монитора немедленно повторяются один раз для избежания ложных срабатываний, и только второй результат учитывается. При отключении мы используем первый результат сразу.
Для Performance thresholds вы можете включить:
- Generate a problem and send an alert on performance threshold violations.
Эта настройка предоставляет возможность установить Threshold for the sum of all requests (in seconds). Если порог превышает указанное вами время, вы будете уведомлены.
Также вы можете установить пороговое значение производительности для отдельных шагов.
Расширенная настройка¶
Эта вкладка содержит элементы управления для:
- Клиентские сертификаты
- Cookies
- HTTP-заголовки
- Блокировка запросов
- Игнорирование кодов состояния
- Пользовательские настройки RUM JavaScript
- Обход правил CSP
- Захват метрик для страниц, загруженных во фреймах
Использование клиентских сертификатов¶
Dynatrace версии 1.272+
ActiveGate версии 1.271+
Вы можете настроить аутентификацию по сертификату для браузерных мониторов, работающих на любой публичной точке и частных точках с ActiveGate на базе Linux (как контейнеризированных, так и неконтейнеризированных).
Перед первой записью кликпути на веб-сайте, требующем аутентификации по сертификату, убедитесь, что необходимый сертификат установлен в Chrome. Затем, когда вы перейдёте на веб-сайт в окне записи, стандартный диалог браузера просто выберет правильный сертификат.
После записи кликпути вам нужно указать сертификат для выполнения браузерного монитора.
- Выберите Add certificate.
- Введите Domain, для которого действителен сертификат.
- Выберите учётные данные из списка отображаемых сертификатов. Или выберите Create new credential, чтобы загрузить и использовать новый клиентский сертификат. Любые создаваемые вами учётные данные сертификата автоматически назначаются как только для владельца и сохраняются в хранилище учётных данных.
Вы можете указать и загрузить файлы сертификатов в формате PFX, P12 или PEM.
Настройка cookies¶
Cookies позволяют сохранять информацию о состоянии браузера на стороне клиента, чтобы каждое выполнение монитора основывалось на одном и том же состоянии, и вы могли точно мониторить базовый уровень производительности.
Cookies, установленные в Advanced setup, действительны для всего выполнения монитора. Если вы хотите установить cookies только для определённой части кликпути, используйте шаг Cookie.
Выберите Add cookie, укажите Name и значение cookie Value. Каждый cookie должен быть уникальным в списке.
Следующие символы не допускаются в значении cookie: ;,\". Укажите Domain cookie и, опционально, Path к cookie.
Добавление дополнительных HTTP-заголовков¶
Монитор создаётся с минимальным набором заголовков, необходимых протоколом.
- Выберите Add header.
- Введите имя Header и Value.
Вы можете указать несколько HTTP-заголовков. Они будут установлены для всех запросов, выполняемых монитором.
Если вы хотите установить заголовки только для определённых запросов, выберите Only apply headers to requests matching a pattern и затем определите Pattern. После этого заголовок устанавливается только для запросов, соответствующих определённому вами шаблону.
Блокировка определённых запросов¶
Вы можете заблокировать один или несколько запросов, указав полные URL или шаблоны совпадений. Строка URL или регулярного выражения не может превышать 90 символов и нечувствительна к регистру.
Блокировка запросов позволяет анализировать, как эти запросы влияют на производительность вашего приложения, и оптимизировать его соответственно.
Выберите Add pattern, а затем укажите полный URL.
Вы также можете определить шаблоны, например http:*://*/*.png или https*://*/*.png, чтобы заблокировать все запросы к PNG-изображениям.
Соответствующие запросы блокируются в течение всего выполнения монитора и не зависят от событий.
Если вам не удаётся заблокировать определённые запросы, обратитесь к статье Dynatrace Community Unable to block specific requests (owing to limitations on the length of regular expressions).
Игнорирование определённых кодов состояния¶
Это позволяет исключить HTTP-коды состояния 400-599 из причин сбоев доступности/ошибок, если они встречаются в запросе основного документа. Обычно это базовая страница в действии загрузки. Если эта настройка включена, и базовая страница действия загрузки сталкивается с HTTP-ошибками 400-599, сбой доступности не срабатывает.
Вы можете указать точный код состояния, диапазон или маску класса состояния. Используйте запятые для разделения нескольких значений; используйте знак минус (-) без пробелов для диапазона, например 404, 405-410, 5xx. Вы можете применить правило только к запросам документов, соответствующим определённому регулярному выражению (Only apply to document request matching this regex).
- Эта настройка не применяется к XHR-запросам или запросам документов во фреймах; браузерные мониторы не завершаются неудачей, когда XHR-запрос или запрос документа во фрейме завершается неудачей.
- Эта настройка применяется к будущим выполнениям, то есть к выполнениям, которые происходят после включения настройки.
Пользовательские настройки RUM JavaScript¶
Capture XmlHttpRequest (XHR) и Capture fetch() requests включены по умолчанию. Вы можете их отключить.
Прочее¶
Bypass Content Security Policy (CSP) of monitored page -- если у вас действует Content Security Policy, она, вероятно, не позволит браузеру отправлять данные мониторинга в Dynatrace Cluster. В качестве первого и предпочтительного метода, чтобы Chrome обходил CSP любых мониторируемых страниц в вашем однострочном браузерном мониторе или браузерной кликпути, включите эту опцию. Если вы не можете использовать эту опцию по какой-либо причине, обратитесь к продвинутым решениям для обхода CSP в статье Dynatrace Community Browser monitors: Issues with Content Security Policy.
Capture performance metrics for pages loaded in frames -- включите это, чтобы начать захват данных производительности для страниц во фреймах (iframes) или наборах фреймов.
Сводка¶
Просмотрите сводку всех шагов и расчётное ежемесячное количество действий. Если всё в порядке и дополнительные корректировки не нужны, нажмите Save, чтобы сохранить новый настроенный монитор.