Прочитать на английском

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


Включение 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) и многое другое.

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

  • Приложение Python с помощью Python 3.8+

Совет

Если вы выполняете миграцию из OpenCensus, ознакомьтесь с нашей документацией по миграции.

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

Установите последний пакет PyPI для azure-monitor-opentelemetry :

sh
pip install azure-monitor-opentelemetry

Изменение приложения

Python
import logging
# Import the `configure_azure_monitor()` function from the
# `azure.monitor.opentelemetry` package.
from azure.monitor.opentelemetry import configure_azure_monitor

# Configure OpenTelemetry to use Azure Monitor with the 
# APPLICATIONINSIGHTS_CONNECTION_STRING environment variable.
configure_azure_monitor(
    logger_name="<your_logger_namespace>",  # Set the namespace for the logger in which you would like to collect telemetry for if you are collecting logging telemetry. This is imperative so you do not collect logging telemetry from the SDK itself.
)
logger = logging.getLogger("<your_logger_namespace>")  # Logging telemetry will be collected from logging calls made with this logger and all of it's children loggers.

Скопируйте строка подключения из ресурса 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.7.0.jar и в следующем содержимом:

    JSON
    {
      "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 доступны для всех поддерживаемых языков:

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