Обзор Application Insights

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

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

Application Insights.

  • Поддерживает широкий набор платформ, включая .NET, Node.js, Java и Python.
  • Работает для приложений с размещением в локальной, гибридной или любой общедоступной облачной средах.
  • Интегрируется с процессами DevOps.
  • Имеет точки подключения ко многим средствам разработки.
  • Может выполнять мониторинг и анализ данных телеметрии из мобильных приложений благодаря интеграции с Центром приложений Visual Studio.

Как работает функция Application Insights

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

Вы можете инструментировать веб-приложение и любые фоновые компоненты, а также JavaScript на веб-страницах. Приложение и его компоненты не обязательно размещать в Azure.

Функция инструментирования отслеживает ваше приложение и направляет данные телеметрии в ресурс Application Insights, используя уникальный ключ инструментирования. Влияние на производительность приложений невелико. Вызовы отслеживания не приводят к блокировке, выполняются в пакетном режиме и отправляется в отдельном потоке.

Из сред размещения можно извлечь данные телеметрии, такие как данные счетчиков производительности, диагностики Azure или журналов Docker. Вы также можете настроить веб-тесты, которые периодически отправляют искусственные запросы в веб-службу. Все эти потоки телеметрии интегрируются в Azure Monitor. На портале Azure к необработанным данным можно применять мощные инструменты анализа и поиска.

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

Diagram that shows Application Insights instrumentation in an app sending telemetry to an Application Insights resource.

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

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

Предварительные требования

Начало работы

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

Более подробные сведения и инструкции см. в следующих статьях:

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

Более подробные сведения и инструкции см. в следующих статьях:

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

Azure Monitor

После настройки Application Insights начните отслеживание приложения.

  • Настройте веб-тесты доступности.
  • Используйте панель приложения по умолчанию для комнаты команды, чтобы отслеживать нагрузку, скорость реагирования и производительность. Отслеживайте зависимости, загрузку страниц и вызовы AJAX.
  • Узнавайте, какие запросы выполняются медленнее всех и какие чаще всего не выполняются.
  • просматривайте Live Stream при развертывании новых выпусков, чтобы сразу же узнавать о любом снижении производительности.

Обнаружение и диагностика

При получении предупреждения или обнаружении проблемы:

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

Измерение, обучение и сборка

  • Планируйте измерение того, как пользователи используют новые элементы интерфейса или бизнес-функции.
  • записывайте пользовательскую телеметрию в свой код;
  • Оцените эффективность каждой новой развертываемой функции.
  • Основывайте следующий цикл разработки на данных телеметрии.

Что отслеживает Application Insights

Application Insights помогает командам разработчиков получить информацию о производительности и использовании приложений. Application Insights отслеживает следующие элементы.

  • Частоты запросов, времени отклика и частоты сбоев.

    Узнайте, какие страницы наиболее популярны, в какое время дня их посещают чаще всего, а также узнайте о расположении пользователей. Узнайте, какие страницы работают лучше всего. Если при увеличении количества запросов повышается время отклика и частота сбоев, возможно, возникла проблема с ресурсами.

  • Частота зависимостей, время отклика и частота сбоев указывают, снижают ли внешние службы производительность.

  • Исключения

    Проанализируйте сводные статистические данные или выберите конкретные экземпляры и выполните детализацию трассировки стека и связанных запросов. Application Insights сообщает об исключениях сервера и браузера.

  • Просмотры страниц и производительность загрузки сообщаются через браузеры пользователей

  • Вызовы AJAX с веб-страницы, включая скорость, время отклика и частоту сбоев.

  • количество пользователей и сеансов;

  • Счетчики производительности с компьютеров с сервером Windows или Linux, такие как ЦП, память и использование сети

  • Размещение диагностики из Docker или Azure

  • Журналы диагностики трассировки из приложения, которые позволяют сопоставлять события трассировки с запросами

  • Пользовательские события и метрики в клиентском или серверном коде, которые отслеживают бизнес-события, например продажи товаров

Просмотр данных Application Insights

Существует множество способов просмотра данных телеметрии Application Insights. Дополнительные сведения см. в следующих статьях:

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

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

ВОПРОСЫ И ОТВЕТЫ

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

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

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

Stack Overflow

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

User Voice

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