Обзор Application Insights

Application Insights является расширением Azure Monitor и предоставляет функции мониторинга производительности приложений (также известные как "APM"). Средства APM полезны для мониторинга приложений в ходе разработки, тестирования и в рабочей среде следующими способами:

  1. Упреждающее понимание того, как работает приложение.
  2. Реактивно просмотрите данные о выполнении приложения, чтобы определить причину инцидента.

Помимо сбора метрик и данных телеметрии приложения, которые описывают действия и работоспособность приложения, Application Insights также можно использовать для сбора и хранения данных журнала трассировки приложения.

Трассировка журнала связана с другими данными телеметрии, чтобы получить подробное представление о действии. Для добавления журнала трассировки в существующие приложения требуется только указать назначение для журналов; Редко требуется изменять платформу ведения журнала.

Application Insights предоставляет другие функции, включая, помимо прочего, следующие:

  • Динамические метрики — наблюдение за действиями развернутого приложения в режиме реального времени без влияния на среду узла.
  • Доступность , также известный как "Мониторинг искусственных транзакций", проверьте внешние конечные точки приложений, чтобы проверить общую доступность и скорость реагирования с течением времени.
  • Интеграция GitHub или Azure DevOps — создание рабочих элементов GitHub или Azure DevOps в контексте данных Application Insights
  • Использование — узнайте, какие функции пользуются популярностью у пользователей и как пользователи взаимодействуют и используют ваше приложение.
  • Интеллектуальное обнаружение — автоматическое обнаружение сбоев и аномалий с помощью упреждающего анализа телеметрии

Кроме того, Application Insights поддерживает распределенную трассировку, также называемую "корреляцией распределенных компонентов". Эта функция позволяет искать и визуализировать сквозной поток выполнения или транзакции. Возможность комплексной трассировки действий становится все более важной для приложений, созданных в виде распределенных компонентов или микрослужб.

Схема приложений позволяет получить высокоуровневое представление архитектуры приложения сверху вниз, а также краткие визуальные ссылки на работоспособность компонентов и скорость реагирования.

Сведения о количестве ресурсов Application Insights, необходимых для охвата приложения или компонентов в разных средах, см. в руководстве по планированию развертывания Application Insights.

Как использовать Application Insights?

Application Insights включается с помощью автоматического инструментирования (агент) или путем добавления пакета SDK Application Insights в код приложения. Поддерживаются многие языки, и приложения могут находиться в Azure, локально или размещаться в другом облаке. Чтобы узнать, какой тип инструментирования лучше всего подходит для вас, ознакомьтесь с Разделы справки инструментирование приложения?.

Агент Application Insights или пакет SDK предварительно обрабатывает данные телеметрии и метрики перед отправкой данных в Azure, где они принимаются и обрабатываются далее перед сохранением в журналах Azure Monitor (Log Analytics). По этой причине для использования Application Insights требуется учетная запись Azure.

Самый простой способ приступить к работе с Application Insights — использовать портал Azure и встроенные визуальные элементы. Опытные пользователи могут напрямую запрашивать базовые данные для создания пользовательских визуализаций с помощью панелей мониторинга и книг Azure Monitor.

Рассмотрите возможность начать с карты приложений для представления высокого уровня. Используйте интерфейс поиска , чтобы быстро сузить данные телеметрии и данные по типу и дате и времени, а также выполнить поиск в данных (например, трассировки журналов) и выполнить фильтрацию по заданной связанной операции.

Перейдите к аналитике с помощью представления производительности . Получите подробные сведения о производительности приложения или API и подчиненных зависимостей и найдите репрезентативный пример для комплексного изучения. Кроме того, будьте упреждающими с представлением "Сбой " — узнайте, какие компоненты или действия вызывают сбои, а также рассмотрение ошибок и исключений. Встроенные представления полезны для упреждающего отслеживания работоспособности приложения и для реактивного анализа первопричин.

Создавайте оповещения Azure Monitor , чтобы сообщить о потенциальных проблемах в случае отклонений компонентов приложения или компонентов от установленных базовых показателей.

Цены на Application Insights основаны на потреблении; вы платите только за то, что используете. Дополнительные сведения о ценах см. на странице цен на Azure Monitor и о том, как оптимизировать затраты.

Разделы справки инструментирование приложения?

Автоматическое инструментирование является предпочтительным методом инструментирования. Он не требует инвестиций для разработчиков и исключает будущие издержки, связанные с обновлением пакета SDK. Это также единственный способ инструментировать приложение, в котором у вас нет доступа к исходному коду.

Пакет SDK для Application Insights необходимо установить только в следующих случаях:

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

Встроенное автоматическое инструментирование доступно для Служба приложений Azure .NET, Служба приложений Azure .NET Core, Функции Azure и Azure Виртуальные машины.

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

Подробное представление всех сред, языков и поставщиков ресурсов, поддерживаемых автоматическим инструментированием, доступно здесь.

В других сценариях требуется пакет SDK для Application Insights .

Также доступна предварительная версия предложения Open Telemetry .


Поддерживаемые языки

В этом разделе описываются поддерживаемые сценарии.

Поддерживаемые платформы и среды

Поддерживаемые платформы и платформы перечислены здесь.

Интеграция службы Azure (включение портала, развертывание azure Resource Manager)

Автоматическое инструментирование (включить без изменения кода)

Ручное инструментирование или пакет SDK (требуются некоторые изменения кода)

Примечание

Инструментирование на основе OpenTelemetry доступно в предварительной версии для C#, Node.js и Python. Ознакомьтесь с ограничениями, описанными в начале официальной документации по каждому языку. Если вам требуется полнофункциональный интерфейс, используйте существующие пакеты SDK для Application Insights.

Платформы ведения журналов

Экспорт и анализ данных

Неподдерживаемые пакеты SDK

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


Устранение неполадок

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

Ознакомьтесь с часто задаваемыми вопросами.

Вопросы на форуме Microsoft Q&A

Разместите вопросы на форуме Microsoft Q&A для ответов.

Stack Overflow

Разместите вопросы, касающиеся кода и Stack Overflow с помощью тега "Application Insights".

User Voice

Оставьте отзыв о продукте для команды разработчиков на UserVoice.

Дальнейшие действия