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