Включение Azure Monitor OpenTelemetry для приложений .NET, Node.js, Python и Java
В этой статье описывается, как включить и настроить сбор данных на основе OpenTelemetry в Application Insights. Дистрибутив OpenTelemetry в Azure Monitor:
- Предоставляет распределение OpenTelemetry, которое включает поддержку функций, относящихся к Azure Monitor.
- Включает автоматическую телеметрию, включая библиотеки инструментирования OpenTelemetry для сбора трассировок, метрик, журналов и исключений.
- Позволяет собирать пользовательские данные телеметрии.
- Поддерживает динамические метрики для мониторинга и сбора дополнительных данных телеметрии из динамических веб-приложений в рабочей среде.
Дополнительные сведения о преимуществах использования дистрибутива OpenTelemetry в Azure Monitor см. в статье "Почему следует использовать дистрибутив Azure Monitor OpenTelemetry".
Чтобы узнать больше о сборе данных с помощью OpenTelemetry, ознакомьтесь с основами сбора данных или часто задаваемыми вопросами о OpenTelemetry.
Состояние выпуска OpenTelemetry
Предложения OpenTelemetry доступны для приложений .NET, Node.js, Python и Java. Сведения о состоянии выпуска компонента по функциям см. в разделе часто задаваемых вопросов.
Включение OpenTelemetry с помощью Application Insights
Выполните действия, описанные в этом разделе, для инструментирования приложения с помощью OpenTelemetry. Выберите вкладку для инструкций для langauge.
Примечание.
.NET охватывает несколько сценариев, включая классические ASP.NET, консольные приложения, Windows Forms (WinForms) и многое другое.
Необходимые компоненты
- Подписка Azure. Создание бесплатной подписки Azure.
- Ресурс Application Insights. Создание ресурса Application Insights.
- ASP.NET Core Application с помощью официально поддерживаемой версии .NET
Совет
Если вы переносите классический API Application Insights, ознакомьтесь с нашей документацией по миграции.
Установка клиентской библиотеки
Установите последний Azure.Monitor.OpenTelemetry.AspNetCore
пакет NuGet:
dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore
Изменение приложения
Azure.Monitor.OpenTelemetry.AspNetCore
Импортируйте пространство имен, добавьте OpenTelemetry и настройте его для использования Azure Monitor в классеprogram.cs
:
// Import the Azure.Monitor.OpenTelemetry.AspNetCore namespace.
using Azure.Monitor.OpenTelemetry.AspNetCore;
var builder = WebApplication.CreateBuilder(args);
// Add OpenTelemetry and configure it to use Azure Monitor.
builder.Services.AddOpenTelemetry().UseAzureMonitor();
var app = builder.Build();
app.Run();
Скопируйте строка подключения из ресурса Application Insights
Строка подключения является уникальным и указывает, где дистрибутив OpenTelemetry Azure Monitor отправляет данные телеметрии.
Совет
Если у вас еще нет ресурса Application Insights, создайте его в этом руководстве. Рекомендуется создать новый ресурс, а не использовать существующий.
Чтобы скопировать строка подключения, выполните следующие действия.
- Перейдите в область обзора ресурса Application Insights.
- Найдите строка подключения.
- Наведите указатель мыши на строка подключения и щелкните значок копирования в буфер обмена.
Вставьте строка подключения в среду
Чтобы вставить строка подключения, выберите из следующих параметров:
Внимание
Рекомендуется задать строка подключения с помощью кода только в локальных средах разработки и тестирования.
Для рабочей среды используйте переменную среды или файл конфигурации (только Java).
Настройка с помощью рекомендуемой переменной - среды
Замените
<Your connection string>
в следующей команде строка подключения.APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>
Настройка только с помощью файла - конфигурации Java
Создайте файл конфигурации с именем
applicationinsights.json
и поместите его в тот же каталог, чтоapplicationinsights-agent-3.6.2.jar
и в следующем содержимом:{ "connectionString": "<Your connection string>" }
Замените
<Your connection string>
предыдущий код JSON уникальным строка подключения.Настройка только с помощью кода - ASP.NET Core, Node.js и Python
Пример настройки строка подключения с помощью кода см. в разделе строка подключения конфигурации.
Примечание.
Если задать строка подключения в нескольких местах, переменная среды будет приоритетна в следующем порядке:
- Код
- Переменная среды
- Файл конфигурации
Подтверждение передачи данных
Запустите приложение, а затем откройте Application Insights в портал Azure. Для отображения данных может потребоваться несколько минут.
Application Insights теперь включен для приложения. Следующие шаги являются необязательными и позволяют дополнительно настраивать.
Внимание
При наличии двух или более служб, которые выводят данные телеметрии в один и тот же ресурс Application Insights, необходимо задать имена облачных ролей, чтобы правильно представить их на схеме приложений.
В рамках использования инструментирования Application Insights мы собираем диагностические данные и отправляем их в корпорацию Майкрософт. Эти данные помогают нам использовать и улучшать Application Insights. Дополнительные сведения см. в разделе Statsbeat в Azure Application Insights.
Примеры приложений
Примеры приложений OpenTelemetry Azure Monitor доступны для всех поддерживаемых языков:
- пример приложения ASP.NET Core
- Пример приложения NET
- Примеры приложений Java
- Примеры приложений Java GraalVM
- пример приложения Node.js
- Примеры приложений Python
Следующие шаги
- Дополнительные сведения о добавлении и изменении Azure Monitor OpenTelemetry см. в статье "Добавление и изменение Azure Monitor OpenTelemetry".
- Дополнительные сведения о настройке дистрибутива OpenTelemetry см . в разделе конфигурации OpenTelemetry в Azure Monitor.
- Чтобы просмотреть исходный код, ознакомьтесь с репозиторием GitHub в Azure Monitor AspNetCore.
- Чтобы установить пакет NuGet, проверить наличие обновлений или просмотреть заметки о выпуске, ознакомьтесь со страницей пакета NuGet Для Azure Monitor AspNetCore.
- Дополнительные сведения об Azure Monitor и OpenTelemetry см. в примере приложения Azure Monitor.
- Чтобы получить дополнительные сведения об OpenTelemetry и соответствующем сообществе, ознакомьтесь с репозиторием .NET для OpenTelemetry на GitHub.
- Чтобы включить функции использования, ознакомьтесь со статьей о включении наблюдения за пользователями в Интернете или браузере.
- Чтобы просмотреть часто задаваемые вопросы, действия по устранению неполадок, варианты поддержки или предоставить отзыв о OpenTelemetry, ознакомьтесь со справкой, поддержкой и отзывом по Azure Monitor Application Insights.