Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Прежде чем отслеживать приложение, его необходимо инструментировать. В следующих разделах мы рассмотрим некоторые основы сбора данных в Azure Monitor Application Insights.
Инструментирование приложений с помощью OpenTelemetry (OTel) в Application Insights обеспечивает стандартизованную коллекцию данных телеметрии на разных платформах. Это повышает наблюдаемость, упрощает мониторинг производительности и поддерживает распределенную трассировку, метрики и анализ журналов.
Примечание.
Сведения о приложениях-функциях Azure см. в статье "Использование OpenTelemetry" с функциями Azure.
Подходы инструментирования для Application Insights: OpenTelemetry и многое другое
На базовом уровне инструментирование просто позволяет приложению записывать данные телеметрии.
Существует два способа инструментирования приложения:
- Автоматическое инструментирование (автоинструментация)
- Ручное управление инструментами
Автоинструментация позволяет собирать данные телеметрии с помощью конфигурации, не касаясь кода приложения. Хотя это удобнее, он, как правило, менее настраивается. Он также недоступен во всех языках. См. сведения о поддерживаемых средах и языках автоинструментации. Когда автоинструментация доступна, это самый простой способ включить Azure Monitor Application Insights.
Штатное инструментирование — это процесс кодирования с использованием API Application Insights или OpenTelemetry. В контексте пользователя обычно это относится к установке пакета SDK для конкретного языка в приложении. Это означает, что вам нужно самостоятельно управлять обновлениями последней версии пакета. Этот параметр можно использовать, если требуется выполнять пользовательские вызовы зависимостей или вызовы API, которые не записываются по умолчанию с автоинструментацией. Существует два варианта ручного инструментирования:
- Пакеты SDK Application Insights
- Дистрибутивы OpenTelemetry в Azure Monitor.
Хотя мы видим 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.
Следующие источники объясняют три основных принципа:
- Веб-сайт сообщества OpenTelemetry
- Спецификации OpenTelemetry
- Наблюдаемость распределенных систем с помощью Синди Сридхарана
Маршрутизация телеметрии
Существует два способа отправки данных в 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, чтобы получить дополнительную информацию.
Выберите подход к обеспечению возможностей.
- Автоинструментация
- Дистрибутив OpenTelemetry в Azure Monitor
- SDK для Application Insights