Создание пользовательских метрик из сеансов пользователей для веб-приложений

Материал из Dynatrace

С помощью настраиваемых показателей сеанса пользователя ( uscm.префикс ) вы можете извлекать показатели KPI бизнес-уровня из данных сеанса пользователя и сохранять их в виде временных рядов. Затем вы можете использовать сохраненные метрики в пользовательских диаграммах , механизмах оповещения или Metrics API .

Пользовательские показатели сеанса пользователя могут помочь вам ответить на такие вопросы, как:

  • Как индекс пользовательского опыта для моего веб-сайта меняется с течением времени?
  • Как доход, полученный моими пользователями, меняется с течением времени?
  • Сколько пользователей заходит на мой сайт и какие браузеры они используют?
  • Какова средняя продолжительность сеанса для моего мобильного приложения?

Вы можете создавать и управлять пользовательскими показателями сеанса пользователя с помощью веб-интерфейса Dynatrace или API настроек Dynatrace .

Настройка метрик через пользовательский интерфейс

Вы можете создавать и управлять пользовательскими показателями сеанса пользователя с помощью веб-интерфейса Dynatrace.

  1. В меню Dynatrace выберите « Настройки » > « Веб- и мобильный мониторинг » > «Индивидуальные показатели сеанса пользователя » .
  2. Выберите Добавить элемент .
  3. Введите ключ метрики , который следует использовать при приеме метрики. Вы будете использовать этот ключ при запросе данных метрики через Data Explorer .
  4. В разделе Тип значения для извлечения выберите один из следующих вариантов:
    • Счетчик пользовательских сеансов для подсчета количества пользовательских сеансов, аналогичный COUNT(*)при использовании USQL .
    • Значение поля сеанса пользователя для извлечения значения поля сеанса пользователя. Также укажите Имя поля , которое должно совпадать с именем поля USQL. Возможные значения см . в разделе Имена полей значений .
  5. В разделе Добавить измерение укажите поля, которые следует использовать в качестве измерений. Обратите внимание, что размеры должны соответствовать именам полей USQL. Возможные значения см. в разделе Размеры .
  6. В разделе Добавить фильтр включите необходимые фильтры.
    • Введите Имя поля , которое должно совпадать с именем поля USQL. Возможные значения см. в разделе Фильтрация имен полей .
    • Выберите Оператора .
    • Если вы выбрали один из бинарных операторов, например, равно или больше , также укажите второй аргумент в текстовом поле Значение .

Кроме того, вы можете использовать USQL для создания пользовательских показателей сеанса пользователя. После выполнения введенного запроса выберите Создать пользовательскую метрику .С помощью настраиваемых показателей сеанса пользователя ( uscm.префикс ) вы можете извлекать показатели KPI бизнес-уровня из данных сеанса пользователя и сохранять их в виде временных рядов. Затем вы можете использовать сохраненные метрики в пользовательских диаграммах , механизмах оповещения или Metrics API .

Пользовательские показатели сеанса пользователя могут помочь вам ответить на такие вопросы, как:

  • Как индекс пользовательского опыта для моего веб-сайта меняется с течением времени?
  • Как доход, полученный моими пользователями, меняется с течением времени?
  • Сколько пользователей заходит на мой сайт и какие браузеры они используют?
  • Какова средняя продолжительность сеанса для моего мобильного приложения?

Вы можете создавать и управлять пользовательскими показателями сеанса пользователя с помощью веб-интерфейса Dynatrace или API настроек Dynatrace .

Настройка метрик через пользовательский интерфейс

Вы можете создавать и управлять пользовательскими показателями сеанса пользователя с помощью веб-интерфейса Dynatrace.

  1. В меню Dynatrace выберите « Настройки » > « Веб- и мобильный мониторинг » > «Индивидуальные показатели сеанса пользователя » .
  2. Выберите Добавить элемент .
  3. Введите ключ метрики , который следует использовать при приеме метрики. Вы будете использовать этот ключ при запросе данных метрики через Data Explorer .
  4. В разделе Тип значения для извлечения выберите один из следующих вариантов:
    • Счетчик пользовательских сеансов для подсчета количества пользовательских сеансов, аналогичный COUNT(*)при использовании USQL .
    • Значение поля сеанса пользователя для извлечения значения поля сеанса пользователя. Также укажите Имя поля , которое должно совпадать с именем поля USQL. Возможные значения см . в разделе Имена полей значений .
  5. В разделе Добавить измерение укажите поля, которые следует использовать в качестве измерений. Обратите внимание, что размеры должны соответствовать именам полей USQL. Возможные значения см. в разделе Размеры .
  6. В разделе Добавить фильтр включите необходимые фильтры.
    • Введите Имя поля , которое должно совпадать с именем поля USQL. Возможные значения см. в разделе Фильтрация имен полей .
    • Выберите Оператора .
    • Если вы выбрали один из бинарных операторов, например, равно или больше , также укажите второй аргумент в текстовом поле Значение .

Кроме того, вы можете использовать USQL для создания пользовательских показателей сеанса пользователя. После выполнения введенного запроса выберите Создать пользовательскую метрику .

Настройка метрик через API

Вы также можете использовать API настроек для настройки пользовательских показателей сеанса пользователя.

  1. Создайте токен доступа с разрешениями Запись параметров ( settings.write) и Чтение параметров ( settings.read).
  2. Используйте конечную точку схемы GET a , чтобы узнать формат JSON, необходимый для публикации вашей конфигурации. Идентификатор схемы конфигурации метрики ( schemaId) — builtin:custom-metrics. Вот пример полезной нагрузки JSON с конфигурацией метрики:
  1. Используйте конечную точку объекта POST для отправки конфигурации.

Свойства конфигурации и поддерживаемые значения

Свойства конфигурации

Имущество Описание Возможные значения
enabled Определяет, включена ли пользовательская метрика. Установите для falseвременного отключения метрики. trueили жеfalse
metricKey Ключ метрики, используемый при приеме метрики. Должен начинаться с uscm.префикса. Используйте этот ключ при запросе данных метрики через Data Explorer .
value Источник значения метрики.
value.type Чтобы подсчитать количество пользовательских сеансов, как COUNT(*)при использовании USQL , установите значение COUNTER. Чтобы извлечь значение поля сеанса пользователя, установите значение FIELD. Обратите внимание, что поля действий пользователя не поддерживаются. COUNTERили жеFIELD
value.fieldName Если value.type= FIELD, указывает имя поля сеанса пользователя. См . Имена полей значений .
dimensions Список полей, используемых в качестве измерений. См . Размеры .
filters Указывает фильтры.
filter.fieldName Указывает имя поля фильтра. См. Фильтр имен полей .
filter.operator Указывает оператора. EQUALS, NOT_EQUAL, IS_NULL, IS_NOT_NULL, LIKE, LESS_THAN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN,GREATER_THAN_OR_EQUAL_TO
filter.value Например, для бинарных операторов EQUALSor GREATER_THANпредоставляет второй аргумент.

Имена полей значений

  • Dynatrace поддерживает только поля сеанса пользователя. Поля действий пользователя не поддерживаются.
  • Все имена полей должны совпадать с именами полей USQL.
  • Префикс usersession.в имени поля необязателен. Например, usersession.durationи durationозначают одно и то же.
  • Когда настроенное поле содержит null, метрика игнорируется, но Dynatrace использует самоконтроль для выявления таких случаев.

Поддерживаемые имена полей

duration

numberOfRageClicks

numberOfRageTaps

totalErrorCount

totalLicenseCreditCount

userActionCount

longProperties.*—Любое пользовательское длинное свойство, например, longProperties.outerwidth

doubleProperties.*—Любое пользовательское двойное свойство, например,doubleProperties.revenue

Габаритные размеры

  • Поддерживаются как поля сеанса пользователя, так и поля действий пользователя. Поля действий пользователя поддерживаются, начиная с Dynatrace 1.234.
  • Все имена полей должны совпадать с именами полей USQL.
  • Префиксы:
    • Для имени поля сеанса пользователя usersession.префикс необязателен. Например, usersession.countryи countryозначают одно и то же. При приеме метрики usersession.префикс отбрасывается, например, usersession.countryстановится country.
    • Для имени поля действия пользователя useraction.префикс обязателен. При приеме метрики useraction.префикс сохраняется.
  • К одной метрике можно добавить до 10 параметров.
  • Когда поле, сконфигурированное как измерение, содержит null, Dynatrace использует nullстроку в качестве значения измерения.
  • Когда вы используете useraction.applicationв качестве параметра и сеанс пользователя охватывает несколько приложений, значение пользовательского показателя сеанса пользователя записывается для каждого приложения. Чтобы значение не отображалось как двойное, разделите метрику по приложению.

Поля сеанса пользователя

appVersion

applicationType

bounce

browserFamily

browserMajorVersion

browserType

carrier

region

continent

country

connectionType

device

displayResolution

endReason

hasCrash

hasError

hasSessionReplay

manufacturer

networkTechnology

newUser

osFamily

osVersion

reasonForNoSessionReplay

reasonForNoSessionReplayMobile

rootedOrJailbroken

screenHeight

screenOrientation

screenWidth

userExperienceScore

userType

stringProperties.*— Любое пользовательское строковое свойство, например, stringProperties.author. Используйте поля с низкой кардинальностью, чтобы не создавать слишком много значений измерения.

Поля действий пользователя

useraction.application(начиная с Dynatrace 1.234)

Имена полей фильтра

  • Поддерживаются как поля сеанса пользователя, так и поля действий пользователя.
  • Все имена полей должны совпадать с именами полей USQL.
  • Префиксы:
    • Для имени поля сеанса пользователя usersession.префикс необязателен. Например, usersession.countryи countryозначают одно и то же.
    • Для имени поля действия пользователя useraction.префикс обязателен.
  • Когда вы добавляете несколько фильтров, все они должны совпадать — фильтры объединяются с помощью AND.
  • Для фильтров, использующих поле действия пользователя, требуется соответствие хотя бы одному действию пользователя. Действия пользователя сопоставляются с помощью ANY.
  • Для одной метрики можно настроить до 10 фильтров.

Поля сеанса пользователя

appVersion

applicationType

bounce

browserFamily

browserMajorVersion

browserMonitorName

browserType

carrier

city

region

continent

country

connectionType

device

displayResolution

duration

endReason

hasCrash

hasError

hasSessionReplay

ip

isp

manufacturer

networkTechnology

newUser

numberOfRageClicks

osFamily

osVersion

reasonForNoSessionReplay

reasonForNoSessionReplayMobile

rootedOrJailbroken

screenHeight

screenOrientation

screenWidth

totalErrorCount

totalLicenseCreditCount

userActionCount

userExperienceScore

userId

userType

longProperties.*—Любое пользовательское длинное свойство, например, longProperties.outerwidth

doubleProperties.*—Любое пользовательское двойное свойство, например, doubleProperties.revenue

stringProperties.*—Любое пользовательское строковое свойство, например,stringProperties.author

Поля действий пользователя

useraction.apdexCategory

useraction.application

useraction.cdnBusyTime

useraction.cdnResources

useraction.customErrorCount

useraction.domCompleteTime

useraction.domContentLoadedTime

useraction.documentInteractiveTime

useraction.domain

useraction.duration

useraction.firstInputDelay

useraction.firstPartyBusyTime

useraction.firstPartyResources

useraction.frontendTime

useraction.hasCrash

useraction.internalApplicationId

useraction.internalKeyUserActionId

useraction.javascriptErrorCount

useraction.keyUserAction

useraction.largestContentfulPaint

useraction.name

useraction.networkTime

useraction.requestErrorCount

useraction.serverTime

useraction.speedIndex

useraction.targetUrl

useraction.thirdPartyBusyTime

useraction.thirdPartyResources

useraction.type

useraction.visuallyCompleteTime

Известные ограничения

Мы определили следующие ограничения для пользовательских показателей сеанса пользователя:

  • Вы можете зафиксировать до 500 пользовательских метрик для каждой среды.
  • Синтетические данные сеанса пользователя не учитываются в значениях пользовательских показателей; включены только данные реальных пользователей.
  • Dynatrace обновляет пользовательские показатели каждый раз при закрытии сеанса. Это означает, что данные сеанса в реальном времени не учитываются в значениях пользовательских метрик; включаются только данные закрытого сеанса.
  • Ключевое DISTINCTслово, используемое в USQL , не поддерживается. Если у вас есть такой запрос SELECT COUNT(DISTINCT country) from usersession, невозможно создать эквивалентный специальный показатель.

Пример

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

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

Создать показатель

  1. В меню Dynatrace выберите « Настройки » > « Веб- и мобильный мониторинг » > «Индивидуальные показатели сеанса пользователя » .
  2. Выберите Добавить элемент .
  3. Введите uscm.average_duration_of_sessions_by_browser_family_and_versionв качестве метрического ключа .
  4. В разделе Тип значения для извлечения выберите Значение поля сеанса пользователя . Кроме того, установите для имени поля значение duration.
  5. Выберите Добавить измерение и добавьте измерения browserMajorVersionи browserFamily.
  6. В разделе Добавить фильтр включите следующие фильтры:
    • userType= REAL_USER( Имя поля userType, Операторequals , ЗначениеREAL_USER ) _ _
    • useraction.application= www.easytravel.com( Имя поля useraction.application, Операторequals , Значение ) www.easytravel.com. _ Вместо использования www.easytravel.comзначения вы можете использовать имя своего собственного приложения.
  7. Выберите Сохранить изменения .

Теперь у вас есть настраиваемая метрика сеанса пользователя, которая извлекается как поле ( duration) только в том случае, если оно useraction.applicationравно www.easytravel.com(фильтрация для определенного приложения) и userTypeравно REAL_USER(фильтрация только для реальных пользователей). Кроме того, вы добавили два измерения, которые позволяют разделить данные на основе семейства браузеров или основной версии браузера.

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

Создание и закрепление диаграммы

Теперь давайте создадим диаграмму на основе uscm.average_duration_of_sessions_by_browser_family_and_versionметрики и привяжем эту диаграмму к одной из ваших информационных панелей.

  1. В меню Dynatrace выберите Проводник данных .
  2. Выберите uscm.average_duration_of_sessions_by_browser_family_and_versionпоказатель и выберите Выполнить запрос .
  3. С помощью обозревателя данных разделите собранные данные, чтобы просмотреть данные сеанса пользователя, разделенные на основе browserMajorVersion, browserFamily, или того и другого.
  4. Отфильтруйте данные о сеансе пользователя на основе интересующих вас данных о сеансе пользователя browserMajorVersionили browserFamilyсосредоточьтесь на них.
  5. Создав диаграмму, представляющую ваши данные, закрепите диаграмму на информационной панели: выберите Закрепить на информационной панели , выберите одну из своих информационных панелей и введите имя плитки.

Создать оповещение

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

Чтобы создать оповещение

  1. В меню Dynatrace выберите « Настройки » > « Обнаружение аномалий » > «Пользовательские события для оповещения » .
  2. Выберите Создать специальное событие для оповещения .
  3. Создайте пользовательское событие на основе uscm.average_duration_of_sessions_by_browser_family_and_versionметрики. Дополнительные сведения см. в разделе События метрик для оповещения .

Часто задаваемые вопросы

Я вижу данные сеанса пользователя, но не вижу данные пользовательской метрики сеанса пользователя в обозревателе данных.

Убедитесь, что сеанс пользователя не активен. Dynatrace извлекает и сохраняет метрические данные во временных рядах только после закрытия сеанса пользователя.

Почему показатели сеансов в реальном времени не отображаются в обозревателе данных?

Поскольку сеансы закрываются в веб-приложениях, они помещаются в очередь для последующей обработки. Затем несколько фоновых рабочих извлекают данные метрик из пользовательских сеансов, чтобы подготовить данные для приема метрик.

Почему результаты моего запроса USQL не соответствуют специальной метрике?

Синтетические данные сеанса пользователя не учитываются в пользовательских показателях сеанса пользователя.

Исключите синтетические сеансы из вашего запроса. Кроме того, убедитесь, что к запросу и метрике применяются одни и те же временные рамки.

Как выставляются счета за пользовательские показатели сеансов пользователей?

Начиная с Dynatrace SaaS 1.232, пользовательские метрики из сеансов пользователей подлежат лицензированию блока данных Дэвиса (DDU) . Эти метрики оплачиваются как обычные метрики без схемы.

Чтобы оценить стоимость метрики, оцениваются сеансы за последние 7 дней, а стоимость в DDU на метрику рассчитывается в соответствии с ожидаемым приемом в минуту. Подробнее см. в разделе Как мы рассчитываем потребление DDU для пользовательских метрик? .

Какова степень детализации интервала для пользовательских показателей сеанса пользователя?

Хранение метрик и данных Dynatrace следует стратегии хранения данных, которая объединяет метрики с течением времени. Стратегия хранения данных, применяемая к пользовательским метрикам из пользовательских сеансов, идентична стратегии хранения данных, используемой для встроенных метрик временных рядов.