Hata ayıklama günlüğüne kaydetmeyi etkinleştirme
Dağıtım hatasını gidermek için hata ayıklama günlüğünü etkinleştirerek daha fazla bilgi edinebilirsiniz. Hata ayıklama günlüğü, Bicep dosyaları veya Azure Resource Manager şablonları (ARM şablonları) ile yapılan dağıtımlarda çalışır. Bir sorunun nedenini öğrenmek için dağıtımın isteği ve yanıtı hakkında veri alabilirsiniz.
Uyarı
Hata ayıklama günlüğü parolalar veya listKeys
işlemler gibi gizli dizileri kullanıma açabilir. Hata ayıklama günlüğünü yalnızca dağıtım hatasını gidermeniz gerektiğinde etkinleştirin. Hata ayıklamayı bitirdiğinizde, hata ayıklama dağıtım geçmişini kaldırmanız gerekir.
Hata ayıklama günlüğünü ayarlama
ve özelliklerini sorun giderme için dağıtım bilgileriyle dolduran request
response
hata ayıklama günlüğünü etkinleştirmek için Azure PowerShell kullanın. Azure CLI kullanılarak hata ayıklama günlüğü etkinleştirilemiyor.
Hata ayıklama günlüğü yalnızca ana ARM şablonu veya Bicep dosyası için etkinleştirilir. İç içe ARM şablonları veya Bicep modülleri kullanıyorsanız bkz. İç içe yerleştirilmiş şablonda hata ayıklama.
Kaynak grubu dağıtımı için New-AzResourceGroupDeployment kullanın ve parametresini DeploymentDebugLogLevel
, ResponseContent
veya RequestContent
olarak All
ayarlayın.
Hata ayıklama günlüğü etkinleştirildiğinde, dağıtım işlemleri hakkında bilgi almak için gibi Get-AzResourceGroupDeploymentOperation
komutları kullandığınızda parolalar veya listKeys
işlemler gibi gizli dizilerin günlüğe kaydedilebileceği ve görüntülenebileceğine ilişkin bir uyarı görüntülenir.
New-AzResourceGroupDeployment `
-Name exampledeployment `
-ResourceGroupName examplegroup `
-TemplateFile main.bicep `
-DeploymentDebugLogLevel All
Dağıtımın çıktısı hata ayıklama günlüğü düzeyini gösterir.
DeploymentDebugLogLevel : RequestContent, ResponseContent
DeploymentDebugLogLevel
parametresi diğer dağıtım kapsamları için kullanılabilir: abonelik, yönetim grubu ve kiracı.
Hata ayıklama bilgilerini alma
Hata ayıklama günlüğü etkinleştirildikten sonra dağıtım işlemleri hakkında daha fazla bilgi edinebilirsiniz. Dağıtım işlemleri için Azure PowerShell cmdlet'leri ve response
özelliklerinin çıkışını request
vermez. Bu özelliklerden bilgi almak için Azure CLI'yi kullanmanız gerekir.
Dağıtım komutundan hata ayıklama günlüğünü etkinleştirmezseniz, yine de dağıtım işlemleri bilgilerini alabilirsiniz. Durum kodunu, durum iletisini ve sağlama durumunu almak için Azure PowerShell veya Azure CLI kullanın.
Kaynak grubu dağıtımında, dağıtım işlemlerini almak için Get-AzResourceGroupDeploymentOperation komutunu kullanın.
Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup
Çıkışı filtrelemek için , StatusMessage
veya ProvisioningState
gibi StatusCode
bir özellik belirtebilirsiniz.
(Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup).StatusCode
Daha fazla bilgi için dağıtım işlemi kapsamları belgelerine bakın: abonelik, yönetim grubu ve kiracı.
İç içe şablonda hata ayıklama
Ana ARM şablonunun ve iç içe yerleştirilmiş şablonların kendi dağıtım adı ve dağıtım geçmişi vardır. Ana Bicep dosyası ve modülü de ayrı bir dağıtım adı ve dağıtım geçmişi kullanır.
ARM şablonu
İç içe arm şablonunun hata ayıklama bilgilerini günlüğe kaydetmek için microsoft.resources/deploymentsdebugSetting
özelliğini kullanın.
Aşağıdaki örnekte, dağıtımın isteğini ve yanıtını debugSetting
günlüğe kaydetmek için ile iç içe yerleştirilmiş bir şablon gösterilmektedir.
"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"
}
}
}
],
Ana ARM şablonunun ve iç içe yerleştirilmiş şablonların kendi dağıtım adı ve dağıtım geçmişi vardır. ve response
özelliklerinin sorun giderme bilgileri içermesini istiyorsanızrequest
, aşağıdaki dağıtım senaryolarına dikkat edin:
request
veresponse
özellikleri, dağıtım komutuyla etkinleştirilmediğindeDeploymentDebugLogLevel
ana şablon ve iç içe şablon için değerler içerirnull
.- Dağıtım komutu etkinleştirildiğinde
DeploymentDebugLogLevel
request
veresponse
özellikleri yalnızca ana şablon için bilgi içerir. İç içe yerleştirilmiş şablonun özellikleri değerler içerirnull
. - İç içe yerleştirilmiş bir şablon ve
debugSetting
dağıtım komutunuDeploymentDebugLogLevel
kullandığında, yalnızca iç içe yerleştirilmiş şablon dağıtımınınrequest
veresponse
özellikleri için değerleri vardır. Ana şablonun özellikleri değerler içerirnull
. - Ana şablonun
request
ve iç içe yerleştirilmiş şablonun veresponse
değerini almak için dağıtım komutunda belirtinDeploymentDebugLogLevel
ve iç içe şablonda kullanındebugSetting
.
Bicep dosyası
Bicep dosyalarına yönelik öneri, ile Microsoft.Resources/deployments
iç içe yerleştirilmiş şablonlar yerine modüllerin kullanılmasıdır. Durum iletisi, durum kodu ve sağlama durumu, dağıtım sorunlarını gidermek için kullanabileceğiniz ana Bicep dosyası ve modülüne ilişkin bilgileri içerir.
dağıtım komutundan etkinleştirirseniz DeploymentDebugLogLevel
ve request
response
özellikleri yalnızca ana Bicep dosyasının dağıtımına ilişkin bilgileri içerir.
Hata ayıklama dağıtım geçmişini kaldırma
Hata ayıklamayı bitirdiğinizde, erişimi olan herkesin günlüğe kaydedilmiş olabilecek hassas bilgileri görmesini önlemek için dağıtım geçmişini kaldırmanız gerekir. Hata ayıklama sırasında kullandığınız her dağıtım adı için komutunu çalıştırarak dağıtım geçmişini kaldırın.
Kaynak grubu dağıtımının dağıtım geçmişini kaldırmak için Remove-AzResourceGroupDeployment komutunu kullanın.
Remove-AzResourceGroupDeployment -ResourceGroupName examplegroup -Name exampledeployment
Komut başarılı olduğunda döndürür True
.
Dağıtım geçmişi hakkında daha fazla bilgi için dağıtım kapsamları belgelerine bakın: abonelik, yönetim grubu ve kiracı.