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


Метрики в Application Insights

Application Insights поддерживает три различных типа метрик: стандартные (предварительно подготовленные), на основе журналов и пользовательские метрики. Каждый из них имеет уникальное значение для мониторинга работоспособности приложений, диагностика и аналитики. Разработчики, которые инструментируют приложения, могут решить, какой тип метрики лучше всего подходит для определенного сценария. Решения основаны на размере приложения, ожидаемом объеме телеметрии и бизнес-требованиях для точности метрик и предупреждений. В этой статье объясняется различие между всеми поддерживаемыми типами метрик.

Стандартные метрики

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

Метрики на основе логов

Метрики на основе журналов в Application Insights — это концепция времени запроса. Система представляет их в виде временных рядов, созданных из данных журнала приложения. Он не предварительно агрегирует базовые журналы во время сбора или хранения. Вместо этого он сохраняет все свойства каждой записи журнала.

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

Однако методы уменьшения объема телеметрии влияют на журнальные метрики. Такие методы, как фильтрация выборки и телеметрии, часто используемые для уменьшения данных из приложений с большим объемом, сокращают количество собранных записей журнала. Это сокращение уменьшает точность метрик на основе журналов.

Пользовательские метрики (предварительная версия)

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

Дополнительные сведения см. в разделе "Пользовательские метрики" в Azure Monitor (предварительная версия).

Примечание.

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

Сравнение метрик

Функция Стандартные метрики Метрики на основе логов Пользовательские метрики
Источник данных Предагрегированные данные временных рядов, собранные во время выполнения. Получено из данных журнала с помощью запросов Kusto. Определяемые пользователем метрики, собранные с помощью пакета SDK или API Application Insights.
Гранулярность Фиксированные интервалы (1 минуту). Зависит от детализации самих данных журнала. Гибкая детализация на основе определяемых пользователем метрик.
Точность Высокий, не затронутый выборкой логов. Может быть подвержено воздействию выборки и фильтрации. Высокая точность, особенно при использовании предварительно подготовленных методов, таких как GetMetric.
Стоимость Включена в цену Application Insights. На основе загрузки данных журнала и расходов на запросы. См. модель ценообразования и хранения.
Конфигурация Автоматически доступен с минимальной конфигурацией. Требуется настройка запросов журнала для извлечения требуемых метрик из данных журнала. Требуется индивидуальная реализация и настройка в коде.
Производительность запросов Быстрое благодаря предварительному агрегированию. Медленнее, так как он включает запрос данных журнала. Зависит от объема данных и сложности запросов.
Память Хранится как данные временных рядов в хранилище метрик Azure Monitor. Хранится как журналы в рабочей области Log Analytics. Хранится как в Log Analytics, так и в хранилище метрик Azure Monitor.
Оповещение Поддерживает оповещения в режиме реального времени. Позволяет выполнять сложные сценарии оповещений на основе подробных данных журнала. Гибкое оповещение на основе определяемых пользователем метрик.
Ограничение службы В соответствии с ограничениями Application Insights. С учетом ограничений рабочей области Log Analytics. Ограничивается квотой для бесплатных метрик и затратами на дополнительные измерения.
Варианты использования Мониторинг в режиме реального времени, панели мониторинга производительности и краткие сведения. Подробные диагностика, устранение неполадок и подробный анализ. Адаптированные показатели производительности и метрики для конкретного бизнеса.
Примеры Использование ЦП, использование памяти, длительность запроса. Количество запросов, трассировки исключений, вызовы зависимостей. Пользовательские метрики для конкретных приложений, такие как взаимодействие пользователей, использование функций.

Предварительное агрегирование метрик

Пакеты SDK OpenTelemetry и некоторые пакеты SDK Application Insights (классический API) предварительно агрегируют метрики во время сбора, чтобы уменьшить объем отправляемых данных из пакета SDK в конечную точку канала телеметрии. Этот процесс применяется к стандартным метрикам, отправленным по умолчанию, поэтому точность не влияет на выборку или фильтрацию. Она также применяется к пользовательским метрикам, отправленным с помощью API OpenTelemetry или GetMetric and TrackValue, что приводит к снижению приема данных и снижению затрат. Если ваша версия пакета SDK Application Insights поддерживает GetMetric и TrackValue, это предпочтительный метод отправки пользовательских метрик.

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

Чтобы отправить пользовательские метрики, используйте метод trackMetric .

Эти пакеты SDK не сокращают объем отправленных данных. Однако вы по-прежнему можете использовать предварительно агрегированные метрики. Эта настройка обеспечивает более высокую производительность и поддерживает оповещение в режиме реального времени даже без предварительной агрегации во время сбора.

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

В следующих таблицах приведен список, где осуществляются предагрегации.

Предварительная агрегация метрик с помощью дистрибутива OpenTelemetry в Azure Monitor

Текущий рабочий пакет SDK Предварительное агрегирование стандартных метрик Предварительная агрегация пользовательских метрик
ASP.NET Core Пакет SDK Пакет SDK с помощью API OpenTelemetry
.NET (через экспортера) Пакет SDK Пакет SDK с помощью API OpenTelemetry
Java (3.x) Пакет SDK Пакет SDK с помощью API OpenTelemetry
Java native Пакет SDK Пакет SDK с помощью API OpenTelemetry
Node.js Пакет SDK Пакет SDK с помощью API OpenTelemetry
Питон Пакет SDK Пакет SDK с помощью API OpenTelemetry

Предварительное агрегирование метрик с помощью SDK Application Insights (классический API)

Текущий рабочий пакет SDK Предварительное агрегирование стандартных метрик Предварительная агрегация пользовательских метрик
.NET Core и .NET Framework ПАКЕТ SDK (версия 2.13.1+) Пакет SDK (версия 2.7.2+) с помощью GetMetric
Конечная точка канала телеметрии с помощью TrackMetric
Java (2.x) Конечная точка канала телеметрии Конечная точка канала телеметрии с помощью TrackMetric
JavaScript (для браузера) Конечная точка канала телеметрии Конечная точка канала телеметрии с помощью TrackMetric
Node.js Конечная точка канала телеметрии Конечная точка канала телеметрии с помощью TrackMetric
Питон Конечная точка канала телеметрии Пакет SDK через OpenCensus.stats (прекращено)
Конечная точка канала телеметрии с помощью TrackMetric

Внимание

Предварительное агрегирование метрик с автоинструментированием

При автоинструментации пакет SDK автоматически добавляется в код приложения и не может быть настроен. Для пользовательских метрик требуется ручная настройка.

Текущий рабочий пакет SDK Предварительное агрегирование стандартных метрик Предварительная агрегация пользовательских метрик
ASP.NET Core Пакет SDK 1 Не поддерживается
ASP.NET Пакет SDK 2 Не поддерживается
Ява Пакет SDK Поддерживается 3
Node.js Пакет SDK Не поддерживается
Питон Пакет SDK Не поддерживается

Сноски

Настраиваемые измерения метрик и предварительная агрегация

Все метрики, отправляемые с помощью OpenTelemetry, trackMetric или GetMetric и TrackValue API, автоматически хранятся как в хранилище метрик, так и в журналах. Эти метрики можно найти в таблице customMetrics в Application Insights и в обозревателе метрик в разделе Custom Metric Namespace под названием azure.applicationinsights. Хотя версия пользовательской метрики на основе логов всегда сохраняет все измерения, агрегированная версия метрики по умолчанию хранится без измерений. Сохранение измерений пользовательских метрик — это функция предварительной версии, которую можно включить на вкладке "Использование" и "Предполагаемые затраты ", выбрав "С измерениями " в разделе "Отправка пользовательских метрик в Хранилище метрик Azure".

Снимок экрана: использование и предполагаемые затраты.

Квоты

Предварительно подготовленные метрики хранятся в виде временных рядов в Azure Monitor. Квоты Azure Monitor на пользовательские метрики применяются.

Примечание.

Превышение квоты может привести к непредвиденным последствиям. Служба Azure Monitor может стать ненадежной в вашей подписке или регионе. Дополнительные сведения о том, как избежать превышения квоты, см. в разделе Ограничения и рекомендации по проектированию.

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

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

Создание диаграмм и изучение метрик

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

Снимок экрана, показывающий пространство имен метрик.

Модели ценообразования для метрик Application Insights

Передача метрик в Application Insights, будь то основанные на логах или предварительно агрегированные, ведет к возникновению затрат в зависимости от объема переданных данных. Дополнительные сведения см. в разделе подробности о ценах на Azure Monitor Logs. Пользовательские метрики, включая все их измерения, всегда сохраняются в хранилище журналов системы Application Insights. Кроме того, предварительно агрегированная версия ваших пользовательских метрик без измерений по умолчанию передается в хранилище метрик.

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

Доступные метрики

В следующих разделах перечислены метрики с поддерживаемыми агрегациями и измерениями. Сведения о метриках на основе журнала включают в себя базовые инструкции запроса Kusto.

Внимание

  • Ограничение временных рядов: Каждая метрика может иметь до 5000 временных рядов в течение 24 часов. После достижения этого ограничения все значения измерений этой точки метрики заменяются константой Maximum values reached.

  • Ограничение кардинальности: Каждое измерение поддерживает ограниченное количество уникальных значений в течение семидневного периода. По достижении ограничения Azure Monitor заменяет все новые значения константой Other values. В следующих таблицах указаны ограничения кардинальности для каждого измерения.

Метрики доступности

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

Доступность (availabilityResults/availabilityPercentage)

Метрика Доступность показывает процент запусков веб-тестов, в ходе которых не было выявлено проблем. Наименьшее возможное значение равно 0, указывающее, что все запуски веб-теста завершилось сбоем. Значение 100 показывает, что все веб-тесты успешно прошли условия проверки.

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Процентное отношение Среднее Run location availabilityResult/location 50
Test name availabilityResult/name 100

Продолжительность теста доступности (availabilityResults/duration)

Метрика Продолжительность теста доступности показывает, сколько времени заняло выполнение веб-теста. Для многошаговых веб-тестов метрика показывает общее время выполнения всех шагов.

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Миллисекунды Сред., Макс., Мин. Run location availabilityResult/location 50
Test name availabilityResult/name 100
Test result availabilityResult/success 2

Тесты доступности (availabilityResults/count)

Метрика тесты доступности отражает количество веб-тестов, выполняемых Azure Monitor.

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Счет Счет Run location availabilityResult/location 50
Test name availabilityResult/name 100
Test result availabilityResult/success 2

Метрики браузера

Пакет SDK JavaScript для Application Insights собирает метрики браузера из реальных браузеров конечных пользователей. Эти метрики дают ценные сведения о опыте пользователей с веб-приложением. SDK обычно не обрабатывает метрики браузера, поэтому он обеспечивает более высокую точность в данных об использовании. В отличие от этого, метрики на стороне сервера часто используют выборку, которая может искажать результаты.

Примечание.

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

Время загрузки страницы браузера (browserTimings/totalDuration)

Единица измерения Поддерживаемые агрегации Поддерживаемые размеры
Миллисекунды Сред., Макс., Мин. нет

Время обработки на стороне клиента (browserTiming/processingDuration)

Единица измерения Поддерживаемые агрегации Поддерживаемые размеры
Миллисекунды Сред., Макс., Мин. нет

Время установления соединения с сетью при загрузке страницы (browserTimings/networkDuration)

Единица измерения Поддерживаемые агрегации Поддерживаемые размеры
Миллисекунды Сред., Макс., Мин. нет

Время получения ответа (browserTimings/receiveDuration)

Единица измерения Поддерживаемые агрегации Поддерживаемые размеры
Миллисекунды Сред., Макс., Мин. нет

Время отправки запроса (browserTimings/sendDuration)

Единица измерения Поддерживаемые агрегации Поддерживаемые размеры
Миллисекунды Сред., Макс., Мин. нет

Метрики сбоев

Метрики в Сбоях показывают проблемы с обработкой запросов, вызовами зависимостей и созданными исключениями.

Исключения для браузера (exceptions/browser)

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

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Счет Счет Cloud role name cloud/roleName 100

Сбои вызовов зависимостей (зависимости/неудача)

Число неудачных вызовов зависимостей.

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Счет Счет Cloud role instance cloud/roleInstance 100
Cloud role name cloud/roleName 100
Dependency performance dependency/performanceBucket 20
Dependency type dependency/type 100
Is traffic synthetic operation/synthetic 10
Result code dependency/resultCode 100
Target of dependency call dependency/target 100

Исключения (количество исключений)

Каждый раз, когда вы регистрируете исключение в Application Insights, вызывается метод trackException() SDK. Метрика исключений показывает количество зарегистрированных исключений.

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Счет Счет Cloud role instance cloud/roleInstance 100
Cloud role name cloud/roleName 100
Device type client/type 2

Неудачные запросы (запросы/ошибка)

Число отслеженных запросов к серверу, отмеченных как неудачные. По умолчанию пакет SDK Application Insights автоматически помечает каждый запрос сервера, возвращающий код ответа HTTP 5xx или 4xx (за исключением 401) как неудачный запрос. Эту логику можно настроить, изменив свойство success элемента телеметрии запроса в пользовательском инициализаторе телеметрии. Дополнительные сведения о различных кодах откликов см. в модели данных телеметрии Application Insights.

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Счет Счет Cloud role instance cloud/roleInstance 100
Cloud role name cloud/roleName 100
Is synthetic traffic operation/synthetic 10
Request performance request/performanceBucket 20
Result code request/resultCode 100

Исключения сервера (exceptions/server)

Эта метрика показывает количество исключений сервера.

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Счет Счет Cloud role instance cloud/roleInstance 100
Cloud role name cloud/roleName 100

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

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

Доступная память (performanceCounters/availableMemory)

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Мегабайты / Гигабайты (зависимые от данных) Сред., Макс., Мин. Cloud role instance cloud/roleInstance 100

Частота исключений (performanceCounters/exceptionRate)

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Счет Сред., Макс., Мин. Cloud role instance cloud/roleInstance 100

Время выполнения HTTP-запроса (performanceCounters/requestExecutionTime)

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Миллисекунды Сред., Макс., Мин. Cloud role instance cloud/roleInstance 100

Скорость HTTP-запроса (performanceCounters/requestsPerSecond)

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Число запросов в секунду Сред., Макс., Мин. Cloud role instance cloud/roleInstance 100

HTTP-запросы в очереди приложений (performanceCounters/requestsInQueue)

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Счет Сред., Макс., Мин. Cloud role instance cloud/roleInstance 100

Использование ЦП процесса (performanceCounters/processCpuPercentage)

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

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Процентное отношение Сред., Макс., Мин. Cloud role instance cloud/roleInstance 100

Примечание.

Диапазон метрики — от 0 до 100 * n, где n — число доступных ядер ЦП. Например, значение метрики 200% может представлять собой полное использование двух ядер ЦП или половины использования четырех ядер ЦП и т. д. Нормализация ЦП процесса — это альтернативная метрика, собираемая многими пакетами SDK, которая представляет одно и то же значение, но делит его на количество доступных ядер ЦП. Диапазон метрики Нормализованная загрузка ЦП процесса таким образом составляет от 0 до 100.

Скорость ввода-вывода процесса (производительность счётчиков/processIOBytesPerSecond)

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Байты в секунду Среднее, Мин., Макс. Cloud role instance cloud/roleInstance 100

Приватные байты процесса (performanceCounters/processPrivateBytes)

Объем необщей памяти, выделенной отслеживаемой процедурой для ее данных.

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Байт Среднее, Мин., Макс. Cloud role instance cloud/roleInstance 100

Загруженность процессора (performanceCounters/processorCpuPercentage)

Использование ЦП всеми процессами, работающими на экземпляре контролируемого сервера.

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Процентное отношение Среднее, Мин., Макс. Cloud role instance cloud/roleInstance 100

Примечание.

Метрика времени процессора недоступна для приложений, размещенных в службах приложений Azure. Используйте метрику ЦП процесса для отслеживания загрузки ЦП веб-приложениями, размещенными в службах приложений.

Метрики сервера

Вызовы зависимостей (количество зависимостей)

Эта метрика связана с количеством вызовов зависимостей.

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Счет Счет Cloud role instance cloud/roleInstance 100
Cloud role name cloud/roleName 100
Dependency performance dependency/performanceBucket 20
Dependency type dependency/type 100
Is traffic synthetic operation/synthetic 10
Result code request/resultCode 2
Successful call dependency/success 100
Target of a dependency call dependency/target 100

Длительность зависимости (зависимости/длительность)

Эта метрика относится к времени зависимых вызовов.

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Миллисекунды Сред., Макс., Мин. Cloud role instance cloud/roleInstance 100
Cloud role name cloud/roleName 100
Dependency performance dependency/performanceBucket 20
Dependency type dependency/type 100
Is traffic synthetic operation/synthetic 10
Result code request/resultCode 100
Successful call dependency/success 2
Target of a dependency call dependency/target 100

Частота запросов к серверу (запросы/секунду)

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

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Количество в секунду Среднее Cloud role instance cloud/roleInstance 100
Cloud role name cloud/roleName 100
Is traffic synthetic operation/synthetic 10
Request performance request/performanceBucket 20
Result code request/resultCode 100
Successful call dependency/success 2

Запросы сервера (запросы/счёт)

Единица измерения Агрегации Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Счет Счет Cloud role instance cloud/roleInstance 100
Cloud role name cloud/roleName 100
Is traffic synthetic operation/synthetic 10
Request performance request/performanceBucket 20
Result code request/resultCode 100
Successful call dependency/success 2

Время ответа сервера (запросы/продолжительность)

Эта метрика отражает время, затраченное на обработку входящих запросов серверами.

Миллисекунды Сред., Макс., Мин. Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Счет Счет Cloud role instance cloud/roleInstance 100
Cloud role name cloud/roleName 100
Is traffic synthetic operation/synthetic 10
Request performance request/performanceBucket 20
Result code request/resultCode 100
Successful call dependency/success 2

Метрики использования

Время загрузки страницы (просмотры страницы/продолжительность)

Эта метрика относится к количеству времени, затраченного на загрузку событий PageView.

Миллисекунды Сред., Макс., Мин. Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Миллисекунды Сред., Макс., Мин. Cloud role name cloud/roleName 100
Is traffic synthetic operation/synthetic 10

Просмотры страниц (pageViews/count)

Число событий PageView, регистрируемых с помощью метода TrackPageView() API Application Insights.

Счет Счет Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Миллисекунды Сред., Макс., Мин. Cloud role name cloud/roleName 100
Is traffic synthetic operation/synthetic 10

Трассировки (трассы/количество)

Число трассировочных сообщений, регистрируемых при помощи вызова метода TrackTrace() API Application Insights.

Счет Счет Имя измерения
Обозреватель метрик
Имя измерения
(Аналитика логов)
Ограничение кратности
Счет Счет Cloud role instance cloud/roleInstance 100
Cloud role name cloud/roleName 100
Is traffic synthetic operation/synthetic 10
Severity level trace/severityLevel 100

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

Неприменимо к стандартным метрикам.

Доступ к метрикам на основе журналов непосредственно с помощью REST API Application Insights

REST API Application Insights позволяет программным способом получить метрики на основе журналов. Он также содержит необязательный параметр ai.include-query-payload, который при добавлении в строку запроса побуждает API возвращать не только данные временных рядов, но и запрос на языке Kusto Query Language (KQL), используемый для их получения. Этот параметр может быть полезным для пользователей, стремясь понять связь между необработанными событиями в Log Analytics и результирующей метрикой на основе журналов.

Чтобы получить доступ к данным напрямую, передайте параметр ai.include-query-payload в API Application Insights в запросе с помощью KQL.

Примечание.

Чтобы получить базовый запрос журналов, DEMO_APP и DEMO_KEYне нужно заменять. Если вы просто хотите получить инструкцию KQL, а не данные временных рядов собственного приложения, вы можете скопировать и вставить его непосредственно в строку поиска браузера.

api.applicationinsights.io/v1/apps/DEMO_APP/metrics/users/authenticated?api_key=DEMO_KEY&prefer=ai.include-query-payload

В этом примере показана инструкция return KQL для метрики Authenticated Users. В этом примере "users/authenticated" — это идентификатор метрики.

output
{
    "value": {
        "start": "2024-06-21T09:14:25.450Z",
        "end": "2024-06-21T21:14:25.450Z",
        "users/authenticated": {
            "unique": 0
        }
    },
    "@ai.query": "union (traces | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (requests | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (pageViews | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (dependencies | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (customEvents | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (availabilityResults | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (exceptions | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (customMetrics | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (browserTimings | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)) | where notempty(user_AuthenticatedId) | summarize ['users/authenticated_unique'] = dcount(user_AuthenticatedId)"
}

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