Обзор мониторинга приложений для Службы приложений Azure
Процесс включения мониторинга для ваших веб-приложений на основе ASP.NET, ASP.NET Core, Java и Node.js, работающих в службах приложений Azure, стал значительно проще. Ранее вам нужно было вручную инструментировать приложение. Теперь последнее расширение или агент по умолчанию встроены в образ Службы приложений.
Включить Application Insights
Существует два способа включения мониторинга для приложений, размещенных в службах приложений Azure:
Мониторинг приложений автоинструментации (ApplicationInsightsAgent).
Это самый простой способ, в котором не требуется изменять код или выполнять дополнительные настройки. Его часто называют мониторингом среды выполнения. Для Службы приложений рекомендуется включить как минимум этот уровень мониторинга. В зависимости от конкретного сценария, можно оценить, требуется ли расширенный мониторинг с использованием ручных инструментов.
Если включить автоматическое инструментирование, оно включает Application Insights с параметром по умолчанию (также включает выборку). Даже если задано в приложение Azure Insights: выборка: все данные 100 % этого параметра будут игнорироваться.
Полный список поддерживаемых сценариев автоинструментации см. в статье "Поддерживаемые среды", "Языки" и поставщики ресурсов.
Для мониторинга автоинструментации поддерживаются следующие платформы:
Инструментирование приложения вручную с помощью кода путем установки пакета SDK Application Insights.
Этот подход гораздо более гибкий, но он требует следующих средств: SDK для .NET Core, .NET, Node.js, Python, а также отдельный агент для Java. Этот метод также означает, что вам необходимо самостоятельно управлять обновлениями до последних версий пакетов.
Если необходимо выполнить пользовательские вызовы API для отслеживания событий и зависимостей, не записанных по умолчанию с помощью мониторинга автоинструментации, необходимо использовать этот метод. Дополнительные сведения см. в разделе API Application Insights для настраиваемых событий и метрик.
Если обнаружен мониторинг автоинструментации и инструментирование на основе ручного пакета SDK, в .NET и NodeJS учитываются только параметры ручного инструментирования, в то время как в Java только автоинструментация генерирует данные телеметрии. В Python следует использовать только автоинструментацию, если вы не используете ручное инструментирование. Это необходимо, чтобы предотвратить отправку повторяющихся данных.
Примечание.
Отладчик моментальных снимков и профилировщик доступны только в .NET и .NET Core.
Заметки о выпуске
В этом разделе содержатся заметки о выпуске для расширения Azure веб-приложения для инструментирования среды выполнения с помощью Application Insights.
Чтобы найти версию расширения, которую вы используете в данный момент, перейдите в раздел https://<yoursitename>.scm.azurewebsites.net/ApplicationInsights
.
Заметки о выпуске
2.8.44
- .NET/.NET Core: обновлен до пакета SDK для .NET ApplicationInsights до версии 2.20.1.
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 Application Insights. Если среда выполнения загрузила неправильную версию
System.Diagnostics.DiagnosticSource.dll
, расширение без кода не завершает работу приложения и отключается. Чтобы устранить проблему, клиенты должны удалитьSystem.Diagnostics.DiagnosticSource.dll
из папки bin или использовать старую версию расширения, установив параметрApplicationInsightsAgent_EXTENSIONVERSION=2.8.24
. Если они нет, мониторинг приложений не включен.
2.8.26
- Агент ASP.NET Core: исправлена проблема, связанная с обновленным пакетом SDK для Application Insights. Агент не пытается загрузить
AiHostingStartup
, если ApplicationInsights.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 Application Insights: основной API
- API Application Insights для веб-приложений: используется для отправки данных телеметрии с сервера
- API Application Insights для приложений JavaScript: используется для отправки данных телеметрии из клиента
- Пакеты включают следующие сборки:
- Microsoft.ApplicationInsights
- Microsoft.ApplicationInsights.Platform
- Вставляет элементы в:
- Web.config
- packages.config
- (Только для новых проектов добавьте Application Insights в существующий проект вручную.) Вставляет фрагменты кода клиента и сервера, чтобы инициализировать их с идентификатором ресурса Application Insights. Например, в приложении MVC код вставляется в главную страницу Views/Shared/_Layout.cshtml.
Следующие шаги
Узнайте, как включить мониторинг приложений автоинструментации для приложения .NET Core, .NET, Java, Nodejs или Python, работающего в Служба приложений.