Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описано, как включить и настроить сбор данных с помощью OpenTelemetry в Azure Monitor Application Insights с помощью дистрибутива OpenTelemetry для Azure Monitor. OpenTelemetry является стандартом наблюдения CNCF с открытым исходным кодом; Дистрибутив OpenTelemetry Azure Monitor является распределением Microsoft этого стандарта, оптимизированного для Azure Monitor. Дистрибутив:
- Предоставляет распределение OpenTelemetry, которое включает поддержку функций, относящихся к Azure Monitor.
- Обеспечивает автоматический сбор телеметрии за счёт включения библиотек инструментирования OpenTelemetry для сбора трассировок, метрик, журналов и исключений.
- Позволяет собирать пользовательские данные телеметрии.
- Поддерживает динамические метрики для мониторинга и сбора данных телеметрии из динамических веб-приложений в рабочей среде.
Дополнительную информацию о преимуществах использования дистрибутива Azure Monitor OpenTelemetry см. в разделе Почему следует использовать дистрибутив Azure Monitor OpenTelemetry.
Чтобы узнать больше о сборе данных с помощью OpenTelemetry, ознакомьтесь с обзором Application Insights или часто задаваемыми вопросами о OpenTelemetry.
Выполните действия, описанные в этой статье, чтобы установить дистрибутив, подключить его к ресурсу Application Insights и убедиться, что потоки данных телеметрии передаются в Azure Monitor.
Состояние выпуска OpenTelemetry
Предложения OpenTelemetry доступны для приложений .NET, Node.js, Python и Java. Для получения сведений о состоянии выпуска каждой функции см. часто задаваемые вопросы.
Примечание.
Сведения о приложениях-функциях Azure см. в разделе Use OpenTelemetry с Функции Azure.
Активировать OpenTelemetry с помощью Application Insights
Выполните действия, описанные в этом разделе, для инструментирования приложения с помощью OpenTelemetry. Выберите вкладку для инструкций, относящихся к языку.
В следующей таблице перечислены пакеты и команды установки для каждого поддерживаемого языка:
| Язык | Package | Команда установки |
|---|---|---|
| ASP.NET Core | Azure.Monitor.OpenTelemetry.AspNetCore |
dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore |
| .NET | Azure.Monitor.OpenTelemetry.Exporter |
dotnet add package Azure.Monitor.OpenTelemetry.Exporter |
| Java | applicationinsights-agent-3.7.8.jar |
Скачать с GitHub |
| Node.js | @azure/monitor-opentelemetry |
npm install @azure/monitor-opentelemetry |
| Python | azure-monitor-opentelemetry |
pip install azure-monitor-opentelemetry |
Примечание.
.NET охватывает несколько сценариев, включая классические ASP.NET, консольные приложения, Windows Forms (WinForms) и многое другое.
Предварительные условия
- Подписка Azure: Создайте бесплатную подписку Azure
- Ресурс Application Insights. Создание ресурса Application Insights.
- Приложение ASP.NET Core с официально поддерживаемой версией .NET
Совет
Если вы мигрируете со старых версий SDK 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();
Скопируйте строку подключения из ресурса Application Insights
Строка подключения уникальна и указывает, куда распределение OpenTelemetry от Azure Monitor отправляет собираемую телееметрию.
Совет
Если у вас еще нет ресурса Application Insights, следуйте этому руководству чтобы создать его. Рекомендуется создать новый ресурс, а не использовать существующий.
Чтобы скопировать строка подключения, выполните следующие действия.
- Перейдите в панель Overview ресурса Application Insights.
- Найдите свою строку подключения.
- Наведите указатель мыши на строку подключения и выберите значок Скопировать в буфер обмена.
Вставьте строка подключения в вашу среду
Чтобы вставить строка подключения, используйте один из следующих методов:
| Метод | Поддерживаемые языки | Рекомендуется для |
|---|---|---|
| Переменная среды | Все | Производство |
Файл конфигурации (applicationinsights.json) |
Только Java | Промышленная среда (Java) |
| Код | ASP.NET Core, Node.js, Python | Только локальные разработки и тестирования |
Внимание
Рекомендуется задать строка подключения с помощью кода только в локальных средах разработки и тестирования.
В рабочей среде используйте переменную среды или файл конфигурации (только Java).
Задайте строку подключения Application Insights в качестве переменной среды (рекомендуется для продуктивной среды)
Замените
<Your строка подключения>в следующей команде на вашу строку подключения.APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>Настройте строку подключения Application Insights в файле конфигурации - Только для Java
Создайте файл конфигурации с именем
applicationinsights.jsonи поместите его в тот же каталог, чтоapplicationinsights-agent-3.7.8.jarи в следующем содержимом:{ "connectionString": "<Your connection string>" }Замените
<Your строка подключения>в предыдущем JSON на вашу уникальную строку подключения.Настройте строку подключения Application Insights в коде - Только для ASP.NET Core, Node.js и Python
См. настройку строки подключения для примера задания строки подключения через код.
Примечание.
Если строка подключения задана в нескольких местах, она используется в следующем порядке приоритета (от самого высокого к самому низкому):
- Код
- Переменная среды
- Файл конфигурации
Подтвердите, что данные поступают
После настройки дистрибутива OpenTelemetry для Azure Monitor и указания строки подключения запустите приложение и откройте ресурс Application Insights на портале Azure, чтобы убедиться, что отображаются трассировки, метрики и журналы. Для отображения данных может потребоваться несколько минут.
Application Insights теперь включен для приложения. Следующие шаги являются необязательными и позволяют дополнительно настраивать.
Примечание.
В рамках инструментирования Application Insights мы собираем и отправляем диагностические данные в Microsoft. Эти данные помогают нам использовать и улучшать Application Insights. Дополнительные сведения см. в разделе "Вопросы и ответы о Application Insights".
Внимание
При наличии двух или более служб, которые выводят данные телеметрии в один и тот же ресурс Application Insights, необходимо задать имена облачных ролей, чтобы правильно представить их на схеме приложений.
Устранение неполадок, обратная связь и поддержка
Совет
Во всех статьях о дистрибутивах OpenTelemetry доступны следующие разделы.
Troubleshooting
Сведения об устранении неполадок см. в статье Устранение проблем с OpenTelemetry в .NET и Устранение неполадок с отсутствием данных телеметрии приложений в Azure Monitor Application Insights.
Отзывы о OpenTelemetry
Чтобы оставить отзыв, сделайте следующее:
- Заполните опрос отзывов клиентов сообщества OpenTelemetry.
- Расскажите Microsoft о себе, присоединившись к OpenTelemetry Early Adopter Community.
- Взаимодействуйте с другими пользователями Azure Monitor в Microsoft Tech Community.
- Отправьте запрос на функцию на форуме отзывов Azure.
Поддержка
Выберите вкладку для выбранного языка, чтобы узнать параметры поддержки.
- Для вопросов технической поддержки Azure откройте заявку в поддержку Azure.
- По вопросам, связанным с OpenTelemetry, обратитесь непосредственно к сообществу OpenTelemetry .NET.
- Список открытых вопросов, связанных с экспортером Azure Monitor, можно найти на странице с проблемами на GitHub.
Следующие шаги
- Сведения о исходном коде см. в репозитории Azure Monitor ASP.NET Core GitHub.
- Чтобы просмотреть пример приложения, см. раздел Azure Monitor OpenTelemetry для ASP.NET Core.
- Чтобы установить пакет NuGet, проверить наличие обновлений или просмотреть заметки о выпуске, перейдите на страницу NuGet-пакета Azure Monitor AspNetCore.
- Дополнительные сведения о OpenTelemetry и его сообществе см. в репозитории OpenTelemetry .NET GitHub.
- Чтобы обеспечить пользовательский опыт, включите мониторинг пользователей в Интернете или браузере.