Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Untuk memecahkan masalah kesalahan penyebaran, Anda dapat mengaktifkan pengelogan debug untuk mendapatkan informasi selengkapnya. Pencatatan log debug berfungsi dalam penyebaran dengan file Bicep atau templat Azure Resource Manager (templat ARM). Anda bisa mendapatkan data tentang permintaan dan respons penyebaran untuk mengetahui penyebab dari suatu masalah.
Peringatan
Pencatatan debug dapat mengekspos rahasia seperti kata sandi atau listKeys
operasi. Hanya aktifkan pencatatan debug ketika Anda perlu memecahkan masalah kesalahan dalam penyebaran. Setelah selesai men-debug, Anda harus menghapus riwayat penyebaran debug.
Menyiapkan pengelogan debug
Gunakan Azure PowerShell untuk mengaktifkan pencatatan debug yang mengisi properti request
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 log debug diaktifkan, sebuah peringatan ditampilkan bahwa rahasia seperti kata sandi atau operasi listKeys
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 pencatatan log debug.
DeploymentDebugLogLevel : RequestContent, ResponseContent
Parameter DeploymentDebugLogLevel
tersedia untuk cakupan penyebaran lainnya: langganan, grup manajemen, dan penyewa.
Dapatkan informasi debug
Setelah pengelogan debug diaktifkan, Anda bisa mendapatkan informasi selengkapnya tentang operasi penyebaran. Cmdlet Azure PowerShell untuk operasi penyebaran tidak menampilkan properti request
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.
- Get-AzDeploymentOperation
- Get-AzManagementGroupDeploymentOperation (Perintah untuk mendapatkan operasi penyebaran grup manajemen Azure)
- Get-AzTenantDeploymentOperation
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 .
Sampel 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 properti request
dan response
berisi informasi pemecahan masalah, ketahui skenario penyebaran berikut:
- Properti
request
danresponse
berisi nilainull
untuk templat utama dan templat bersarang saatDeploymentDebugLogLevel
tidak diaktifkan dengan perintah pendistribusian. - Saat perintah penyebaran mengaktifkan
DeploymentDebugLogLevel
danrequest
, propertiresponse
hanya berisi informasi pada templat utama. Properti templat yang tertindih berisi nilainull
. - Saat templat berlapis menggunakan
debugSetting
dan perintah penyebaran tidak menyertakanDeploymentDebugLogLevel
, hanya penyebaran templat berlapis yang memiliki nilai untuk propertirequest
danresponse
. Properti templat utama itu berisi nilainull
. - 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 utama Bicep dan modul yang dapat Anda gunakan untuk memecahkan masalah penyebaran.
Jika Anda mengaktifkan DeploymentDebugLogLevel
dari perintah penyebaran, properti request
dan properti response
akan berisi informasi hanya 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 selama proses debugging, 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 mengembalikan True
jika berhasil.
Untuk informasi selengkapnya tentang riwayat penyebaran, lihat dokumentasi untuk cakupan penyebaran: langganan, grup manajemen, dan penyewa.
- Hapus-AzDeployment
- Remove-AzManagementGroupDeployment
- Remove-AzTenantDeployment