Включение Azure Monitor OpenTelemetry для приложений .NET, Node.js, Python и Java

В этой статье описывается, как включить и настроить сбор данных на основе OpenTelemetry в Application Insights. Дистрибутив OpenTelemetry в Azure Monitor:

Дополнительные сведения о преимуществах использования дистрибутива 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) и многое другое.

Необходимые компоненты

Совет

Если вы переносите классический 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, создайте его в этом руководстве. Рекомендуется создать новый ресурс, а не использовать существующий.

Чтобы скопировать строка подключения, выполните следующие действия.

  1. Перейдите в область обзора ресурса Application Insights.
  2. Найдите строка подключения.
  3. Наведите указатель мыши на строка подключения и щелкните значок копирования в буфер обмена.

Снимок экрана: строка подключения и обзор 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

    Пример настройки строка подключения с помощью кода см. в разделе строка подключения конфигурации.

Примечание.

Если задать строка подключения в нескольких местах, переменная среды будет приоритетна в следующем порядке:

  1. Код
  2. Переменная среды
  3. Файл конфигурации

Подтверждение передачи данных

Запустите приложение, а затем откройте Application Insights в портал Azure. Для отображения данных может потребоваться несколько минут.

Снимок экрана вкладки

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

Внимание

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

В рамках использования инструментирования Application Insights мы собираем диагностические данные и отправляем их в корпорацию Майкрософт. Эти данные помогают нам использовать и улучшать Application Insights. Дополнительные сведения см. в разделе Statsbeat в Azure Application Insights.

Примеры приложений

Примеры приложений OpenTelemetry Azure Monitor доступны для всех поддерживаемых языков:

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