Инструментирование приложения для мониторинга

Завершено

На базовом уровне инструментирование просто позволяет приложению записывать данные телеметрии. Существует два способа инструментирования приложения:

  • Автоматическое инструментирование (автоинструментация)
  • Инструментирование вручную

Автоинструментация позволяет собирать данные телеметрии с помощью конфигурации, не касаясь кода приложения. Хотя это удобнее, он, как правило, менее настраивается. Он также недоступен во всех языках. См. сведения о поддерживаемых средах и языках автоинструментации. Когда автоинструментация доступна, это самый простой способ включить Azure Monitor Application Insights.

Инструментирование вручную предназначено для API Application Insights или OpenTelemetry. В контексте пользователя обычно это относится к установке пакета SDK для конкретного языка в приложении. Это означает, что вам нужно самостоятельно управлять обновлениями последней версии пакета. Этот параметр можно использовать, если требуется выполнять пользовательские вызовы зависимостей или вызовы API, которые не записываются по умолчанию с автоинструментацией. Существует два варианта ручного инструментирования:

Включение с помощью пакетов SDK Application Insights

Необходимо установить пакет SDK Application Insights только в следующих случаях:

  • Требуются пользовательские события и метрики
  • Вам требуется контроль над потоком телеметрии
  • Автоматическое инструментирование недоступно (обычно из-за ограничений языка или платформы)

Чтобы использовать пакет SDK, необходимо установить небольшой пакет инструментирования в приложении, а затем инструментировать веб-приложение, все фоновые компоненты и JavaScript на веб-страницах. Приложение и его компоненты не обязательно размещать в Azure. Инструментирование отслеживает приложение и направляет данные телеметрии в ресурс Application Insights с помощью уникального маркера.

Список версий и имен пакета SDK размещается на сайте GitHub. Дополнительные сведения см . в версии пакета SDK.

Включение через OpenTelemetry

Корпорация Майкрософт работала с заинтересованными лицами проекта из двух ранее популярных проектов телеметрии с открытым кодом, OpenCensus и OpenTracing. Вместе мы помогли создать один проект OpenTelemetry. OpenTelemetry включает в себя вклад всех основных поставщиков облачных и управления производительностью приложений (APM) и живет в Cloud Native Computing Foundation (CNCF). Корпорация Майкрософт является платиновым членом CNCF.

Некоторые устаревшие термины в Application Insights запутаны из-за конвергенции отрасли в OpenTelemetry. В следующей таблице рассматриваются эти различия. Термины OpenTelemetry заменяют термины Application Insights.

Application Insights OpenTelemetry
Автоколекторы Библиотеки инструментирования
Канал Экспортер
Без агента и на основе агента Автоинструментация
Трассировки Журналы
Запросы Диапазоны серверов
Зависимости Другие типы диапазонов (клиент, внутренний и т. д.)
Идентификатор операции Идентификатор трассировки
Идентификатор или родительский идентификатор операции Идентификатор диапазона