Povolení protokolování ladění
Pokud chcete vyřešit chybu nasazení, můžete povolit protokolování ladění, abyste získali další informace. Protokolování ladění funguje pro nasazení pomocí souborů Bicep nebo šablon Azure Resource Manager (šablon ARM). Pokud chcete zjistit příčinu problému, můžete získat data o požadavku a odpovědi nasazení.
Upozornění
Protokolování ladění může vystavit tajné kódy, jako jsou hesla nebo listKeys
operace. Protokolování ladění povolte pouze v případě, že potřebujete vyřešit chybu nasazení. Po dokončení ladění byste měli odebrat historii nasazení ladění.
Nastavení protokolování ladění
Pomocí Azure PowerShell povolte protokolování ladění, které naplní request
vlastnosti a response
informacemi o nasazení pro účely řešení potíží. Protokolování ladění není možné povolit pomocí Azure CLI.
Protokolování ladění je povolené jenom pro hlavní šablonu ARM nebo soubor Bicep. Pokud používáte vnořené šablony ARM nebo moduly Bicep, přečtěte si téma Ladění vnořených šablon.
Pro nasazení skupiny prostředků použijte rutinu New-AzResourceGroupDeployment a nastavte DeploymentDebugLogLevel
parametr na All
, ResponseContent
nebo RequestContent
.
Když je protokolování ladění povolené, zobrazí se upozornění, že tajné kódy, jako jsou hesla nebo listKeys
operace, se dají protokolovat a zobrazit, když použijete příkazy, jako Get-AzResourceGroupDeploymentOperation
je získání informací o operacích nasazení.
New-AzResourceGroupDeployment `
-Name exampledeployment `
-ResourceGroupName examplegroup `
-TemplateFile main.bicep `
-DeploymentDebugLogLevel All
Výstup nasazení zobrazuje úroveň protokolování ladění.
DeploymentDebugLogLevel : RequestContent, ResponseContent
Parametr DeploymentDebugLogLevel
je k dispozici pro další obory nasazení: předplatné, skupina pro správu a tenant.
Získání informací o ladění
Po povolení protokolování ladění můžete získat další informace o operacích nasazení. Rutiny Azure PowerShell pro operace nasazení nevytáčí request
vlastnosti a response
. K získání informací z těchto vlastností musíte použít Azure CLI.
Pokud z příkazu pro nasazení nepovolíte protokolování ladění, můžete přesto získat informace o operacích nasazení. Pomocí Azure PowerShell nebo Azure CLI získejte stavový kód, stavovou zprávu a stav zřizování.
Pro nasazení skupiny prostředků použijte rutinu Get-AzResourceGroupDeploymentOperation k získání operací nasazení.
Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup
K filtrování výstupu můžete zadat vlastnost, například StatusCode
, StatusMessage
nebo ProvisioningState
.
(Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup).StatusCode
Další informace najdete v dokumentaci k rozsahům operací nasazení: předplatné, skupina pro správu a tenant.
Ladění vnořené šablony
Hlavní šablona ARM a vnořené šablony mají vlastní název nasazení a historii nasazení. Hlavní soubor a modul Bicep také používají samostatný název nasazení a historii nasazení.
Šablona ARM
Pokud chcete protokolovat informace o ladění pro vnořenou šablonu ARM, použijte Microsoft.Resources/deployments s debugSetting
vlastností .
Následující ukázka ukazuje vnořenou šablonu s objektem debugSetting
pro protokolování požadavku a odpovědi nasazení.
"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"
}
}
}
],
Hlavní šablona ARM a vnořené šablony mají vlastní název nasazení a historii nasazení. Pokud chcete request
, aby vlastnosti a response
obsahovaly informace o řešení potíží, mějte na paměti následující scénáře nasazení:
- Vlastnosti
request
aresponse
obsahujínull
hodnoty pro hlavní šablonu a vnořenou šablonu, pokudDeploymentDebugLogLevel
není povolená příkazem pro nasazení. - Když příkaz pro nasazení povolí
DeploymentDebugLogLevel
request
, vlastnosti aresponse
obsahují informace pouze pro hlavní šablonu. Vlastnosti vnořené šablony obsahujínull
hodnoty. - Pokud vnořená šablona používá
debugSetting
a příkaz nasazení nezahrnujeDeploymentDebugLogLevel
pouze vnořené nasazení šablony, obsahuje hodnoty prorequest
vlastnosti aresponse
. Vlastnosti hlavní šablony obsahujínull
hodnoty. - Pokud chcete získat
request
aresponse
pro hlavní šablonu a vnořenou šablonu, zadejteDeploymentDebugLogLevel
v příkazu nasazení a ve vnořené šabloně použijtedebugSetting
příkaz .
Soubor Bicep
Pro soubory Bicep se doporučuje používat moduly , nikoli vnořené šablony s Microsoft.Resources/deployments
. Stavová zpráva, stavový kód a stav zřizování budou obsahovat informace o hlavním souboru a modulu Bicep, které můžete použít k řešení potíží s nasazením.
Pokud ho povolíte DeploymentDebugLogLevel
pomocí příkazu pro nasazení, request
vlastnosti a response
budou obsahovat informace pouze pro nasazení hlavního souboru Bicep.
Odebrání historie nasazení ladění
Po dokončení ladění byste měli odebrat historii nasazení, aby nikdo, kdo má přístup, neviděl citlivé informace, které by mohly být protokolované. Pro každý název nasazení, který jste použili při ladění, spuštěním příkazu odeberte historii nasazení.
Pokud chcete odebrat historii nasazení pro nasazení skupiny prostředků, použijte rutinu Remove-AzResourceGroupDeployment.
Remove-AzResourceGroupDeployment -ResourceGroupName examplegroup -Name exampledeployment
Příkaz vrátí True
, jakmile bude úspěšný.
Další informace o historii nasazení najdete v dokumentaci k oborům nasazení: předplatné, skupina pro správu a tenant.