إنشاء إعدادات التشخيص على نطاق واسع باستخدام نهج ومبادرات Azure

لمراقبة موارد Azure، من الضروري إنشاء إعدادات تشخيص لكل مورد. قد يكون من الصعب إدارة هذه العملية عندما يكون لديك العديد من الموارد. لتبسيط عملية إنشاء إعدادات التشخيص وتطبيقها على نطاق واسع، استخدم نهج Azure لإنشاء إعدادات تشخيصية تلقائيا لكل من الموارد الجديدة والموجودة.

يحتوي كل نوع مورد Azure على مجموعة فريدة من الفئات المدرجة في إعدادات التشخيص. لذلك يتطلب كل نوع مورد تعريف نهج منفصل. تحتوي بعض أنواع الموارد على تعريفات نهج منفصل يمكنك تعيينها بدون تعديل. بالنسبة إلى أنواع الموارد الأخرى، يمكنك إنشاء تعريف مخصص.

مجموعات فئات السجل

مجموعات فئات السجل، وتجميع أنواع مماثلة من السجلات معا. تسهل مجموعات الفئات الرجوع إلى سجلات متعددة في أمر واحد. توجد مجموعة فئات allLogs تحتوي على كافة السجلات. هناك أيضا مجموعة فئات تدقيق تتضمن جميع سجلات التدقيق. باستخدام إلى مجموعة فئات، يمكنك تعريف نهج يتم تحديثه ديناميكيا كفئات سجل جديدة تضاف إلى المجموعة.

تعريفات النهج المضمنة في مراقبة Azure

هناك عموما ثلاثة تعريفات نهج مضمنة لكل نوع مورد، مطابقة للوجهات الثلاث لإرسال التشخيصات إلى:

  • مساحات عمل Log Analytics
  • حسابات تخزين Azure
  • مراكز الأحداث

تعيين نهج لنوع المورد وفقا للوجهات التي تحتاج إليها.

تم تطوير مجموعة من النهج المضمنة والمبادرات المستندة إلى مجموعات فئات سجل التدقيق لمساعدتك على تطبيق إعدادات التشخيص ببضع خطوات فقط. لمزيد من المعلومات، راجع تمكين إعدادات التشخيص حسب مجموعة الفئات باستخدام النهج المضمنة.

للحصول على قائمة كاملة بالنهج المضمنة ل Azure Monitor، راجع تعريفات نهج Azure المضمنة ل Azure Monitor

تعريفات النهج المخصصة

بالنسبة لأنواع الموارد التي لا تحتوي على نهج مضمن، تحتاج إلى إنشاء تعريف نهج مخصص. يمكنك إنشاء نهج جديد يدويا في مدخل Microsoft Azure عن طريق نسخ نهج مضمن موجود ثم تعديله لنوع المورد الخاص بك. بدلا من ذلك، قم بإنشاء النهج برمجيا باستخدام برنامج نصي في معرض PowerShell.

يقوم البرنامج النصي Create-AzDiagPolicy بإنشاء ملفات نهج لنوع مورد معين يمكنك تثبيته باستخدام PowerShell أو Azure CLI. استخدم الإجراء التالي لإنشاء تعريف نهج مخصص لإعدادات التشخيص:

  1. تأكد من تثبيت Azure PowerShell.

  2. ثبّت البرنامج النصي باستخدام الأمر التالي:

    Install-Script -Name Create-AzDiagPolicy
    
  3. شَغّل البرنامج النصي باستخدام المعلمات لتحديد مكان إرسال السجلات. ستتم مطالبتك بتحديد نوع اشتراك ومورد.

    على سبيل المثال، لإنشاء تعريف نهج يرسل سجلات إلى مساحة عمل Log Analytics ومركز أحداث، استخدم الأمر التالي:

    Create-AzDiagPolicy.ps1 -ExportLA -ExportEH -ExportDir ".\PolicyFiles"  
    

    بدلًا من ذلك، يمكنك تحديد نوع الاشتراك والمورد في الأمر. على سبيل المثال، لإنشاء تعريف نهج يرسل سجلات إلى مساحة عمل Log Analytics ومركز أحداث لقواعد بيانات SQL Server، استخدم الأمر التالي:

    Create-AzDiagPolicy.ps1 -SubscriptionID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ResourceType Microsoft.Sql/servers/databases  -ExportLA -ExportEH -ExportDir ".\PolicyFiles"  
    
  4. يقوم البرنامج النصي بإنشاء مجلدات منفصلة لكل تعريف نهج. يحتوي كل مجلد على ثلاثة ملفات تسمى azurepolicy.json وazurepolicy.rules.json وazurepolicy.parameters.json. إذا كنت تريد إنشاء النهج يدويًّا في مدخل Azure، فيمكنك نسخ محتويات azurepolicy.json ولصقها لأنها تتضمن تعريف النهج بالكامل. استخدم الملفين الآخرين مع PowerShell أو CLI Azure لإنشاء تعريف النهج من سطر الأوامر.

    توضح الأمثلة التالية كيفية تثبيت تعريف النهج من PowerShell وCLI Azure على حدٍّ سواء. يتضمن كل مثال بيانات وصفية لتحديد فئة المراقبة لتجميع تعريف النهج الجديد مع تعريفات النهج المضمنة.

    New-AzPolicyDefinition -name "Deploy Diagnostic Settings for SQL Server database to Log Analytics workspace" -policy .\Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.rules.json -parameter .\Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.parameters.json -mode All -Metadata '{"category":"Monitoring"}'
    
    az policy definition create --name 'deploy-diag-setting-sql-database--workspace' --display-name 'Deploy Diagnostic Settings for SQL Server database to Log Analytics workspace'  --rules 'Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.rules.json' --params 'Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.parameters.json' --subscription 'AzureMonitor_Docs' --mode All
    

المبادرة

بدلًا من إنشاء تعيين لكل تعريف نهج، تتمثل الإستراتيجية الشائعة في إنشاء مبادرة تتضمن تعريفات النهج لإنشاء إعدادات تشخيصية لكل خدمة من خدمات Azure. قم بإنشاء مهمة بين المبادرة ومجموعة إدارة أو اشتراك أو مجموعة موارد، اعتمادًا على كيفية إدارتك لبيئتك. تقدم هذه الإستراتيجية المزايا التالية:

  • أنشئ مهمة واحدة للمبادرة بدلًا من التخصيصات المتعددة لكل نوع مورد. استخدم المبادرة نفسها مع مجموعات مراقبة متعددة أو اشتراكات أو مجموعات موارد.
  • عَدِّل المبادرة عندما تحتاج إلى إضافة نوع مورد جديد أو وجهة. على سبيل المثال، قد تكون متطلباتك الأولية إرسال البيانات إلى مساحة عمل Log Analytics فقط، ولكن فيما بعد تريد إضافة مركز أحداث. عَدِّل المبادرة بدلًا من إنشاء مهام جديدة.

للحصول على تفاصيل بشأن إنشاء مبادرة، راجع إنشاء تعريف للمبادرة وتعيينه. فكر في التوصيات التالية:

  • عَيّن الفئة على المراقبة لتجميعها مع تعريفات النهج المضمنة والمخصصة ذات الصلة.
  • بدلًا من تحديد تفاصيل مساحة عمل Log Analytics ومركز الحدث لتعريفات النهج المضمنة في المبادرة، استخدم معلمة مبادرة مشتركة. تتيح لك هذه المعلمة تحديد قيمة مشتركة لجميع تعريفات النهج بسهولة وتغيير هذه القيمة إذا لزم الأمر.

Screenshot that shows settings for initiative definition.

تعيين

قم بتعيين المبادرة إلى مجموعة إدارة Azure أو اشتراك أو مجموعة موارد، وذلك استنادًا إلى نطاق الموارد التي تريد مراقبتها. تُعد مجموعة الإدارة مفيدة في تحديد النطاق، خاصةً إذا كانت مؤسستك لديها اشتراكات متعددة.

Screenshot of the settings for the Basics tab in the Assign initiative section of the Diagnostic settings to Log Analytics workspace in the Azure portal.

باستخدام معلمات المبادرة، يمكنك تحديد مساحة العمل أو أي تفاصيل أخرى مرة واحدة لكافة تعريفات النهج في المبادرة.

Screenshot that shows initiative parameters on the Parameters tab.

المعالجة

سيتم تطبيق المبادرة على كل جهاز ظاهري عند إنشائه. تنشر مهمة الإصلاح تعريفات النهج في المبادرة إلى الموارد الموجودة، بحيث يمكنك إنشاء إعدادات تشخيصية لأي موارد تم إنشاؤها بالفعل.

عند إنشاء التعيين باستخدام مدخل Azure، يكون لديك خيار إنشاء مهمة معالجة في الوقت نفسه. راجع إصلاح الموارد غير المتوافقة باستخدام نهج Azure للحصول على تفاصيل عن الإصلاح.

Screenshot that shows initiative remediation for a Log Analytics workspace.

استكشاف الأخطاء وإصلاحها

فئة المقياس غير مدعومة

عند نشر إعداد تشخيص، تتلقى رسالة خطأ، شبيهة بفئة القياس "xxxx" غير مدعومة. قد تتلقى هذا الخطأ رغم نجاحِ عملية نشر سابقة.

تحدث المشكلة عند استخدام قالب Resource Manager أو واجهة برمجة تطبيقات REST أو واجهة سطر الأوامر من Azure أو Azure PowerShell. لا تتأثر إعدادات التشخيص التي تم إنشاؤها عبر مدخل Microsoft Azure حيث يتم تقديم أسماء الفئات المدعومة فقط.

سبب المشكلة هو تغيير حديث في واجهة برمجة التطبيقات الأساسية. فئات القياس بخلاف "AllMetrics" غير مدعومة ولم تكن أبدا باستثناء بعض خدمات Azure المحددة. في الماضي، تم تجاهل أسماء الفئات الأخرى عند نشر أحد إعدادات التشخيص. أعادت الواجهة الخلفية لـ Azure Monitor توجيه هذه الفئات إلى «AllMetrics». اعتبارًا من فبراير 2021، تم تحديث الواجهة الخلفية لتأكيد دقة فئة المقياس المقدمة على وجه التحديد. تسبب هذا التغيير في فشل بعض عمليات النشر.

إذا تلقيت هذا الخطأ، فحدّث عمليات النشر لاستبدال أي أسماء فئات مترية بـ 'AllMetrics' لإصلاح المشكلة. إذا كان النشر يضيف فئات متعددة سابقًا، فيجب الاحتفاظ بفئات واحدة فقط بمرجع "AllMetrics". إذا استمرت المشكلة، فيُرجى الاتصال بدعم Azure من خلال مدخل Microsoft Azure.

يختفي الإعداد بسبب الأحرف غير ASCII في ResourceID

لا تدعم إعدادات التشخيص معرفات الموارد ذات الأحرف غير ASCII (على سبيل المثال، Preproducción). نظرا لأنه لا يمكنك إعادة تسمية الموارد في Azure، فإن خيارك الوحيد هو إنشاء مورد جديد بدون أحرف غير ASCII. إذا كانت الأحرف في مجموعة موارد، فيمكنك نقل الموارد الموجودة ضمنها إلى مجموعة جديدة. وإلا، ستحتاج إلى إعادة إنشاء المورد.

الخطوات التالية