Поделиться через


Модель данных телеметрии Application Insights

Application Insights отправляет данные телеметрии из веб-приложения на портал Azure, чтобы предоставить аналитические сведения о производительности и использовании приложения и инфраструктуры. Чтобы лучше понять и упорядочить данные телеметрии, мы классифицируем их по разным типам.

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

Данные, собранные Application Insights, моделируют этот типичный шаблон выполнения приложения:

Схема, на которую показана модель данных телеметрии Application Insights.

1availabilityResults недоступны по умолчанию и требуют настройки тестов доступности.
2customEvents и customMetrics доступны только с пользовательским инструментированием.

Примечание.

Application Insights сохраняет журналы в traces таблице по устаревшим причинам. Диапазоны распределенных трассировок хранятся в requests таблицах и dependencies таблицах. Мы планируем устранить эту проблему в будущем выпуске, чтобы избежать путаницы.

Типы телеметрии

Для мониторинга выполнения приложения используются следующие типы телеметрии. Дистрибутив OpenTelemetry для Azure Monitor и JavaScript SDK для Application Insights собирают:

Тип телеметрии Имя таблицы
(Инсайты приложений)
Имя таблицы
(Аналитика логов)
Описание
Доступность availabilityResults AppAvailabilityResults Отслеживает доступность и скорость реагирования приложения, отправляя веб-запросы через регулярные интервалы и предупреждая вас, если приложение не отвечает или если время отклика слишком медленно.
Время браузера browserTimings AppBrowserTimings Измеряет производительность веб-страниц, включая время загрузки страниц и длительность сети.
зависимости dependencies AppDependencies Отслеживает вызовы из приложения во внешнюю службу или хранилище, например REST API или базу данных SQL, и измеряет длительность и успешность этих вызовов.
Событие customEvents AppEvents Обычно используется для отслеживания взаимодействий пользователей и других значимых событий в приложении, таких как нажатия кнопок или оформление заказов, для анализа моделей использования.
Исключение exceptions AppExceptions Записывает сведения об ошибках, важные для устранения неполадок и понимания сбоев.
Метрика performanceCounters

customMetrics
AppPerformanceCounters

AppMetrics
Счетчики производительности предоставляют числовые данные о различных аспектах производительности приложения и системы, таких как использование ЦП и потребление памяти.

Кроме того, пользовательские метрики позволяют определять и отслеживать конкретные измерения, уникальные для приложения, обеспечивая гибкость для мониторинга пользовательских показателей производительности.
Просмотр страницы pageViews AppPageViews Отслеживает страницы, просматриваемые пользователями, предоставляя аналитические сведения о навигации пользователей и взаимодействии в приложении.
запрос requests AppRequests Регистрирует запросы, полученные приложением, предоставляя такие сведения, как идентификатор операции, длительность и состояние успешности или сбоя.
Трассировка traces AppTraces Регистрирует события, относящиеся к приложению, например пользовательские диагностические сообщения или инструкции трассировки, которые полезны для отладки и мониторинга поведения приложения с течением времени.

Это важно

Вы можете запросить данные телеметрии приложений из Application Insights и Log Analytics (рекомендуется), но имена таблиц и полей отличаются. Это различие сохраняет обратную совместимость, например, чтобы обеспечить правильную работу панелей мониторинга клиентов с пользовательскими запросами, созданными перед соглашением об именовании Log Analytics.

Чтобы сравнить имена полей на портале Azure, откройте Application Insights>журналы, запустите запрос и скопируйте идентификатор Id элемента телеметрии (например, 1234a5b6c7de8f90). Затем откройте новую вкладку в браузере, перейдите в Log Analytics>журналы, переключитесь в режим KQL и выполните запрос:

AppDependencies // Notice that table names are also different.
| where Id == "1234a5b6c7de8f90"

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

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

Например, при правильной инициализации версии приложения Application Insights может обнаруживать новые шаблоны в поведении приложений, коррелирующих с повторной развертыванием. Аналогичным образом можно использовать идентификатор сеанса для оценки влияния сбоев или проблем с пользователями. Вычислив количество уникальных идентификаторов сеансов, связанных с неудачными зависимостями, трассировками ошибок или критическими исключениями, вы получаете более четкое представление о влиянии пользователя.

Модель телеметрии Application Insights также поддерживает корреляцию элементов телеметрии с операциями , к которой они относятся. Например, если запрос активирует вызов базы данных SQL, запрос и вызов зависимостей могут включать диагностические данные и быть связаны через общий контекст корреляции, что позволяет отслеживать полный поток операции.

В этой статье рассматриваются поля, относящиеся к каждому типу телеметрии. Чтобы просмотреть полный список доступных полей (включая поля контекста) для любого типа телеметрии, перейдите по ссылке, предоставленной под каждой соответствующей таблицей.

Телеметрия доступности

Данные телеметрии доступности включают искусственный мониторинг, в котором тесты имитируют взаимодействие пользователей, чтобы убедиться, что приложение доступно и адаптивно. Мы рекомендуем настроить стандартные тесты доступности для мониторинга доступности приложения из различных точек по всему миру и отправки собственных сведений о тестировании в Application Insights.

Поля, относящиеся к доступности:

Имя поля
(Инсайты приложений)
Имя поля
(Аналитика логов)
Описание
id Id Уникальный идентификатор результата теста доступности, используемый для корреляции между отдельными выполнениями тестов, которые могут помочь отслеживать определенные сбои или шаблоны с течением времени. Дополнительные сведения см. в статье Корреляция данных телеметрии в Application Insights.
name Name Имя теста доступности. Он определяется при создании теста (например, "Тест пинга домашней страницы").
location Location Географическое расположение или регион центра обработки данных, из которого был выполнен тест доступности (например, западная часть США, Северная Европа). Это помогает определить региональные сбои или проблемы с задержкой.
success Success Это поле указывает, успешно ли выполнен тест доступности. Это логическое значение, где true означает, что тест был успешным и false означает, что он завершился сбоем.
message Message Описательное сообщение с подробными сведениями о результатах теста. Часто он содержит сведения об исключениях или ответы на ошибки.
duration Duration Время выполнения теста доступности. Это помогает измерять производительность и выявлять проблемы с временем отклика. Длительность обычно измеряется в миллисекундах.

Список всех доступных полей см. в разделе AppAvailabilityResults.

Телеметрия времени работы браузера

Браузеры предоставляют измерения для действий загрузки страниц через Performance API. Application Insights упрощает эти измерения с помощью консолидации связанных измерений времени в стандартные метрики браузера.

Поля, специфичные для времени работы браузера:

Имя поля
(Инсайты приложений)
Имя поля
(Аналитика логов)
Описание
networkDuration NetworkDurationMs Клиент обращается к DNS, чтобы разрешить имя узла веб-сайта, и DNS отвечает с IP-адресом.

Клиент создает подтверждения TCP и TLS с веб-сервером.
sendDuration SendDurationMs Клиент отправляет запрос, ожидает его обработки сервером и получает первый пакет ответа.
receiveDuration ReceiveDurationMs Клиент получает оставшиеся байты полезной нагрузки ответа от веб-сервера.
processingDuration ProcessingDurationMs Теперь клиент имеет полные полезные данные ответа и должен отображать содержимое в браузере и загружать DOM.
totalDuration TotalDurationMs Сумма всех браузерных таймингов.

Список всех доступных полей см. в разделе AppBrowserTimings.

Телеметрия зависимостей

Элемент телеметрии зависимостей представляет взаимодействие отслеживаемого компонента с удаленным компонентом, таким как SQL или конечная точка HTTP.

Поля, специфичные для зависимостей:

Имя поля
(Инсайты приложений)
Имя поля
(Аналитика логов)
Описание
id Id Уникальный идентификатор экземпляра вызова зависимости, используется для корреляции с элементом телеметрии запроса, который соответствует данному вызову зависимости. Дополнительные сведения см. в статье Корреляция данных телеметрии в Application Insights.
target Target Целевой ресурс для вызова зависимостей. Примерами являются имя сервера и адрес узла. Дополнительные сведения см. в статье Корреляция данных телеметрии в Application Insights.
type DependencyType Имя типа зависимости. Он имеет низкое значение кратности для логического группирования зависимостей и интерпретации других полей, таких как commandName и resultCode. Примерами являются SQL, таблица Azure и HTTP.
name Name Имя команды, инициированной этим вызовом зависимостей. Он имеет низкое значение кардинальности. Примерами являются имя хранимой процедуры и шаблон пути URL-адреса.
data Data Команда, инициированная этим вызовом зависимостей. Примерами являются оператор SQL и HTTP URL со всеми параметрами запроса.
success Success Это поле указывает, был ли вызов успешным или нет. Это логическое значение, где true означает, что вызов был успешным и false означает, что он завершился сбоем.
resultCode ResultCode Код результата вызова зависимостей. Примерами являются код ошибки SQL и код состояния HTTP.
duration DurationMs Длительность запроса находится в формате DD.HH:MM:SS.MMMMMM. Это должно быть меньше 1000 дней.

Список всех доступных полей см. в разделе AppDependencies.

Телеметрия событий

Элементы телеметрии событий можно создать для представления события, которое произошло в приложении. Как правило, это взаимодействие с пользователем, например нажатие кнопки или заказ. Это также может быть событие жизненного цикла приложения, например инициализация или обновление конфигурации.

Дополнительные сведения о создании пользовательской телеметрии событий см. в статье "Добавление и изменение Azure Monitor OpenTelemetry" для .NET, Java, Node.jsи приложений Python.

Поля, относящиеся к событиям:

Имя поля
(Инсайты приложений)
Имя поля
(Аналитика логов)
Описание
name Name Чтобы разрешить правильную группирование и полезные метрики, ограничьте приложение таким образом, чтобы оно создавало несколько отдельных имен событий. Например, не используйте отдельное имя для каждого созданного экземпляра события.

Список всех доступных полей см. в разделе AppEvents.

Данные телеметрии исключений

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

Поля, относящиеся к исключению:

Имя поля
(Инсайты приложений)
Имя поля
(Аналитика логов)
Описание
problemId ProblemId Определяет, где исключение было создано в коде. Он используется для группирования исключений. Как правило, это сочетание типа исключения и функции из стека вызовов.
type ExceptionType Конкретное исключение, которое произошло. Обычно это включает пространство имен и имя класса, например System.NullReferenceException или System.InvalidOperationException.
assembly Assembly Сборка, в которой было выброшено исключение. Это полезно для определения компонента приложения, ответственного за исключение.
method Method Имя метода в сборке, где было выброшено исключение. Это предоставляет контекстные сведения о том, где в коде произошла ошибка.
outerType OuterType Тип внешнего исключения (оболочки), если текущее исключение вложено в другое исключение. Это полезно для понимания контекста, в котором произошло внутреннее исключение, и может помочь в трассировке последовательности ошибок.
outerMessage OuterMessage Это сообщение предоставляет читаемое человеком объяснение внешнего исключения и может быть полезно в понимании более широкой проблемы.
outerAssembly OuterAssembly Сборка, в которой возникло внешнее исключение.
outerMethod OuterMethod Метод внешнего исключения. Это предоставляет подробные сведения о месте возникновения сбоя во внешнем исключении.
severityLevel SeverityLevel Уровень серьезности трассировки может быть одним из следующих значений: Verbose, Information, Warning, Error, или Critical.
details Details Содержит сведения об исключении, такие как сообщение об исключении и стек вызовов.

Список всех доступных полей см. в разделе AppExceptions.

Метрики телеметрии

Application Insights поддерживает два типа телеметрии метрик:

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

Счетчики производительности

Счетчики производительности всегда являются одной метрикой измерения с помощью name и value, но предоставляют дополнительные поля category, counter, а также instance для приложений Windows.

Поля, специфичные для счетчиков производительности:

Имя поля
(Инсайты приложений)
Имя поля
(Аналитика логов)
Описание
name Name Имя метрики, которую вы хотите увидеть на портале Application Insights.
value Value Единственное значение измерения. Это сумма отдельных измерений для агрегирования.
category Category Представляет группу связанных счетчиков производительности (например, Process).
counter Counter Указывает определенную метрику производительности, измеряемую в категории (например, IO Data Bytes/sec).
instance Instance Определяет конкретное появление счетчика в пределах категории (например, ??APP_WIN32_PROC??).

Список всех доступных полей см. в разделе AppPerformanceCounters.

Дополнительные сведения о метриках см. в разделе "Метрики" в Application Insights. Дополнительные сведения о REST API метрик см. в разделе "Метрики— Получение".

Системные и процессные метрики счетчиков

Имя .NET Описание
\Processor(_Total)\% Processor Time Общий объем ЦП компьютера.
\Memory\Available Bytes Объем физической памяти в байтах, доступной для процессов, выполняющихся на компьютере. Он вычисляется путем суммирования объема пространства в обнуленных, а также свободных и резервных списках памяти. Свободная память готова к использованию. Обнулённая память состоит из страниц памяти, заполненных нулями, чтобы предотвратить доступ последующих процессов к данным, использованным предыдущим процессом. Резервная память — это память, которая была удалена из рабочего набора процесса (его физической памяти) и находится в пути на диск, но по-прежнему доступна для отзыва. Смотри Объект памяти.
\Process(??APP_WIN32_PROC??)\% Processor Time ЦП процесса размещения приложения.
\Process(??APP_WIN32_PROC??)\Private Bytes Память, используемая процессом размещения приложения.
\Process(??APP_WIN32_PROC??)\IO Data Bytes/sec Скорость операций ввода-вывода, выполняемых процессом размещения приложения.
\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests/Sec Скорость запросов, обработанных приложением.
\.NET CLR Exceptions(??APP_CLR_PROC??)\# of Exceps Thrown / sec Частота исключений, создаваемых приложением.
\ASP.NET Applications(??APP_W3SVC_PROC??)\Request Execution Time Среднее время выполнения запроса.
\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests In Application Queue Количество запросов, ожидающих обработки в очереди.

Пользовательские свойства

Метрика с пользовательским свойством CustomPerfCounter , установленным на true , указывает, что метрика представляет счетчик производительности Windows. Эти метрики помещаются в таблицу performanceCounters , а не в customMetrics. Кроме того, имя этой метрики анализируется для извлечения категорий, счетчиков и имен экземпляров.

Пользовательские метрики

Пользовательские метрики — это показатели производительности или метрики для конкретного бизнеса, которые определяются и собираются для получения аналитических сведений, которые не охватываются стандартными метриками. Дополнительные сведения о пользовательских метриках см. в статье "Пользовательские метрики" в Azure Monitor (предварительная версия).

Настраиваемые поля метрик:

Имя поля
(Инсайты приложений)
Имя поля
(Аналитика логов)
Одно измерение Предварительная метрика
name Name Это поле — имя метрики, которую вы хотите увидеть на портале Application Insights и пользовательском интерфейсе.
value Value Это поле является одним значением измерения. Это сумма отдельных измерений для агрегирования. Для предварительно созданной метрики значение равно сумме.
Max Max Для одной метрики измерения Max равен значению. Это поле является максимальным значением агрегированной метрики. Оно не должно быть задано для измерения.
Min Min Для одной метрики измерения минимальноезначение равно значению. Это поле является минимальным значением агрегированной метрики. Оно не должно быть задано для измерения.
Sum Sum Для одной метрики измерения сумма равна значению. Сумма всех значений агрегированной метрики. Оно не должно быть задано для измерения.
Count Count Для одной метрики измерения значение число равно 1. Количество измерений за 1 минуту агрегирования. Оно не должно быть задано для измерения.

Список всех доступных полей см. в разделе AppMetrics.

Примечание.

Чтобы вычислить среднее значение, разделите сумму на число.

Данные телеметрии представления страниц

Данные телеметрии представления страниц регистрируются, когда пользователь приложения открывает новую страницу отслеживаемого приложения. В Page этом контексте — это логическая единица, определяемая разработчиком как вкладка приложения или экран, и не обязательно сопоставляется с загрузкой веб-страниц браузера или действием обновления.

Это различие можно понять в контексте одностраничных приложений (SPAs), где переключение между страницами не привязано к действиям страницы браузера. Время pageViews.duration , необходимое приложению для представления страницы пользователю.

Поля, специфичные для просмотра страницы:

Имя поля
(Инсайты приложений)
Имя поля
(Аналитика логов)
Описание
name Name Имя страницы, которая была просмотрирована пользователем (например, "Home" или "Shopping Cart").
url Url Полный URL-адрес страницы, которая была просмотрирована. Это поле имеет решающее значение для анализа трафика и поведения пользователей в приложении.
duration DurationMs Длительность PageView взята из интерфейса времени производительности браузера PerformanceNavigationTiming.duration.

Если PerformanceNavigationTiming доступно, эта длительность используется. Если это не так, используется устаревший интерфейс и вычисляется разность между PerformanceTiming и NavigationStart.

Разработчик задает значение длительности при регистрации пользовательских PageView событий с помощью вызова API trackPageView.

Список всех доступных полей см. в разделе AppPageViews.

Примечание.

  • По умолчанию пакет SDK для JavaScript Application Insights регистрирует отдельные PageView события при загрузке каждой веб-страницы в браузере, с использованием pageViews.duration. Разработчики могут расширить дополнительное отслеживание PageView событий с помощью вызова API trackPageView.

  • Срок хранения журналов по умолчанию составляет 30 дней. Если вы хотите просмотреть PageView статистику за более длительный период времени, необходимо настроить этот параметр.

Запрос телеметрии

Данные телеметрии запроса представляют сведения, связанные с входящими HTTP-запросами в приложение. Этот тип телеметрии помогает отслеживать производительность и успешность веб-служб приложения. Элемент телеметрии запроса представляет логическую последовательность выполнения, активируется внешним запросом к приложению. Каждое выполнение запроса определяется уникальным id и url, которые содержат все параметры выполнения.

Можно сгруппировать запросы по логическому name и задать source этого запроса. Выполнение кода может давать результат success или fail, а также обладает определенной характеристикой duration. С помощью resultCodeдополнительных операций успешного и неудачного выполнения можно группировать. Время начала телеметрии запроса определяется на уровне оболочки. Телеметрия запроса поддерживает стандартную модель расширяемости с помощью пользовательского properties и measurements.

Поля, относящиеся к запросу:

Имя поля
(Инсайты приложений)
Имя поля
(Аналитика логов)
Описание
id Id Уникальный идентификатор экземпляра вызова запроса, используемый для корреляции между запросом и другими элементами телеметрии. Идентификатор должен быть глобально уникальным. Дополнительные сведения см. в статье Корреляция данных телеметрии в Application Insights.
source Source Источник является источником запроса. Примерами являются ключ инструментирования вызывающего объекта или IP-адрес вызывающего объекта. Дополнительные сведения см. в статье Корреляция данных телеметрии в Application Insights.
name Name Это поле — это имя запроса, и он представляет путь кода, принятый для обработки запроса. Низкое значение кратности позволяет лучше группировать запросы. Для HTTP-запросов это представляет шаблон метода HTTP и пути URL, как GET /values/{id}, без фактического значения id.
Веб-пакет SDK Application Insights отправляет имя запроса "как есть" о регистре буквы. Группировка на пользовательском интерфейсе чувствительна к регистру, поэтому GET /Home/Index считается отдельно от GET /home/INDEX, хотя зачастую они приводят к выполнению того же контроллера и действия. Причина этого заключается в том, что URL-адреса в целом чувствительны к регистру. Возможно, вам следует убедиться в том, что все 404 ошибки произошли для URL-адресов, в которые введены символы в верхнем регистре. Дополнительные сведения о сборе имен запросов с помощью веб-SDK ASP.NET см. в записи блога.
url Url URL-адрес запроса — это URL-адрес запроса со всеми параметрами строки запроса.
success Success Успех вызова указывает, был ли он успешным или неудачным. Это обязательное поле. Если запрос не задан явным falseобразом, он считается успешным. Если исключение или возвращенный код результата ошибки прервал операцию, задайте для этого значения значение false.

Для веб-приложений Application Insights определяет запрос как успешный, если код ответа меньше 400 или равен 401. Однако существуют случаи, когда это сопоставление по умолчанию не соответствует семантике приложения.

Код 404 ответа может указывать "нет записей", которые могут быть частью регулярного потока. Это также может указывать на сломанную ссылку. Для неработанных ссылок можно реализовать более расширенную логику. Вы можете пометить неработающие ссылки как сбои только в том случае, если эти ссылки находятся на том же сайте, проанализировав ссылку URL-адреса. Или вы можете отметить их как неудачи, если к ним осуществляется доступ из мобильного приложения компании. Аналогичным образом, 301 и 302 указывают на сбой при обращении с клиента, который не поддерживает перенаправление.

Частично принятое содержимое 206 может указывать на сбой общего запроса. Например, конечная точка Application Insights может получать пакет элементов телеметрии в виде одного запроса. Возвращается 206 , когда некоторые элементы в пакете не были обработаны успешно. Увеличение скорости 206 указывает на проблему, которую необходимо исследовать. Аналогичная логика применяется к 207 Multi-Status, где успешный результат может быть наихудшим из отдельных кодов ответа.
resultCode ResultCode Код ответа является результатом выполнения запроса. Это код состояния HTTP для HTTP-запросов. Это может быть HRESULT значение или тип исключения для других типов запросов.
duration DurationMs Длительность запроса форматируется как DD.HH:MM:SS.MMMMMM. Оно должно быть положительным и составлять менее 1000 дней. Это поле является обязательным, так как данные телеметрии запроса представляют операцию с началом и окончанием.

Список всех доступных полей см. в разделе AppRequests.

Трассировка телеметрии

Данные телеметрии трассировки представляют собой операторы трассировки в стиле printf, которые подлежат текстовому поиску. Log4Net, NLog и другие записи файла журнала на основе текста преобразуются в экземпляры этого типа. Трассировка не имеет измерений в плане расширяемости.

Специфические для трассировки поля:

Имя поля
(Инсайты приложений)
Имя поля
(Аналитика логов)
Описание
message Message Сообщение трассировки.
severityLevel SeverityLevel Уровень серьезности трассировки.

Список всех доступных полей см. в разделе AppTraces.

Примечание.

Значения для severityLevel перечислены и зависят от платформы.

Пользовательские настройки и измерения

Пользовательские свойства

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

  • Максимальная длина ключа: 150
  • Максимальная длина значения: 8192

Настраиваемые измерения

Коллекция пользовательских измерений: используйте эту коллекцию для сообщения о именованных пользовательских измерениях, связанных с элементом телеметрии. Типичные случаи использования:

  • Размер нагрузки телеметрии зависимостей.
  • Количество элементов очереди, обрабатываемых телеметрией запроса.
  • Время, когда клиент выполнил этап мастера, завершив данные телеметрии событий.

Пользовательские измерения можно запросить в аналитике приложений:

customEvents
| where customMeasurements != ""
| summarize avg(todouble(customMeasurements["Completion Time"]) * itemCount)

Примечание.

  • Пользовательские измерения связаны с элементом телеметрии, к которому они принадлежат. Они подвергаются выборке с элементом телеметрии, содержащим эти измерения. Чтобы отслеживать измерение, не зависящее от других типов телеметрии, используйте телеметрию метрик.
  • Не используйте строковые значения для пользовательских измерений. Поддерживаются только числовые значения.

Максимальная длина ключа: 150

Контекст

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

Имя поля
(Инсайты приложений)
Имя поля
(Аналитика логов)
Описание
account_ID user_AccountId Идентификатор учетной записи в мультитенантных приложениях — это идентификатор учетной записи клиента или имя, с которым работает пользователь. Он используется для более детальной сегментации пользователей, если идентификатор пользователя и аутентифицированный ID пользователя недостаточны. Примерами могут быть идентификатор подписки для портал Azure или имя блога для платформы блога.
application_Version AppVersion Сведения в полях контекста приложения всегда содержат сведения о приложении, которое отправляет данные телеметрии. Версия приложения используется для анализа изменений тенденций в поведении приложения и его корреляции с развертываниями.
appId ResourceGUID Уникальный идентификатор ресурса Application Insights для отличия телеметрии от разных приложений.
appName Не применимо В Application Insights appName то же самое, что _ResourceId.
client_Browser ClientBrowser Имя веб-браузера, используемого клиентом.
client_City ClientCity Город, в котором был расположен клиент при сборе данных телеметрии (на основе геолокации IP-адресов).
client_CountryOrRegion ClientCountryOrRegion Страна или регион, в котором клиент был расположен при сборе данных телеметрии (на основе географического расположения IP-адресов).
client_IP ClientIP IP-адрес клиентского устройства. Поддерживаются протоколы IPv4 и IPv6. Когда данные телеметрии отправляются из службы, контекст местоположения касается пользователя, инициировавшего операцию в этой службе. Application Insights извлекает сведения о географическом расположении из IP-адреса клиента, а затем усекает его. IP-адрес клиента сам по себе не может использоваться в качестве идентифицируемых пользователем сведений.
client_OS ClientOS Указывает операционную систему клиента, создающую телеметрию.
client_StateorProvince ClientStateOrProvince Штат или провинция, в которой клиент был расположен при сборе данных телеметрии (на основе географического расположения IP-адресов).
client_Type ClientType Описывает тип клиентского устройства, отправляющего данные телеметрии (например, Browser или PC.)
cloud_RoleInstance AppRoleInstance Имя экземпляра, в котором выполняется приложение. Например, это имя компьютера для локальной среды или имя экземпляра для Azure.
cloud_RoleName AppRoleName Имя роли, в которой приложение является частью. Он сопоставляется непосредственно с именем роли в Azure. Его также можно использовать для различения микрослужб, которые являются частью одного приложения.
iKey IKey Устаревший уникальный идентификатор, используемый для связывания данных телеметрии с определенным ресурсом Application Insights.
itemId Не применимо Уникальный идентификатор для определенного элемента телеметрии.
itemCount ItemCount Количество случаев или подсчетов, связанных с одним телеметрическим событием.
operation_Id OperationId Уникальный идентификатор корневой операции. Этот идентификатор позволяет группировать данные телеметрии по нескольким компонентам. Дополнительные сведения см. в разделе "Корреляция телеметрии". Запрос или представление страницы создает идентификатор операции. Все другие данные телеметрии присваивают этому полю значение содержащего запроса или просмотра страницы.
operation_Name OperationName Имя (группа) операции. Запрос или представление страницы создает имя операции. Все другие элементы данных телеметрии присваивают этому полю значение содержащего запроса или просмотра страницы. Имя операции используется для поиска всех элементов телеметрии для группы операций (например, GET Home/Index). Это свойство контекста используется для ответа на такие вопросы, как типичные исключения, которые возникают на этой странице?
operation_ParentId ParentId Уникальный идентификатор непосредственного родительского элемента телеметрии. Дополнительные сведения см. в разделе "Корреляция телеметрии".
operation_SyntheticSource SyntheticSource Имя искусственного источника. Некоторые данные телеметрии из приложения могут представлять искусственный трафик. Это могут быть веб-краулер для индексирования веб-сайта, тесты доступности сайта или трассировки из диагностических библиотек, таких как сам пакет SDK Application Insights.
sdkVersion SDKVersion Версия пакета SDK Application Insights, отправляющая данные телеметрии. Дополнительные сведения см. в разделе "Версия пакета SDK".
session_Id SessionId Идентификатор сеанса — это экземпляр взаимодействия пользователя с приложением. Сведения в полях контекста сеанса всегда касались пользователя. При отправке данных телеметрии из службы контекст сеанса относится к пользователю, который инициировал операцию в службе.
user_AuthenticatedId UserAuthenticatedId Идентификатор пользователя, прошедший проверку подлинности, является противоположностью анонимному идентификатору пользователя. Это поле представляет пользователя с понятным именем. Этот идентификатор записывается по умолчанию с помощью AuthenticatedUserIdTelemetryInitializer пакета SDK для ASP.NET Framework.

Используйте пакет SDK Application Insights для инициализации идентификатора пользователя, прошедшего проверку подлинности, со значением, которое постоянно идентифицирует пользователя в браузерах и устройствах. Таким образом, все элементы телеметрии относятся к этому уникальному идентификатору. Этот идентификатор позволяет запрашивать все данные телеметрии, собранные для конкретного пользователя (с учетом конфигураций выборки и фильтрации телеметрии).

Идентификаторы пользователей можно сопоставляться с идентификаторами сеансов, чтобы предоставить уникальные параметры телеметрии и отслеживания активности пользователя в течение сеанса.
user_Id UserId Анонимный идентификатор пользователя представляет пользователя приложения. Когда данные телеметрии отправляются из службы, контекст пользователя относится к пользователю, инициирующему операцию в службе.

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

Количество идентификаторов анонимных пользователей не совпадает с числом уникальных пользователей приложения. Число идентификаторов анонимных пользователей обычно выше, так как при каждом открытии приложения на другом устройстве или браузере или очистке файлов cookie в браузере выделяется новый уникальный идентификатор анонимного пользователя. Это вычисление может привести к подсчету одного физического пользователя несколько раз.

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

Использование анонимного идентификатора пользователя для хранения имени пользователя — это неправильное использование поля. Используйте идентификатор пользователя, прошедший проверку подлинности.
_ResourceId _ResourceId Полный идентификатор ресурса Azure компонента Application Insights, который включает в себя подписку, группу ресурсов и имя ресурса.

Следующие шаги