Включение отладчика моментальных снимков для приложений .NET в Службе приложений Azure

Snapshot Debugger в настоящее время поддерживает приложения ASP.NET и ASP.NET Core, которые работают в службе приложений Azure в планах службы Windows.

Примечание.

При использовании Snapshot Debugger рекомендуется запускать приложение на уровне служб "Базовый" или выше. Для большинства приложений уровни служб "Бесплатный" и "Общий" не содержат достаточно памяти или места на диске для хранения моментальных снимков. Уровень потребления в настоящее время недоступен для отладчика моментальных снимков.

Включение Snapshot Debugger

Snapshot Debugger предустановлен как часть среды выполнения служб приложений, но вам необходимо включить его, чтобы получать снимки для своего приложения службы приложений. Чтобы включить Snapshot Debugger для приложения, следуйте приведенным ниже инструкциям.

Примечание.

Если вы используете предварительную версию .NET Core или ваше приложение прямо или косвенно ссылается на SDK Application Insights через зависимую сборку, выполните инструкции из статьи Включить отладчик моментальных снимков для других сред, чтобы добавить пакет NuGet Microsoft.ApplicationInsights.SnapshotCollector с приложением.

Примечание.

Установка отладчика моментальных снимков Application Insights без кода выполняется в соответствии с политикой поддержки .NET Core. Дополнительные сведения о поддерживаемых средах выполнения см. в политике поддержки .NET Core.

Завершив развертывание приложения .NET, выполните следующее.

  1. Перейдите на панель управления Azure для Службы приложений.

  2. Перейдите на страницу Параметры>Application Insights.

    Screenshot showing the Enable App Insights on App Services portal.

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

  4. Переведите переключатель Snapshot Debugger в положение Вкл.

    Screenshot showing how to add App Insights site extension.

  5. Snapshot Debugger теперь включается с помощью настройки приложения служб приложений.

    Screenshot showing App Setting for Snapshot Debugger.

Если вы используете другой тип службы Azure, ниже приведены инструкции по включению отладчика моментальных снимков на других поддерживаемых платформах:

Включение Snapshot Debugger для других облаков

В настоящее время единственными регионами, для которых требуются изменения конечных точек, являются Azure для государственных организаций и Microsoft Azure, управляемые 21Vianet через строку приложения Аналитика Подключение ion String.

Свойство строки подключения Облако для государственных организаций США облако для Китая.
SnapshotEndpoint https://snapshot.monitor.azure.us https://snapshot.monitor.azure.cn

Дополнительные сведения о других переопределениях подключения см. в Документации по Application Insights.

Включение проверки подлинности Microsoft Entra для приема моментальных снимков

Отладчик моментальных снимков приложения Аналитика поддерживает проверку подлинности Microsoft Entra для приема моментальных снимков. Это означает, что для приема всех моментальных снимков приложения необходимо пройти проверку подлинности и предоставить агенту Snapshot Debugger необходимые параметры приложения.

По состоянию на сегодняшний день отладчик моментальных снимков поддерживает проверку подлинности Microsoft Entra только при ссылке и настройке идентификатора Microsoft Entra с помощью пакета SDK для приложений Аналитика в приложении.

Чтобы включить идентификатор Microsoft Entra для приема моментальных снимков, выполните следующие действия.

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

    1. Сведения об управляемом удостоверении, назначаемом системой, см. в этой документации.

    2. Сведения об управляемом удостоверении, назначаемом пользователем, см. в этой документации.

  2. Настройте и включите идентификатор Microsoft Entra в ресурсе приложения Аналитика. Дополнительные сведения см. в этой документации.

  3. Добавьте следующий параметр приложения, который позволяет агенту Snapshot Debugger указать, какое управляемое удостоверение использовать:

Для назначаемого системой удостоверения:

Параметр приложения Значение
APPLICATIONINSIGHTS_AUTHENTICATION_STRING Authorization=AD

Для назначаемого пользователем удостоверения:

Параметр приложения Значение
APPLICATIONINSIGHTS_AUTHENTICATION_STRING Authorization=AD; ClientID={Идентификатор клиента назначаемого пользователем удостоверения}

Отключение Snapshot Debugger

Чтобы отключить Snapshot Debugger, повторите процедуру включения, но в этот раз переведите переключатель Snapshot Debugger в положение Выкл.

Шаблон Azure Resource Manager

Для службы приложений Azure вы можете установить параметры приложения в шаблоне Azure Resource Manager, чтобы включить Snapshot Debugger и Профилировщик. Например:

{
  "apiVersion": "2015-08-01",
  "name": "[parameters('webSiteName')]",
  "type": "Microsoft.Web/sites",
  "location": "[resourceGroup().location]",
  "dependsOn": [
    "[variables('hostingPlanName')]"
  ],
  "tags": { 
    "[concat('hidden-related:', resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName')))]": "empty",
    "displayName": "Website"
  },
  "properties": {
    "name": "[parameters('webSiteName')]",
    "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName'))]"
  },
  "resources": [
    {
      "apiVersion": "2015-08-01",
      "name": "appsettings",
      "type": "config",
      "dependsOn": [
        "[parameters('webSiteName')]",
        "[concat('AppInsights', parameters('webSiteName'))]"
      ],
      "properties": {
        "APPINSIGHTS_INSTRUMENTATIONKEY": "[reference(resourceId('Microsoft.Insights/components', concat('AppInsights', parameters('webSiteName'))), '2014-04-01').InstrumentationKey]",
        "APPINSIGHTS_PROFILERFEATURE_VERSION": "1.0.0",
        "APPINSIGHTS_SNAPSHOTFEATURE_VERSION": "1.0.0",
        "DiagnosticServices_EXTENSION_VERSION": "~3",
        "ApplicationInsightsAgent_EXTENSION_VERSION": "~2"
      }
    }
  ]
},

Неподдерживаемые сценарии

Ниже приведены сценарии, в которых Snapshot Collector не поддерживается.

Сценарий Побочные эффекты Рекомендация
При использовании пакета SDK для Snapshot Collector непосредственно в приложении (.csproj) и включенном расширенном параметре "Interop". Локальный пакет SDK для Application Insights (включая телеметрию Snapshot Collector) будет потерян, и моментальные снимки будут недоступны.
Приложение может аварийно завершить работу при запуске с ошибкой System.ArgumentException: telemetryProcessorTypedoes not implement ITelemetryProcessor.
Дополнительные сведения о возможности "Interop" в Application Insights.
Если вы используете расширенный параметр "Interop", используйте внедрение Snapshot Collector без кода (включается на портале Azure).

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

  • Создайте трафик для вашего приложения, который может вызвать исключение. После этого подождите 10–15 минут, пока снимки не будут отправлены в экземпляр Application Insights.
  • См. снимки состояния на портале Azure.
  • Для получения помощи по устранению неполадок отладчика снимков см. Устранение неполадок Snapshot Debugger.