Обзор мониторинга приложений для Службы приложений Azure

Процесс включения мониторинга для ваших веб-приложений на основе ASP.NET, ASP.NET Core, Java и Node.js, работающих в службах приложений Azure, стал значительно проще. Ранее вам нужно было вручную инструментировать приложение. Теперь последнее расширение или агент по умолчанию встроены в образ Службы приложений.

Включить Application Insights

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

  • Мониторинг приложений автоинструментации (Application Аналитика Agent).

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

    При включении автоматического инструментирования приложение Аналитика с параметром по умолчанию (также включает выборку). Даже если задано в приложение Azure Аналитика: выборка: все данные 100 % этого параметра будут игнорироваться.

    Полный список поддерживаемых сценариев автоинструментации см. в статье "Поддерживаемые среды", "Языки" и поставщики ресурсов.

    Для мониторинга автоинструментации поддерживаются следующие платформы:

  • Инструментирование приложения вручную с помощью кода путем установки пакета SDK Application Insights.

    Этот подход гораздо более гибкий, но он требует следующих средств: SDK для .NET Core, .NET, Node.js, Python, а также отдельный агент для Java. Этот метод также означает, что вам необходимо самостоятельно управлять обновлениями до последних версий пакетов.

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

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

Примечание.

Отладчик моментальных снимков и профилировщик доступны только в .NET и .NET Core.

Заметки о выпуске

В этом разделе содержатся заметки о выпуске расширения azure веб-приложения для инструментирования среды выполнения с помощью Application Аналитика.

Чтобы найти версию расширения, которую вы используете в данный момент, перейдите в раздел https://<yoursitename>.scm.azurewebsites.net/ApplicationInsights.

Заметки о выпуске

2.8.44

2.8.43

  • Выделение пакета для .NET/.NET Core, Java и Node.js в отдельное расширение сайта Windows для Службы приложений.

2.8.42

  • Расширение JAVA: обновлено до агента Java 3.2.0 с версии 2.5.1.
  • Расширение Node.js: пакет SDK для AI обновлен до версии 2.1.8 с версии 2.1.7. Добавлена поддержка управляемых удостоверений Microsoft Entra, назначенных пользователем и системой.
  • .NET Core: добавлены самодостаточные развертывания и поддержка.NET 6.0 с использованием обработчика запуска.NET.

2.8.41

  • Расширение Node.js: пакет SDK для AI обновлен до версии 2.1.7 с версии 2.1.3.
  • .NET Core: удалена неподдерживаемая версия (2.1). Поддерживаются версии 3.1 и 5.0.

2.8.40

  • Расширение JAVA: обновлено до агента Java 3.1.1 (GA) с версии 3.0.2.
  • Расширение Node.js: пакет SDK для AI обновлен до версии 2.1.3 с версии 1.8.8.

2.8.39

  • .NET Core: добавлена поддержка .NET Core 5.0.

2.8.38

  • Расширение JAVA: обновлено до агента Java 3.0.2 (GA) с версии 2.5.1.
  • Расширение Node.js: пакет SDK для AI обновлен до версии 1.8.8 с версии 1.8.7.
  • .NET Core: удалены неподдерживаемые версии (2.0, 2.2, 3.0). Поддерживаются версии 2.1 и 3.1.

2.8.37

  • Расширение AppSvc для Windows: .NET Core теперь работает с любой версией System.Diagnostics.DiagnosticSource.dll.

2.8.36

  • Расширение AppSvc для Windows: реализовано взаимодействие с пакетом SDK для AI в .NET Core.

2.8.35

  • Расширение AppSvc для Windows: добавлена поддержка .NET Core 3.1.

2.8.33

  • Агенты .NET, .NET Core, Java и Node.js и расширение для Windows: поддержка национальных облаков. Строки соединений можно использовать для отправки данных в национальные облака.

2.8.31

  • Агент ASP.NET Core исправлена проблема с пакетом SDK для приложений Аналитика. Если среда выполнения загрузила неправильную версию System.Diagnostics.DiagnosticSource.dll, расширение без кода не завершает работу приложения и отключается. Чтобы устранить проблему, клиенты должны удалить System.Diagnostics.DiagnosticSource.dll из папки bin или использовать старую версию расширения, установив параметр ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24. Если они нет, мониторинг приложений не включен.

2.8.26

  • Агент ASP.NET Core: исправлена проблема, связанная с обновленным пакетом SDK для Application Insights. Агент не пытается загрузитьAiHostingStartup, если приложение Аналитика.dll уже присутствует в папке bin. Он устраняет проблемы, связанные с отражением с помощью Assembly<AiHostingStartup>. GetTypes().
  • Известные проблемы: при загрузке другой версии DLL-библиотеки DiagnosticSource может возникнуть исключение System.IO.FileLoadException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. Это может произойти, например, если System.Diagnostics.DiagnosticSource.dll он присутствует в папке публикации. Для устранения рисков используйте предыдущую версию расширения, задав следующие параметры приложения в службах приложений: ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24.

2.8.24

  • Переупакованная версия 2.8.21.

2.8.23

  • Добавлена поддержка мониторинга без кода ASP.NET Core 3.0.
  • Пакет SDK для ASP.NET Core обновлен до версии 2.8.0 для сред выполнения версий 2.1, 2.2 и 3.0. Приложения, предназначенные для .NET Core 2.0, продолжают использовать пакет SDK версии 2.1.1.

2.8.14

  • Пакета SDK для ASP.NET Core обновлен с версии 2.3.0 до последней версии (2.6.1) для приложений, предназначенных для .NET Core 2.1, 2.2. Приложения, предназначенные для .NET Core 2.0, продолжают использовать пакет SDK версии 2.1.1.

2.8.12

  • Поддержка приложений ASP.NET Core 2.2.

  • Исправлена ошибка в расширении ASP.NET Core, которая вызывает пакет внедрение кода SDK, даже если приложение уже инструментируется с помощью SDK. Для приложений версий 2.1 и 2.2 наличие файла ApplicationInsights.dll в папке приложения теперь вызывает отключение расширения. Для приложений версии 2.0 расширение отключается, только если ApplicationInsights включается с помощью вызова UseApplicationInsights().

  • Постоянное исправление ошибки с неполным ответом HTML для приложений ASP.NET Core. Теперь это исправление работает с приложениями .NET Core 2.2.

  • Добавлена поддержка отключения внедрения кода JavaScript для приложений ASP.NET Core (APPINSIGHTS_JAVASCRIPT_ENABLED=false appsetting). Для ASP.NET Core внедрение кода JavaScript по умолчанию находится в отключенном режиме, если этот параметр не отключен явным образом. (Настройка по умолчанию позволяет сохранить текущий режим поведения.)

  • Исправлена ошибка расширения ASP.NET Core, которая вызвала внедрение, даже если ikey не присутствовал.

  • Исправлена ошибка в логике префикса версии пакета SDK, которая вела к указанию неправильной версии пакета SDK в телеметрии.

  • Добавлен префикс версии пакета SDK для приложений ASP.NET Core, указывающий, как собираются данные телеметрии.

  • Исправлена страница SCM-ApplicationInsights, на которой теперь правильно отображается версия предварительно установленного расширения.

2.8.10

  • Исправлена ошибка с неполным ответом HTML для приложений ASP.NET Core.

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

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

Что Application Insights изменяет в моем проекте?

Подробности зависят от типа проекта. Для веб-приложения:

  • Добавляет эти файлы в проект:
    • ApplicationInsights.config
    • ai.js
  • Устанавливает следующие пакеты NuGet:
    • API Аналитика приложения: основной API
    • API Аналитика приложения для веб-приложений: используется для отправки данных телеметрии с сервера.
    • API Аналитика приложения для приложений JavaScript: используется для отправки данных телеметрии от клиента
  • Пакеты включают следующие сборки:
    • Microsoft.ApplicationInsights
    • Microsoft.ApplicationInsights.Platform
  • Вставляет элементы в:
    • Web.config
    • packages.config
  • (Только для новых проектов добавьте приложение Аналитика в существующий проект вручную.) Вставляет фрагменты кода клиента и сервера, чтобы инициализировать их с помощью идентификатора ресурса приложения Аналитика. Например, в приложении MVC код вставляется в главную страницу Views/Shared/_Layout.cshtml.

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

Узнайте, как включить мониторинг приложений автоинструментации для приложения .NET Core, .NET, Java, Nodejs или Python, работающего в Служба приложений.