Mengaktifkan pengelogan debug
Untuk memecahkan masalah kesalahan penyebaran, Anda dapat mengaktifkan pengelogan debug untuk mendapatkan informasi selengkapnya. Pengelogan debug berfungsi untuk penyebaran dengan file Bicep atau templat Azure Resource Manager (templat ARM). Anda bisa mendapatkan data tentang permintaan dan respons penyebaran untuk mempelajari penyebab masalah.
Peringatan
Pengelogan debug dapat mengekspos rahasia seperti kata sandi atau listKeys
operasi. Hanya aktifkan pengelogan debug saat Anda perlu memecahkan masalah tentang kesalahan penyebaran. Setelah selesai men-debug, Anda harus menghapus riwayat penyebaran debug.
Menyiapkan pengelogan debug
Gunakan Azure PowerShell untuk mengaktifkan pengelogan debug yang mengisi request
properti dan response
dengan informasi penyebaran untuk pemecahan masalah. Pengelogan debug tidak dapat diaktifkan menggunakan Azure CLI.
Pengelogan debug hanya diaktifkan untuk templat ARM utama atau file Bicep. Jika Anda menggunakan templat ARM berlapis atau modul Bicep, lihat Men-debug templat berlapis.
Untuk penyebaran grup sumber daya, gunakan New-AzResourceGroupDeployment dan atur DeploymentDebugLogLevel
parameter ke All
, , ResponseContent
atau RequestContent
.
Saat pengelogan debug diaktifkan, peringatan ditampilkan bahwa rahasia seperti kata sandi atau listKeys
operasi dapat dicatat dan ditampilkan saat Anda menggunakan perintah seperti Get-AzResourceGroupDeploymentOperation
untuk mendapatkan informasi tentang operasi penyebaran.
New-AzResourceGroupDeployment `
-Name exampledeployment `
-ResourceGroupName examplegroup `
-TemplateFile main.bicep `
-DeploymentDebugLogLevel All
Output penyebaran menunjukkan tingkat pengelogan debug.
DeploymentDebugLogLevel : RequestContent, ResponseContent
Parameter DeploymentDebugLogLevel
tersedia untuk cakupan penyebaran lainnya: langganan, grup manajemen, dan penyewa.
Mendapatkan informasi debug
Setelah pengelogan debug diaktifkan, Anda bisa mendapatkan informasi selengkapnya tentang operasi penyebaran. Cmdlet Azure PowerShell untuk operasi penyebaran tidak menghasilkan request
properti dan response
. Anda perlu menggunakan Azure CLI untuk mendapatkan informasi dari properti tersebut.
Jika Anda tidak mengaktifkan pengelogan debug dari perintah penyebaran, Anda masih bisa mendapatkan informasi operasi penyebaran. Gunakan Azure PowerShell atau Azure CLI untuk mendapatkan kode status, pesan status, dan status provisi.
Untuk penyebaran grup sumber daya, gunakan Get-AzResourceGroupDeploymentOperation untuk mendapatkan operasi penyebaran.
Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup
Anda dapat menentukan properti, seperti StatusCode
, StatusMessage
, atau ProvisioningState
untuk memfilter output.
(Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup).StatusCode
Untuk informasi selengkapnya, lihat dokumentasi untuk cakupan operasi penyebaran: langganan, grup manajemen, dan penyewa.
Men-debug templat berlapis
Templat ARM utama dan templat berlapis memiliki nama penyebaran dan riwayat penyebaran mereka sendiri. File dan modul Bicep utama juga menggunakan nama penyebaran dan riwayat penyebaran terpisah.
Templat ARM
Untuk mencatat informasi debug untuk templat ARM berlapis , gunakan Microsoft.Resources/deployments dengan debugSetting
properti .
Contoh berikut menunjukkan templat berlapis dengan debugSetting
untuk mencatat permintaan dan respons penyebaran.
"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"
}
}
}
],
Templat ARM utama dan templat berlapis memiliki nama penyebaran dan riwayat penyebaran mereka sendiri. Jika Anda ingin request
properti dan response
berisi informasi pemecahan masalah, ketahui skenario penyebaran berikut:
- Properti
request
danresponse
berisinull
nilai untuk templat utama dan templat berlapis saatDeploymentDebugLogLevel
tidak diaktifkan dengan perintah penyebaran. - Saat perintah penyebaran mengaktifkan
DeploymentDebugLogLevel
request
properti danresponse
berisi informasi hanya untuk templat utama. Properti templat berlapis berisinull
nilai. - Saat templat berlapis menggunakan
debugSetting
perintah dan penyebaran tidak hanya menyertakanDeploymentDebugLogLevel
penyebaran templat berlapis yang memiliki nilai untukrequest
properti danresponse
. Properti templat utama berisinull
nilai. - Untuk mendapatkan
request
danresponse
untuk templat utama dan templat berlapis, tentukanDeploymentDebugLogLevel
dalam perintah penyebaran dan gunakandebugSetting
dalam templat berlapis.
File Bicep
Rekomendasi untuk file Bicep adalah menggunakan modul daripada templat berlapis dengan Microsoft.Resources/deployments
. Pesan status, kode status, dan status penyediaan akan menyertakan informasi untuk file dan modul Bicep utama yang dapat Anda gunakan untuk memecahkan masalah penyebaran.
Jika Anda mengaktifkan DeploymentDebugLogLevel
dari perintah penyebaran, request
properti dan response
hanya akan berisi informasi untuk penyebaran file Bicep utama.
Menghapus riwayat penyebaran debug
Setelah selesai men-debug, Anda harus menghapus riwayat penyebaran untuk mencegah siapa pun yang memiliki akses melihat informasi sensitif yang mungkin telah dicatat. Untuk setiap nama penyebaran yang Anda gunakan saat penelusuran kesalahan, jalankan perintah untuk menghapus riwayat penyebaran.
Untuk menghapus riwayat penyebaran untuk penyebaran grup sumber daya, gunakan Remove-AzResourceGroupDeployment.
Remove-AzResourceGroupDeployment -ResourceGroupName examplegroup -Name exampledeployment
Perintah akan mengembalikan True
saat berhasil.
Untuk informasi selengkapnya tentang riwayat penyebaran, lihat dokumentasi untuk cakupan penyebaran: langganan, grup manajemen, dan penyewa.