Инструментирование приложения для мониторинга
На базовом уровне инструментирование просто позволяет приложению записывать данные телеметрии. Существует два способа инструментирования приложения:
- Автоматическое инструментирование (автоинструментация)
- Инструментирование вручную
Автоинструментация позволяет собирать данные телеметрии с помощью конфигурации, не касаясь кода приложения. Хотя это удобнее, он, как правило, менее настраивается. Он также недоступен во всех языках. См. сведения о поддерживаемых средах и языках автоинструментации. Когда автоинструментация доступна, это самый простой способ включить Azure Monitor Application Insights.
Инструментирование вручную предназначено для API Application Insights или OpenTelemetry. В контексте пользователя обычно это относится к установке пакета SDK для конкретного языка в приложении. Это означает, что вам нужно самостоятельно управлять обновлениями последней версии пакета. Этот параметр можно использовать, если требуется выполнять пользовательские вызовы зависимостей или вызовы API, которые не записываются по умолчанию с автоинструментацией. Существует два варианта ручного инструментирования:
- Пакеты SDK Application Insights
- Дистрибутивы OpenTelemetry в Azure Monitor.
Включение с помощью пакетов 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 |
---|---|
Автоколекторы | Библиотеки инструментирования |
Канал | Экспортер |
Без агента и на основе агента | Автоинструментация |
Трассировки | Журналы |
Запросы | Диапазоны серверов |
Зависимости | Другие типы диапазонов (клиент, внутренний и т. д.) |
Идентификатор операции | Идентификатор трассировки |
Идентификатор или родительский идентификатор операции | Идентификатор диапазона |