Поделиться через


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

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

Дополнительные сведения о преимуществах использования дистрибутива OpenTelemetry в Azure Monitor см. в статье "Почему следует использовать дистрибутив Azure Monitor OpenTelemetry".

Чтобы узнать больше о сборе данных с помощью OpenTelemetry, ознакомьтесь с основами сбора данных или часто задаваемыми вопросами о OpenTelemetry.

Состояние выпуска OpenTelemetry

Предложения OpenTelemetry доступны для приложений .NET, Node.js, Python и Java. Для получения сведений о состоянии выпуска каждой функции см. часто задаваемые вопросы.

Активировать OpenTelemetry с помощью Application Insights

Выполните действия, описанные в этом разделе, для инструментирования приложения с помощью OpenTelemetry. Выберите вкладку для инструкций на определённом языке.

Примечание.

.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. Перейдите в панель Overview ресурса Application Insights.
  2. Найдите строка подключения.
  3. Наведите указатель мыши на строку подключения и выберите значок 'Копировать в буфер обмена'.

Снимок экрана, показывающий обзор Application Insights и строку подключения.

Вставьте строку подключения в вашу среду

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

Внимание

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

Для рабочей среды используйте переменную среды или файл конфигурации (только Java).

  • Установлено через переменную окружения - рекомендуется

    Замените <Your connection string> в следующей команде вашей строкой подключения.

    APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>
    
  • Установлено через файл конфигурации - Только Java

    Создайте файл конфигурации с именем applicationinsights.jsonи поместите его в тот же каталог, что applicationinsights-agent-3.7.1.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 доступны для всех поддерживаемых языков:

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