Знакомство с метриками на основе журналов

Завершено

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

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

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

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

Разработчики могут использовать пакет SDK для отправки событий вручную (путем написания кода, который явно вызывает пакет SDK) или использовать автоматическую коллекцию событий из автоматического инструментирования. Так или иначе, в серверной части Application Insights все собранные события хранятся в виде журналов, а колонки Application Insights на портале Azure выступают в качестве аналитического и диагностического средства для визуализации данных, касающихся событий, из журналов.

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

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

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

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

Внимание

Метрики на основе журналов и предварительно агрегированные метрики сосуществуют в Azure Application Insights. Чтобы можно было различать эти два типа метрик, в пользовательском интерфейсе Application Insights предварительно агрегированные метрики теперь называются "Стандартные метрики (предварительная версия)", а традиционные метрики на основе событий были переименованы в "Метрики на основе журналов".

Более новый пакет средств разработки (Application Insights 2.7 SDK или более поздняя версия для .NET) предварительно агрегируют метрики во время сбора данных. Она применяется к стандартным метрикам, отправленным по умолчанию , чтобы точность не влияла на выборку или фильтрацию. Это также применимо к настраиваемым метрикам, отправленным с помощью функции GetMetric, что приводит к меньшему приему данных и снижению затрат.

Для пакетов SDK, не реализующих предварительную агрегирование серверной части приложения Аналитика, заполняет новые метрики путем агрегирования событий, полученных конечной точкой сбора событий приложения Аналитика. Хотя вы не пользуетесь меньшим объемом данных, передаваемых по проводу, вы по-прежнему можете использовать предварительно агрегированные метрики и повысить производительность и поддержку почти в реальном времени измерения предупреждений с пакетами SDK, которые не предварительно агрегируют метрики во время сбора.

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