Logboekregistratie voor foutopsporing inschakelen
Als u een implementatiefout wilt oplossen, kunt u logboekregistratie voor foutopsporing inschakelen voor meer informatie. Logboekregistratie voor foutopsporing werkt voor implementaties met Bicep-bestanden of Azure Resource Manager-sjablonen (ARM-sjablonen). U kunt gegevens ophalen over de aanvraag en reactie van een implementatie om de oorzaak van een probleem te achterhalen.
Waarschuwing
Logboekregistratie van foutopsporing kan geheimen zoals wachtwoorden of listKeys
bewerkingen beschikbaar maken. Schakel logboekregistratie voor foutopsporing alleen in wanneer u een implementatiefout moet oplossen. Wanneer u klaar bent met foutopsporing, moet u de implementatiegeschiedenis voor foutopsporing verwijderen.
Logboekregistratie voor foutopsporing instellen
Gebruik Azure PowerShell om logboekregistratie voor foutopsporing in te schakelen waarmee de request
eigenschappen en response
worden gevuld met implementatiegegevens voor probleemoplossing. Logboekregistratie voor foutopsporing kan niet worden ingeschakeld met behulp van Azure CLI.
Logboekregistratie voor foutopsporing is alleen ingeschakeld voor de hoofd-ARM-sjabloon of het Bicep-bestand. Als u geneste ARM-sjablonen of Bicep-modules gebruikt, raadpleegt u Fouten opsporen in geneste sjabloon.
Voor de implementatie van een resourcegroep gebruikt u New-AzResourceGroupDeployment en stelt u de DeploymentDebugLogLevel
parameter in op All
, ResponseContent
of RequestContent
.
Wanneer logboekregistratie voor foutopsporing is ingeschakeld, wordt een waarschuwing weergegeven dat geheimen, zoals wachtwoorden of listKeys
bewerkingen, kunnen worden geregistreerd en weergegeven wanneer u opdrachten zoals Get-AzResourceGroupDeploymentOperation
gebruikt om informatie over implementatiebewerkingen op te halen.
New-AzResourceGroupDeployment `
-Name exampledeployment `
-ResourceGroupName examplegroup `
-TemplateFile main.bicep `
-DeploymentDebugLogLevel All
De uitvoer van de implementatie toont het niveau van de foutopsporingslogboekregistratie.
DeploymentDebugLogLevel : RequestContent, ResponseContent
De DeploymentDebugLogLevel
parameter is beschikbaar voor andere implementatiebereiken: abonnement, beheergroep en tenant.
Foutopsporingsgegevens ophalen
Nadat logboekregistratie voor foutopsporing is ingeschakeld, kunt u meer informatie krijgen over de implementatiebewerkingen. De Azure PowerShell cmdlets voor implementatiebewerkingen voeren de request
eigenschappen en response
niet uit. U moet Azure CLI gebruiken om de informatie uit deze eigenschappen op te halen.
Als u logboekregistratie voor foutopsporing niet inschakelt vanuit de implementatieopdracht, kunt u nog steeds informatie over implementatiebewerkingen ophalen. Gebruik Azure PowerShell of Azure CLI om de statuscode, het statusbericht en de inrichtingsstatus op te halen.
Voor een resourcegroepimplementatie gebruikt u Get-AzResourceGroupDeploymentOperation om implementatiebewerkingen op te halen.
Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup
U kunt een eigenschap opgeven, zoals StatusCode
, StatusMessage
of ProvisioningState
om de uitvoer te filteren.
(Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup).StatusCode
Zie de documentatie voor implementatiebewerkingsbereiken: abonnement, beheergroep en tenant voor meer informatie.
Fouten opsporen in geneste sjabloon
De hoofd-ARM-sjabloon en geneste sjablonen hebben hun eigen implementatienaam en implementatiegeschiedenis. Het bicep-hoofdbestand en de module gebruiken ook een afzonderlijke implementatienaam en implementatiegeschiedenis.
ARM-sjabloon
Als u foutopsporingsgegevens voor een geneste ARM-sjabloon wilt vastleggen, gebruikt u microsoft.resources/deployments met de debugSetting
eigenschap .
In het volgende voorbeeld ziet u een geneste sjabloon met de debugSetting
om de aanvraag en het antwoord van de implementatie te registreren.
"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"
}
}
}
],
De hoofd-ARM-sjabloon en geneste sjablonen hebben hun eigen implementatienaam en implementatiegeschiedenis. Als u wilt dat de request
eigenschappen en response
informatie over probleemoplossing bevatten, moet u rekening houden met de volgende implementatiescenario's:
- De
request
eigenschappen enresponse
bevattennull
waarden voor de hoofdsjabloon en geneste sjabloon wanneerDeploymentDebugLogLevel
deze niet is ingeschakeld met de implementatieopdracht. - Wanneer met de implementatieopdracht de
request
eigenschappen enresponse
worden ingeschakeldDeploymentDebugLogLevel
, bevatten deze alleen informatie voor de hoofdsjabloon. De eigenschappen van de geneste sjabloon bevattennull
waarden. - Wanneer een geneste sjabloon de
debugSetting
en gebruikt, bevatDeploymentDebugLogLevel
de implementatieopdracht niet alleen de geneste sjabloonimplementatie waarden voor derequest
eigenschappen enresponse
. De eigenschappen van de hoofdsjabloon bevattennull
waarden. - Als u de
request
enresponse
wilt ophalen voor de hoofdsjabloon en geneste sjabloon, geeft uDeploymentDebugLogLevel
op in de implementatieopdracht en gebruiktdebugSetting
u in de geneste sjabloon.
Bicep-bestand
De aanbeveling voor Bicep-bestanden is om modules te gebruiken in plaats van geneste sjablonen met Microsoft.Resources/deployments
. Het statusbericht, de statuscode en de inrichtingsstatus bevatten informatie voor het hoofd-Bicep-bestand en de module die u kunt gebruiken om problemen met de implementatie op te lossen.
Als u dit inschakelt DeploymentDebugLogLevel
vanuit de implementatieopdracht, bevatten de request
eigenschappen en response
alleen informatie voor de implementatie van het Bicep-hoofdbestand.
Implementatiegeschiedenis voor foutopsporing verwijderen
Wanneer u klaar bent met foutopsporing, moet u de implementatiegeschiedenis verwijderen om te voorkomen dat iedereen die toegang heeft, gevoelige informatie ziet die mogelijk is geregistreerd. Voer voor elke implementatienaam die u tijdens het opsporen van fouten hebt gebruikt, de opdracht uit om de implementatiegeschiedenis te verwijderen.
Als u de implementatiegeschiedenis voor een resourcegroepimplementatie wilt verwijderen, gebruikt u Remove-AzResourceGroupDeployment.
Remove-AzResourceGroupDeployment -ResourceGroupName examplegroup -Name exampledeployment
De opdracht wordt geretourneerd True
wanneer deze is geslaagd.
Zie de documentatie voor de implementatiebereiken: abonnement, beheergroep en tenant voor meer informatie over de implementatiegeschiedenis.