Dela via


Aktivera felsökningsloggning

Om du vill felsöka ett distributionsfel kan du aktivera felsökningsloggning för att få mer information. Felsökningsloggning fungerar för distributioner med Bicep-filer eller Azure Resource Manager-mallar (ARM-mallar). Du kan hämta data om en distributions begäran och svar för att lära dig orsaken till ett problem.

Varning

Felsökningsloggning kan exponera hemligheter som lösenord eller listKeys åtgärder. Aktivera endast felsökningsloggning när du behöver felsöka ett distributionsfel. När du är klar med felsökningen bör du ta bort historiken för felsökningsdistributionen.

Konfigurera felsökningsloggning

Använd Azure PowerShell för att aktivera felsökningsloggning som fyller request i egenskaperna och response med distributionsinformation för felsökning. Felsökningsloggning kan inte aktiveras med Azure CLI.

Felsökningsloggning är bara aktiverat för huvud-ARM-mallen eller Bicep-filen. Om du använder kapslade ARM-mallar eller Bicep-moduler läser du Felsöka kapslad mall.

För en resursgruppsdistribution använder du New-AzResourceGroupDeployment och anger parametern DeploymentDebugLogLevel till All, ResponseContenteller RequestContent.

När felsökningsloggning är aktiverat visas en varning om att hemligheter som lösenord eller listKeys åtgärder kan loggas och visas när du använder kommandon som Get-AzResourceGroupDeploymentOperation för att hämta information om distributionsåtgärder.

New-AzResourceGroupDeployment `
  -Name exampledeployment `
  -ResourceGroupName examplegroup `
  -TemplateFile main.bicep `
  -DeploymentDebugLogLevel All

Distributionens utdata visar loggningsnivån för felsökning.

DeploymentDebugLogLevel : RequestContent, ResponseContent

Parametern DeploymentDebugLogLevel är tillgänglig för andra distributionsomfång: prenumeration, hanteringsgrupp och klientorganisation.

Hämta felsökningsinformation

När felsökningsloggning har aktiverats kan du få mer information om distributionsåtgärderna. De Azure PowerShell cmdletarna för distributionsåtgärder matar inte ut request egenskaperna ochresponse. Du måste använda Azure CLI för att hämta information från dessa egenskaper.

Om du inte aktiverar felsökningsloggning från distributionskommandot kan du fortfarande hämta information om distributionsåtgärder. Använd Azure PowerShell eller Azure CLI för att hämta statuskoden, statusmeddelandet och etableringstillståndet.

För en resursgruppsdistribution använder du Get-AzResourceGroupDeploymentOperation för att hämta distributionsåtgärder.

Get-AzResourceGroupDeploymentOperation `
  -DeploymentName exampledeployment `
  -ResourceGroupName examplegroup

Du kan ange en egenskap, till exempel StatusCode, StatusMessageeller ProvisioningState för att filtrera utdata.

(Get-AzResourceGroupDeploymentOperation `
  -DeploymentName exampledeployment `
  -ResourceGroupName examplegroup).StatusCode

Mer information finns i dokumentationen för distributionsåtgärdsomfång: prenumeration, hanteringsgrupp och klientorganisation.

Felsök kapslad mall

Arm-huvudmallen och kapslade mallar har sitt eget distributionsnamn och distributionshistorik. Huvudfilen och modulen för Bicep använder också ett separat distributionsnamn och distributionshistorik.

ARM-mall

Om du vill logga felsökningsinformation för en kapslad ARM-mall använder du Microsoft.Resources/deployments med debugSetting egenskapen .

Följande exempel visar en kapslad mall med debugSetting för att logga distributionens begäran och svar.

"resources": [
  {
    "type": "Microsoft.Resources/deployments",
    "apiVersion": "2021-04-01",
    "name": "nestedTemplateDebug",
    "properties": {
      "mode": "Incremental",
      "template": {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "resources": [
          {
            "type": "Microsoft.Storage/storageAccounts",
            "apiVersion": "2022-05-01",
            "name": "[variables('storageAccountName')]",
            "location": "[parameters('location')]",
            "sku": {
              "name": "[parameters('storageAccountType')]"
            },
            "kind": "StorageV2"
          }
        ]
      },
      "debugSetting": {
        "detailLevel": "requestContent, responseContent"
      }
    }
  }
],

Arm-huvudmallen och kapslade mallar har sitt eget distributionsnamn och distributionshistorik. Om du vill request att egenskaperna och response ska innehålla felsökningsinformation bör du vara medveten om följande distributionsscenarier:

  • request Egenskaperna och response innehåller null värden för huvudmallen och den kapslade mallen när DeploymentDebugLogLevel inte är aktiverat med distributionskommandot.
  • När distributionskommandot aktiverar DeploymentDebugLogLevelrequest egenskaperna och response innehåller endast information för huvudmallen. Egenskaperna för den kapslade mallen innehåller null värden.
  • När en kapslad mall använder debugSetting och distributionskommandot inte bara innehåller DeploymentDebugLogLevel den kapslade malldistributionen har värden för request egenskaperna och response . Huvudmallens egenskaper innehåller null värden.
  • Om du vill hämta request och response för huvudmallen och den kapslade mallen anger du DeploymentDebugLogLevel i distributionskommandot och använder debugSetting i den kapslade mallen.

Bicep-fil

Rekommendationen för Bicep-filer är att använda moduler i stället för kapslade mallar med Microsoft.Resources/deployments. Statusmeddelandet, statuskoden och etableringstillståndet innehåller information om huvudfilen och modulen för Bicep som du kan använda för att felsöka distributionen.

Om du aktiverar DeploymentDebugLogLevel från distributionskommandot request innehåller egenskaperna och response endast information för huvuddistributionen av Bicep-filen.

Ta bort historik för felsökningsdistribution

När du är klar med felsökningen bör du ta bort distributionshistoriken för att förhindra att alla som har åtkomst ser känslig information som kan ha loggats. Kör kommandot för att ta bort distributionshistoriken för varje distributionsnamn som du använde under felsökningen.

Om du vill ta bort distributionshistoriken för en resursgruppsdistribution använder du Remove-AzResourceGroupDeployment.

Remove-AzResourceGroupDeployment -ResourceGroupName examplegroup -Name exampledeployment

Kommandot returnerar True när det lyckas.

Mer information om distributionshistorik finns i dokumentationen för distributionsomfången: prenumeration, hanteringsgrupp och klientorganisation.

Nästa steg