Справка, поддержка и обратная связь с OpenTelemetry
В этой статье представлены варианты справки, поддержки и обратной связи для OpenTelemetry в Azure Monitor Application Insights для .NET, Java, Node.js и приложений Python.
Часто задаваемые вопросы
Что такое OpenTelemetry?
Это новый стандарт с открытым исходным кодом для наблюдения. Дополнительные сведения см. в openTelemetry.
Почему Microsoft Azure Monitor инвестирует в OpenTelemetry?
Корпорация Майкрософт инвестирует в OpenTelemetry по следующим причинам:
- Он нейтрализуется поставщиком и предоставляет согласованные API/пакеты SDK на разных языках.
- Со временем мы считаем, что OpenTelemetry позволит клиентам Azure Monitor наблюдать за приложениями, написанными на языках за пределами поддерживаемых языков.
- Он расширяет типы данных, которые можно собирать с помощью расширенного набора библиотек инструментирования.
- Наборы средств разработки программного обеспечения OpenTelemetry (ПАКЕТЫ SDK), как правило, являются более производительными, чем их предшественники, пакеты SDK Application Insights.
- OpenTelemetry соответствует стратегии Майкрософт по открытый код.
Что такое состояние OpenTelemetry?
См. сведения о состоянии OpenTelemetry.
Что такое дистрибутив Azure Monitor OpenTelemetry?
Вы можете подумать об этом как тонкой оболочке, которая объединяет все компоненты OpenTelemetry для первого класса в Azure. Эта оболочка также называется распределением в OpenTelemetry.
Почему следует использовать дистрибутив OpenTelemetry в Azure Monitor?
Существует несколько преимуществ использования дистрибутива OpenTelemetry в Azure Monitor по сравнению с собственной платформой OpenTelemetry из сообщества:
- Сокращение усилий по включению
- Поддерживается Microsoft
- Включает такие функции Azure, как:
- Выборка, совместимая с классическими пакетами SDK Application Insights
- Проверка подлинности Microsoft Entra
- Автономное хранилище и автоматические повторные попытки
- Statsbeat
- Стандартные метрики Application Insights
- Обнаружение метаданных ресурсов для автоматического заполнения имени облачной роли и экземпляра облачной роли в различных средах Azure
- Интерактивные метрики
В духе OpenTelemetry мы разработали дистрибутив, чтобы быть открытым и расширяемым. Например, можно добавить следующее:
- Экспортер протокола OpenTelemetry (OTLP) и отправка в другое место одновременно
- Другие библиотеки инструментирования, не включенные в дистрибутив
Так как дистрибутив предоставляет распределение OpenTelemetry, дистрибутив поддерживает все, что поддерживается OpenTelemetry. Например, можно добавить дополнительные процессоры телеметрии, экспортеры или библиотеки инструментирования, если OpenTelemetry поддерживает их.
Примечание.
Дистрибутив задает образец для пользовательского с фиксированной скоростью выборки для Application Insights. Это можно изменить на другой образец, но это может отключить некоторые из включенных возможностей дистрибутива. Дополнительные сведения о поддерживаемом образце см. в разделе "Включение выборки " в разделе "Настройка Azure Monitor OpenTelemetry".
Для языков без поддерживаемого автономного экспортера OpenTelemetry дистрибутив Azure Monitor OpenTelemetry является единственным поддерживаемым в настоящее время способом использования OpenTelemetry с Azure Monitor. Для языков с поддерживаемым автономным экспортером OpenTelemetry вы можете использовать дистрибутив Azure Monitor OpenTelemetry или соответствующий автономный экспортер OpenTelemetry в зависимости от сценария телеметрии. Дополнительные сведения см. в статье "Когда следует использовать экспортер OpenTelemetry Azure Monitor?".
Как протестировать дистрибутив OpenTelemetry в Azure Monitor?
Ознакомьтесь с нашими документами по включению для .NET, Java, JavaScript (Node.js) и Python.
Следует ли использовать OpenTelemetry или пакет SDK Application Insights?
Мы рекомендуем использовать дистрибутив OpenTelemetry, если вам не требуется функция, доступная только с официальной поддержкой в пакете SDK Application Insights.
Внедрение OpenTelemetry теперь предотвращает перенос на более позднюю дату.
Когда следует использовать экспортер OpenTelemetry в Azure Monitor?
Для ASP.NET Core, Java, Node.js и Python рекомендуется использовать дистрибутив OpenTelemetry в Azure Monitor. Это одна строка кода для начала работы.
Для всех других сценариев .NET, включая классические ASP.NET, консольные приложения, Windows Forms (WinForms) и т. д., мы рекомендуем использовать экспортер OpenTelemetry .NET в Azure Monitor: Azure.Monitor.OpenTelemetry.Exporter
Для более сложных сценариев телеметрии Python, требующих расширенной настройки, рекомендуется использовать экспортер OpenTelemetry Для Python Monitor.
Что такое текущее состояние выпуска функций в дистрибутиве OpenTelemetry в Azure Monitor?
На следующей диаграмме описана поддержка функций OpenTelemetry для каждого языка.
Функция | .NET | Node.js | Python | Java |
---|---|---|---|---|
Распределенная трассировка | ✅ | ✅ | ✅ | ✅ |
Пользовательские метрики | ✅ | ✅ | ✅ | ✅ |
Стандартные метрики | ✅ | ✅ | ✅ | ✅ |
Выборка с фиксированной частотой | ✅ | ✅ | ✅ | ✅ |
Автономное хранилище и автоматические повторные попытки | ✅ | ✅ | ✅ | ✅ |
Отчеты об исключениях | ✅ | ✅ | ✅ | ✅ |
Коллекция журналов | ✅ | ⚠️ | ✅ | ✅ |
Пользовательские события | ⚠️ | ⚠️ | ⚠️ | ✅ |
Проверка подлинности Microsoft Entra | ✅ | ✅ | ✅ | ✅ |
Динамические метрики | ✅ | ✅ | ✅ | ✅ |
Фильтрация динамических метрик | ✅ | ❌ | ❌ | ❌ |
Определение контекста ресурсов для vm/VMSS и Служба приложений | ✅ | ❌ | ✅ | ✅ |
Определение контекста ресурсов для Служба Azure Kubernetes (AKS) и функций | ❌ | ❌ | ❌ | ✅ |
События тестирования доступности, созданные с помощью API отслеживания доступности | ❌ | ❌ | ❌ | ✅ |
Фильтрация запросов, зависимостей, журналов и исключений по анонимному идентификатору пользователя и искусственному источнику | ❌ | ❌ | ❌ | ✅ |
Фильтрация зависимостей, журналов и исключений по имени операции | ❌ | ❌ | ❌ | ✅ |
Адаптивная выборка | ❌ | ❌ | ❌ | ✅ |
Profiler | ❌ | ❌ | ❌ | ⚠️ |
Отладчик моментальных снимков | ❌ | ❌ | ❌ | ❌ |
Ключ
- ✅ Эта функция доступна всем клиентам с официальной поддержкой.
- ⚠️ Эта функция доступна как общедоступная предварительная версия. Дополнительные условия использования для предварительных версий Microsoft Azure.
- ❌ Эта функция недоступна или не применима.
Можно ли использовать OpenTelemetry для веб-браузеров?
Да, но мы не рекомендуем его, и Azure не поддерживает его. JavaScript OpenTelemetry оптимизирован для Node.js. Вместо этого рекомендуется использовать пакет SDK JavaScript для Application Insights.
Когда можно ожидать, что пакет SDK OpenTelemetry будет доступен для использования в веб-браузерах?
Веб-пакет SDK OpenTelemetry не имеет определенной временной шкалы доступности. Скорее всего, несколько лет от пакета SDK для браузера, который является жизнеспособной альтернативой пакету SDK JavaScript для Application Insights.
Можно ли протестировать OpenTelemetry в веб-браузере сегодня?
Веб-песочница OpenTelemetry — это вилка, предназначенная для работы OpenTelemetry в браузере. Пока невозможно отправить данные телеметрии в Application Insights. Пакет SDK не определяет общие события клиента.
Поддерживается ли Application Insights вместе с агентами конкурентов, такими как AppDynamics, DataDog и NewRelic?
Эта практика не является тем, что мы планируем протестировать или поддерживать, хотя наши дистрибутивы позволяют экспортировать в конечную точку OTLP вместе с Azure Monitor одновременно.
Можно ли использовать предварительные версии функций в рабочих средах?
Это не рекомендуемый вариант. Дополнительные условия использования для предварительных версий Microsoft Azure.
Какова разница между ручной и автоматической инструментированием?
Ознакомьтесь с обзором OpenTelemetry.
Можно ли использовать сборщик OpenTelemetry?
Некоторые клиенты используют сборщик OpenTelemetry в качестве альтернативы агенту, хотя корпорация Майкрософт официально не поддерживает подход на основе агента для мониторинга приложений. В то же время сообщество с открытым кодом внесло вклад в сборщик Azure Monitor OpenTelemetry, который некоторые клиенты используют для отправки данных в Azure Monitor Application Insights. Это не поддерживается корпорацией Майкрософт.
Чем отличается OpenCensus от OpenTelemetry?
OpenCensus — это предшественник OpenTelemetry. Корпорация Майкрософт способствовала объединению OpenTracing с OpenCensus для создания OpenTelemetry, единого в мире стандарта наблюдаемости. Текущий рабочий пакет SDK для Python для Azure Monitor основан на OpenCensus. Корпорация Майкрософт стремится сделать Azure Monitor на основе OpenTelemetry.
В Grafana, почему я вижу Status: 500. Can't visualize trace events using the trace visualizer
?
Вы можете попытаться визуализировать необработанные текстовые журналы, а не трассировки OpenTelemetry.
В Application Insights таблица Traces хранит необработанные текстовые журналы для диагностических целей. Они помогают определить и сопоставить трассировки, связанные с запросами пользователей, другими событиями и отчетами об исключениях. Однако таблица Traces не напрямую способствует представлению сквозных транзакций (каскадной диаграмме) в средствах визуализации, таких как Grafana.
Благодаря растущему внедрению облачных методик существует эволюция в коллекции и терминологии телеметрии. OpenTelemetry стал стандартом для сбора и инструментирования данных телеметрии. В этом контексте термин "Трассировка" взял на себя новое значение. Вместо необработанных журналов "Трассировка" в OpenTelemetry относится к более богатой структурированной форме телеметрии, которая включает диапазоны, представляющие отдельные единицы работы. Эти диапазоны важны для создания подробных представлений транзакций, что позволяет лучше отслеживать и диагностика облачных приложений.
Устранение неполадок
Шаг 1. Включение ведения журнала диагностики
Экспортер Azure Monitor использует EventSource для внутреннего ведения журнала. Журналы экспортера доступны любому EventListener, выбрав источник с именем OpenTelemetry-AzureMonitor-Exporter
. Инструкции по устранению неполадок см. в разделе "Устранение неполадок OpenTelemetry" на сайте GitHub.
Шаг 2. Тестирование подключения между узлом приложения и службой приема
Комплекты средств разработки программного обеспечения Application Insights (ПАКЕТЫ SDK) и агенты отправляют данные телеметрии для приема в качестве вызовов REST в конечных точках приема. Чтобы проверить подключение с веб-сервера или хост-компьютера приложения к конечным точкам службы приема, используйте команды cURL или необработанные запросы REST из PowerShell. Дополнительные сведения см. в статье "Устранение неполадок с отсутствующими данными телеметрии приложения" в Azure Monitor Application Insights.
Известные проблемы
Ниже перечислены известные проблемы для экспортеров OpenTelemetry в Azure Monitor:
Имя операции отсутствует в телеметрии зависимостей. Отсутствует имя операции приводит к сбоям и негативно влияет на работу вкладки производительности.
Модель устройства отсутствует в телеметрии запросов и зависимостей. Недостающая модель устройства негативно влияет на анализ когорты устройств.
Поддержка
Выберите вкладку для выбранного языка, чтобы узнать параметры поддержки.
- Чтобы получить сведения о проблемах поддержки Azure, сделайте запрос в службу поддержки Azure.
- При проблемах с OpenTelemetry обратитесь непосредственно к сообществу OpenTelemetry .NET.
- Список открытых проблем, связанных с экспортером Azure Monitor, см. на странице проблем GitHub.
Отзывы о OpenTelemetry
Чтобы оставить отзыв, сделайте следующее:
- Пройдите опрос для сбора отзывов клиентов в сообществе OpenTelemetry.
- Сообщите корпорации Майкрософт о себе, присоединившись к нашему сообществу ранних последователей OpenTelemetry.
- Общайтесь с другими пользователями Azure Monitor в Microsoft Tech Community.
- Выполните запрос функции на форуме отзывов Azure.