تمكين تسجيل تتبع الأخطاء
لاستكشاف أخطاء التوزيع وإصلاحها، يمكنك تمكين تسجيل تتبع الأخطاء للحصول على مزيد من المعلومات. يعمل تسجيل تتبع الأخطاء لعمليات التوزيع باستخدام ملفات Bicep أو قوالب Azure Resource Manager (قوالب ARM). يمكنك الحصول على بيانات حول طلب التوزيع والاستجابة لمعرفة سبب المشكلة.
تحذير
يمكن أن يعرض تسجيل تتبع الأخطاء أسرارا مثل كلمات المرور أو listKeys
العمليات. تمكين تسجيل تتبع الأخطاء فقط عندما تحتاج إلى استكشاف أخطاء التوزيع وإصلاحها. عند الانتهاء من تصحيح الأخطاء، يجب إزالة محفوظات نشر تصحيح الأخطاء.
إعداد تسجيل تتبع الأخطاء
استخدم Azure PowerShell لتمكين تسجيل تتبع الأخطاء الذي يملأ request
خصائص و response
بمعلومات النشر لاستكشاف الأخطاء وإصلاحها. لا يمكن تمكين تسجيل تتبع الأخطاء باستخدام Azure CLI.
يتم تمكين تسجيل تتبع الأخطاء فقط لقالب ARM الرئيسي أو ملف Bicep. إذا كنت تستخدم قوالب ARM المتداخلة أو وحدات Bicep النمطية، فشاهد تصحيح القالب المتداخل.
لنشر مجموعة موارد، استخدم New-AzResourceGroupDeployment وقم بتعيين المعلمة DeploymentDebugLogLevel
إلى All
أو ResponseContent
أو RequestContent
.
عند تمكين تسجيل تتبع الأخطاء، يتم عرض تحذير بأنه يمكن تسجيل البيانات السرية مثل كلمات المرور أو listKeys
العمليات وعرضها عند استخدام أوامر مثل Get-AzResourceGroupDeploymentOperation
الحصول على معلومات حول عمليات النشر.
New-AzResourceGroupDeployment `
-Name exampledeployment `
-ResourceGroupName examplegroup `
-TemplateFile main.bicep `
-DeploymentDebugLogLevel All
يظهر إخراج التوزيع مستوى تسجيل تتبع الأخطاء.
DeploymentDebugLogLevel : RequestContent, ResponseContent
DeploymentDebugLogLevel
المعلمة متاحة لنطاقات النشر الأخرى: الاشتراك ومجموعة الإدارة والمستأجر.
الحصول على معلومات تتبع الأخطاء
بعد تمكين تسجيل تتبع الأخطاء، يمكنك الحصول على مزيد من المعلومات حول عمليات التوزيع. لا تقوم أوامر Cmdlets Azure PowerShell لعمليات النشر إخراج request
الخصائص و response
. تحتاج إلى استخدام Azure CLI للحصول على المعلومات من هذه الخصائص.
إذا لم تقم بتمكين تسجيل تتبع الأخطاء من أمر النشر، فلا يزال بإمكانك الحصول على معلومات عمليات التوزيع. استخدم Azure PowerShell أو Azure CLI للحصول على رمز الحالة ورسالة الحالة وحالة التوفير.
لنشر مجموعة موارد، استخدم Get-AzResourceGroupDeploymentOperation للحصول على عمليات التوزيع.
Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup
يمكنك تحديد خاصية، مثل StatusCode
، StatusMessage
أو ProvisioningState
لتصفية الإخراج.
(Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup).StatusCode
لمزيد من المعلومات، راجع وثائق نطاقات عمليات النشر: الاشتراك ومجموعة الإدارة والمستأجر.
تصحيح القالب المتداخل
يحتوي قالب ARM الرئيسي والقوالب المتداخلة على اسم النشر ومحفوظات التوزيع الخاصة بها. يستخدم ملف Bicep الرئيسي والوحدة النمطية أيضا اسم توزيع منفصل ومحفوظات توزيع.
قالب ARM
لتسجيل معلومات تتبع الأخطاء لقالب ARM متداخل ، استخدم Microsoft.Resources/deployments مع الخاصية debugSetting
.
يعرض النموذج التالي قالب متداخل مع debugSetting
لتسجيل طلب النشر واستجابته.
"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"
}
}
}
],
يحتوي قالب ARM الرئيسي والقوالب المتداخلة على اسم النشر ومحفوظات التوزيع الخاصة بها. إذا كنت تريد أن تحتوي الخاصيتين request
و response
على معلومات استكشاف الأخطاء وإصلاحها، فكن على دراية بسيناريوهات التوزيع التالية:
-
request
تحتوي الخاصيتين وresponse
علىnull
قيم للقالب الرئيسي والقالب المتداخل عندDeploymentDebugLogLevel
عدم تمكينهما باستخدام أمر النشر. - عندما يمكن
DeploymentDebugLogLevel
أمر النشر الخصائصrequest
وresponse
تحتوي على معلومات للقالب الرئيسي فقط. تحتوي خصائص القالب المتداخل علىnull
قيم. - عندما يستخدم
debugSetting
قالب متداخل ولا يتضمنDeploymentDebugLogLevel
أمر النشر فقط نشر القالب المتداخل له قيم للخصائصrequest
وresponse
. تحتوي خصائص القالب الرئيسي علىnull
قيم. - للحصول على
request
وresponse
للقالب الرئيسي والقالب المتداخل، حددDeploymentDebugLogLevel
في أمر النشر واستخدمهdebugSetting
في القالب المتداخل.
ملف Bicep
التوصية لملفات Bicep هي استخدام الوحدات النمطية بدلا من القوالب المتداخلة مع Microsoft.Resources/deployments
. ستتضمن رسالة الحالة ورمز الحالة وحالة التوفير معلومات لملف Bicep الرئيسي والوحدة النمطية التي يمكنك استخدامها لاستكشاف أخطاء التوزيع وإصلاحها.
إذا قمت بالتمكين DeploymentDebugLogLevel
من أمر النشر، request
فستحتوي الخاصيتين و response
على معلومات فقط لنشر ملف Bicep الرئيسي.
إزالة محفوظات نشر تتبع الأخطاء
عند الانتهاء من تصحيح الأخطاء، يجب إزالة محفوظات النشر لمنع أي شخص لديه حق الوصول من رؤية المعلومات الحساسة التي ربما تم تسجيلها. لكل اسم نشر استخدمته أثناء تصحيح الأخطاء، قم بتشغيل الأمر لإزالة محفوظات التوزيع.
لإزالة محفوظات النشر لتوزيع مجموعة موارد، استخدم Remove-AzResourceGroupDeployment.
Remove-AzResourceGroupDeployment -ResourceGroupName examplegroup -Name exampledeployment
يرجع True
الأمر عند نجاحه.
لمزيد من المعلومات حول محفوظات النشر، راجع وثائق نطاقات النشر: الاشتراك ومجموعة الإدارة والمستأجر.
الخطوات التالية
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ