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


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

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

  • Предоставляет распределение OpenTelemetry, которое включает поддержку функций, относящихся к Azure Monitor.
  • Включает автоматическую телеметрию, включая библиотеки инструментирования OpenTelemetry для сбора трассировок, метрик, журналов и исключений.
  • Позволяет собирать пользовательские данные телеметрии.
  • Поддерживает динамические метрики для мониторинга и сбора данных телеметрии из динамических веб-приложений в рабочей среде.

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

Дополнительные сведения о сборе данных с помощью OpenTelemetry можно найти в статье "Сбор OpenTelemetry (OTel) для платформы Application Insights" или в часто задаваемых вопросах по OpenTelemetry.

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

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

Примечание.

Для приложений Azure Functions см. раздел Использование OpenTelemetry с Azure Functions.

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

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

Примечание.

.NET охватывает несколько сценариев, включая классические ASP.NET, консольные приложения, Windows Forms (WinForms) и многое другое.

Предварительные условия

Совет

Если вы переходите с классического API Application Insights, ознакомьтесь с нашей документацией по миграции.

Установка клиентской библиотеки

Установите последний пакет Azure.Monitor.OpenTelemetry.AspNetCoreNuGet:

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();

Скопируйте строку подключения (connection string) из ресурса Application Insights

Строка подключения уникальна и определяет, куда Azure Monitor OpenTelemetry Дистрибутив отправляет собираемые данные телеметрии.

Совет

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

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

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

Скриншот, на котором показан обзор Application Insights и строка подключения.

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

Чтобы вставить connection string, выберите из следующих параметров:

Внимание

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

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

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

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

    APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>
    
  • Установлено с помощью файла конфигурации - Только для Java

    Создайте файл конфигурации с именем applicationinsights.jsonи поместите его в тот же каталог, что applicationinsights-agent-3.7.5.jar и в следующем содержимом:

    {
      "connectionString": "<Your connection string>"
    }
    

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

  • Задано через код - только ASP.NET Core, Node.js и Python

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

Примечание.

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

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

Подтвердите, что данные поступают

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

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

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

Примечание.

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

Внимание

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

Устранение неполадок, обратная связь и поддержка

Совет

Во всех статьях о дистрибутивах OpenTelemetry доступны следующие разделы.

Troubleshooting

Сведения об устранении неполадок см. в статье "Устранение неполадок с OpenTelemetry" в .NET и устранение неполадок с отсутствующими данными телеметрии приложений в Azure Monitor Application Insights.

Отзывы о OpenTelemetry

Чтобы оставить отзыв, сделайте следующее:

Поддержка

Выберите вкладку для выбранного языка, чтобы узнать параметры поддержки.

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