Основы сбора данных в Azure Monitor Application Insights

Прежде чем отслеживать приложение, его необходимо инструментировать.

В следующих разделах мы рассмотрим некоторые основы сбора данных в Azure Monitor Application Insights.

Параметры инструментирования

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

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

  • Автоматическое инструментирование (автоинструментация)
  • Инструментирование вручную

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

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

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

Внимание

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

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

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

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

Полная история наблюдаемости включает в себя все три основных аспекта, а Application Insights дополнительно разбивает эти основы на таблицы на основе нашей модели данных. Наши пакеты SDK Application Insights или дистрибутивы OpenTelemetry Azure Monitor включают все, что необходимо для работы с приложением Монитор производительности в 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
Автоколекторы Библиотеки инструментирования
Канал Экспортер
Без агента и на основе агента Автоинструментация
Трассировки Журналы
Запросы Диапазоны серверов
Зависимости Другие типы диапазонов (клиент, внутренний и т. д.)
Идентификатор операции Идентификатор трассировки
Идентификатор или родительский идентификатор операции Идентификатор диапазона

Часто задаваемые вопросы

Где можно найти список версий пакета SDK Application Insights и их имена?

Список версий и имен пакета SDK размещается на сайте GitHub. Дополнительные сведения см. в разделе "Версия пакета SDK".

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

Выберите подход к включению:

Дополнительные сведения см. в разделах часто задаваемых вопросов и часто задаваемых вопросов о Azure Monitor Application Insights и OpenTelemetry.