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


Сбор данных телеметрии с помощью OpenTelemetry в Application Insights

Прежде чем отслеживать приложение, его необходимо инструментировать. В следующих разделах мы рассмотрим некоторые основы сбора данных в Azure Monitor Application Insights.

Инструментирование приложений с помощью OpenTelemetry (OTel) в Application Insights обеспечивает стандартизованную коллекцию данных телеметрии на разных платформах. Это повышает наблюдаемость, упрощает мониторинг производительности и поддерживает распределенную трассировку, метрики и анализ журналов.

Примечание.

Сведения о приложениях-функциях Azure см. в статье "Использование OpenTelemetry" с функциями Azure.

Подходы инструментирования для Application Insights: OpenTelemetry и многое другое

На базовом уровне инструментирование просто позволяет приложению записывать данные телеметрии.

Существует два способа инструментирования приложения:

Автоинструментация позволяет собирать данные телеметрии с помощью конфигурации, не касаясь кода приложения. Хотя это удобнее, он, как правило, менее настраивается. Он также недоступен во всех языках. См. сведения о поддерживаемых средах и языках автоинструментации. Когда автоинструментация доступна, это самый простой способ включить Azure Monitor Application Insights.

Штатное инструментирование — это процесс кодирования с использованием API Application Insights или OpenTelemetry. В контексте пользователя обычно это относится к установке пакета SDK для конкретного языка в приложении. Это означает, что вам нужно самостоятельно управлять обновлениями последней версии пакета. Этот параметр можно использовать, если требуется выполнять пользовательские вызовы зависимостей или вызовы API, которые не записываются по умолчанию с автоинструментацией. Существует два варианта ручного инструментирования:

Хотя мы видим OpenTelemetry в качестве нашего будущего направления, у нас нет планов прекратить сбор данных из старых пакетов SDK. Нам предстоит проделать путь, прежде чем наши дистрибутивы Azure OpenTelemetry достигнут функционального соответствия с нашими пакетами SDK для Application Insights. Во многих случаях клиенты продолжают использовать пакеты SDK Application Insights в течение некоторого времени.

Внимание

"Вручную" не означает, что вам потребуется написать сложный код для определения временных интервалов распределённых трассировок, хотя такой вариант остается возможным. Библиотеки инструментирования, упакованные в наши дистрибутивы, позволяют легко записывать сигналы телеметрии в распространенных платформах и библиотеках. Мы активно работаем над инструментированием наиболее популярных пакетов SDK службы Azure с помощью OpenTelemetry, чтобы эти сигналы были доступны клиентам, которые используют дистрибутив OpenTelemetry в Azure Monitor.

Типы телеметрии

Телеметрия — данные, собираемые для наблюдения за приложением, можно разделить на три типа или основных элемента:

  • Распределенная трассировка
  • Метрики
  • Журналы

Полная история наблюдаемости включает в себя все три основных аспекта, а Application Insights дополнительно разбивает эти основы на таблицы на основе нашей модели данных. Наши SDK Application Insights или версии Azure Monitor OpenTelemetry включают все, что нужно для мониторинга производительности приложений в Azure. Сам пакет является бесплатным для установки, и вы платите только за данные, которые вы используете в Azure Monitor.

Следующие источники объясняют три основных принципа:

Маршрутизация телеметрии

Существует два способа отправки данных в Azure Monitor (или любой поставщик):

  • Через прямой экспортер
  • Через агент

Прямой экспортер отправляет данные телеметрии (из кода приложения) непосредственно в точку приема данных Azure Monitor. Основное преимущество такого подхода заключается в простоте адаптации.

Доступные в настоящее время пакеты SDK Application Insights и дистрибутивы OpenTelemetry Azure Monitor зависят от прямого экспортера.

Примечание.

Сведения о позиции Azure Monitor в Сборщике OpenTelemetry см. в разделе "Вопросы и ответы о OpenTelemetry".

Совет

Если вы планируете использовать OpenTelemetry-Collector для выборки или дополнительной обработки данных, вы можете получить эти же возможности, встроенные в Azure Monitor. Ресурсы Application Insights на основе рабочей области получают преимущества от преобразований на этапе приема данных. Чтобы включить, следуйте инструкциям в руководстве, пропустив шаг, показывающий, как настроить параметр диагностики, так как с помощью Application Insights, ориентированного на рабочую область, это уже настроено. Если вы фильтруете менее 50% от общего объема, дополнительных затрат не потребуется. После 50 %, начинается плата, но она значительно ниже, чем стандартный тариф за ГБ.

OpenTelemetry

Корпорация Майкрософт рада использовать OpenTelemetry для современного инструментирования телеметрии. Вы, наши клиенты, попросили нейтрального оборудования, и мы рады сотрудничать с сообществом OpenTelemetry, чтобы создать согласованные API и SDK в разных языках.

Корпорация Майкрософт работала с заинтересованными лицами проекта из двух ранее популярных проектов телеметрии с открытым кодом, OpenCensus и OpenTracing. Вместе мы помогли создать один проект OpenTelemetry. OpenTelemetry включает в себя вклад всех основных поставщиков облачных технологий и средств управления производительностью приложений (APM) и находится в Cloud Native Computing Foundation (CNCF). Корпорация Майкрософт является платиновым членом CNCF.

Для получения информации о терминологии смотрите глоссарий в спецификациях OpenTelemetry.

Некоторые устаревшие термины в Application Insights запутаны из-за конвергенции отрасли в OpenTelemetry. В следующей таблице рассматриваются эти различия. Термины OpenTelemetry заменяют термины Application Insights.

Application Insights OpenTelemetry
Автосборщики Библиотеки инструментирования
Канал Экспортер
Бескодовое / На основе агента Автоинструментация
Следы Журналы
Запросы Диапазоны серверов
Зависимости Другие типы диапазонов (клиент, внутренний и т. д.)
Идентификатор операции Идентификатор трассировки
Идентификатор или родительский идентификатор операции Идентификатор диапазона

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

Ознакомьтесь с разделами часто задаваемых вопросов Azure Monitor Application Insights FAQ и OpenTelemetry FAQ, чтобы получить дополнительную информацию.

Выберите подход к обеспечению возможностей.