تكامل تكوين حالة أتمتة Azure باستخدام سجلات المراقبة في Azure

إشعار

سيتم إيقاف Azure Automation State Configuration في 30 سبتمبر 2027، يرجى الانتقال إلى Azure Machine Configuration بحلول ذلك التاريخ. لمزيد من المعلومات، راجع إعلان نشر المدونة. تجمع خدمة Azure Machine Configuration بين ميزات ملحق DSC، وتكوين حالة أتمتة Azure، والميزات الأكثر شيوعا المطلوبة من ملاحظات العملاء. يتضمن تكوين جهاز Azure أيضا دعم الجهاز المختلط من خلال الخوادم الممكنة بواسطة Arc.

يحتفظ تكوين حالة أتمتة Azure ببيانات حالة العقدة لمدة 30 يومًا. يمكنك إرسال بيانات حالة العقدة إلى سجلات المراقبة في Azure إذا كنت تفضل الاحتفاظ بهذه البيانات لفترة أطول. تكون حالة التوافق مرئية في مدخل Azure أو في PowerShell للعقد ولموارد DSC الفردية في تكوينات العقد.

توفر سجلات المراقبة في Azure رؤية تشغيلية أكبر لبيانات تكوين حالة الأتمتة، ويمكن أن تساعد في معالجة الأحداث بشكل أسرع. باستخدام سجلات المراقبة في Azure يمكنك:

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

إشعار

تم تحديث هذه المقالة مؤخرًا لاستخدام مصطلح سجلات مراقبة Azure بدلاً من تحليلات السجلات. لا تزال بيانات السجل مخزنة في مساحة عمل Log Analytics ولا يزال يتم جمعها وتحليلها بواسطة نفس خدمة Log Analytics. نحن نحدِّث المصطلحات لتعكس دور السجلات في Azure Monitorعلى نحوٍ أفضل. راجع تغييرات مصطلحات Azure Monitor للحصول على التفاصيل.

المتطلبات الأساسية

لبدء إرسال تقارير تكوين حالة الأتمتة إلى سجلات المراقبة في Azure، تحتاج إلى:

إعداد التكامل باستخدام سجلات المراقبة في Azure

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

  1. من جهازك، سجل الدخول إلى اشتراكك في Azure باستخدام PowerShell Connect-AzAccount cmdlet واتبع الإرشادات التي تظهر على الشاشة.

    # Sign in to your Azure subscription
    $sub = Get-AzSubscription -ErrorAction SilentlyContinue
    if (-not($sub)) {
        Connect-AzAccount
    }
    # If you have multiple subscriptions, set the one to use
    # Select-AzSubscription -SubscriptionId "<SUBSCRIPTIONID>"
    
  2. قم بتوفير قيمة مناسبة للمتغيرات automationAccount بالاسم الفعلي لحساب الأتمتة، وworkspaceName بالاسم الفعلي لمساحة عمل Log Analytics الخاصة بك. ثم نفِّذ البرنامج النصي.

    $automationAccount = "automationAccount"
    $law = "workspaceName"
    
  3. احصل على معرف المورد لحساب الأتمتة الخاص بك عن طريق تشغيل أوامر PowerShell التالية.

    # Find the ResourceId for the Automation account
    $AutomationResourceId = (Get-AzResource -ResourceType 'Microsoft.Automation/automationAccounts' |
       Where-Object {$_.Name -eq $automationAccount}).ResourceId
    
  4. احصل على معرف المورد لمساحة عمل Log Analytics من خلال تشغيل أوامر PowerShell التالية.

     # Find the ResourceId for the Log Analytics workspace
     $WorkspaceResourceId = (Get-AzResource `
         -ResourceType 'Microsoft.OperationalInsights/workspaces' |
         WHERE {$_.Name -eq $law}).ResourceId
    
  5. لتكوين إعدادات التشخيص على حساب الأتمتة لإعادة توجيه بيانات سجل حالة عقدة DSC إلى سجلات مراقبة Azure، ينشئ PowerShell cmdlet التالي إعداد تشخيص باستخدام تلك الوجهة.

    $setAzDiagnosticSettingSplat = @{
        ResourceId = $AutomationResourceId
        WorkspaceId = $WorkspaceResourceId
        Enabled = $true
        Category = 'DscNodeStatus'
    }
    Set-AzDiagnosticSetting @setAzDiagnosticSettingSplat
    

    عندما تريد إيقاف إعادة توجيه بيانات السجل من "تكوين حالة الأتمتة" إلى سجلات مراقبة Azure، قم بتشغيل PowerShell cmdlet التالية.

    $setAzDiagnosticSettingSplat = @{
        ResourceId = $AutomationResourceId
        WorkspaceId = $WorkspaceResourceId
        Enabled = $false
        Category = 'DscNodeStatus'
    }
    Set-AzDiagnosticSetting @setAzDiagnosticSettingSplat
    

عرض سجلات تكوين الحالة

يمكنك البحث في سجلات تكوين الحالة لعمليات DSC من خلال البحث في سجلات المراقبة في Azure. بعد إعداد التكامل مع سجلات المراقبة في Azure لبيانات تكوين حالة الأتمتة، انتقل إلى حساب الأتمتة في مدخل Azure. ثم ضمن Monitoring، حدد Logs.

السجلات

أغلق مربع الحوار Queries. يتم فتح جزء «البحث في السجل» مع منطقة استعلام محددة النطاق لمورد حساب الأتمتة لديك. يتم تخزين سجلات عمليات DSC في الجدول AzureDiagnostics. للبحث عن العقد غير المتوافقة، اكتب الاستعلام التالي.

AzureDiagnostics
| where Category == "DscNodeStatus"
| where OperationName contains "DSCNodeStatusData"
| where ResultType != "Compliant"

تفاصيل التصفية:

  • التصفية على DscNodeStatusData لإرجاع العمليات لكل عقدة تكوين حالة.
  • التصفية على DscResourceStatusData لإرجاع العمليات لكل مورد DSC يتم استدعاؤه في تكوين العقدة المطبق على ذلك المورد.
  • التصفية على DscResourceStatusData لإرجاع معلومات الخطأ لأي من موارد DSC التي تفشل.

لمعرفة المزيد حول إنشاء استعلامات السجل للعثور على البيانات، راجع نظرة عامة على استعلامات السجل في مراقبة Azure.

أرسل بريدًا إلكترونيًا عندما يفشل فحص التوافق لتكوين الحالة

  1. ارجع إلى الاستعلام الذي تم إنشاؤه مسبقًا.

  2. انقر فوق الزر + قاعدة تنبيه جديدة لبدء تدفق إنشاء التنبيه.

  3. في الاستعلام التالي، استبدل NODENAME بالاسم الفعلي للعقدة المدارة، ثم الصق الاستعلام المنقح في مربع نص استعلام البحث:

    AzureDiagnostics
    | where Category == "DscNodeStatus"
    | where NodeName_s == "NODENAME"
    | where OperationName == "DscNodeStatusData"
    | where ResultType == "Failed"
    

    إذا قمت بتكوين سجلات لأكثر من حساب أو اشتراك أتمتة واحد، يمكنك تجميع تنبيهاتك حسب الاشتراك وحساب التنفيذ التلقائي. اشتق اسم حساب الأتمتة من الخاصية Resource في نتائج بحث السجل من DscNodeStatusData.

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

البحث عن موارد DSC الفاشلة عبر كافة العقد

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

AzureDiagnostics
| where Category == "DscNodeStatus"
| where OperationName == "DscResourceStatusData"
| where ResultType == "Failed"

عرض حالة عقدة DSC السابقة

لتصور سجل حالة عقدة DSC مع مرور الوقت، يمكنك استخدام هذا الاستعلام:

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION"
| where Category == "DscNodeStatus"
| where ResultType != "started"
| summarize count() by ResultType

يعرض هذا الاستعلام مخطط حالة العقدة بمرور الوقت.

سجلات تسجيل مراقبة Azure

تنشئ تشخيصات أتمتة Azure فئتين من السجلات في سجلات مراقبة Azure:

  • بيانات حالة العقدة (DscNodeStatusData)
  • بيانات حالة المورد (DscResourceStatusData)

DscNodeStatusData

الخاصية ‏‏الوصف
TimeGenerated التاريخ والوقت عند تشغيل التحقق من التوافق.
OperationName DscNodeStatusData.
نوع النتيجة القيمة التي تشير إلى ما إذا كانت العقدة متوافقة أم لا.
NodeName_s اسم العقدة المدارة.
NodeComplianceStatus_s قيمة الحالة التي تحدد ما إذا كانت العقدة متوافقة أم لا.
DscReportStatus قيمة الحالة تشير إلى ما إذا كان التحقق من التوافق قد تم بنجاح أم لا.
ConfigurationMode الوضع المستخدم لتطبيق التكوين على العقدة. القيم الممكنة هي:
  • ApplyOnly: يطبق DSC التكوين ولا يفعل أي شيء آخر. بعد التطبيق الأولي للتكوين الجديد، لا يتحقق DSC من الانجراف من حالة تم تكوينها مسبقًا. يحاول DSC تطبيق التكوين حتى ينجح قبل أن تصبح قيمة ApplyOnly سارية المفعول.
  • ApplyAndMonitor: هذه هي القيمة الافتراضية. يطبق LCM أي تكوينات جديدة. بعد التطبيق الأولي لتكوين جديد، إذا انجرفت العقدة الهدف من الحالة المطلوبة، فسيقوم DSC بالإبلاغ عن وجود التباين في السجلات. يحاول DSC تطبيق التكوين حتى ينجح قبل أن تصبح قيمة ApplyAndMonitor سارية المفعول.
  • ApplyAndAutoCorrect: يطبق DSC أي تكوينات جديدة. بعد التطبيق الأولي للتهيئة الجديدة، إذا انحرفت العقدة الهدف عن الحالة المطلوبة، فإن DSC يبلغ عن التباين في السجلات، ثم يعيد تطبيق التكوين الحالي.
HostName_s اسم العقدة المدارة.
ipAddress عنوان IPv4 للعقدة المدارة.
الفئة DscNodeStatus.
Resource اسم حساب أتمتة Azure.
Tenant_g GUID الذي يحدد المستأجر للمستدعي.
NodeId_g GUID الذي يعرف العقدة المدارة.
DscReportId_g GUID الذي يحدد التقرير.
LastSeenTime_t تاريخ ووقت آخر عرض للتقرير.
ReportStartTime_t تاريخ ووقت بدء التقرير.
ReportEndTime_t تاريخ ووقت اكتمال التقرير.
NumberOfResources_d عدد موارد DSC التي تم استدعاؤها في التكوين المطبق على العقدة.
نظام المصدر النظام المصدر الذي يحدد كيفية جمع سجلات Azure Monitor للبيانات. دائمًا Azure لتشخيصات Azure.
ResourceId معرف المورد لحساب أتمتة Azure.
وصف النتيجة وصف المورد لهذه العملية.
SubscriptionId. معرّف اشتراك Azure (GUID) لحساب الأتمتة.
ResourceGroup اسم مجموعة الموارد لحساب الأتمتة.
موفر المورد MICROSOFT.AUTOMATION.
ResourceType AUTOMATIONACCOUNTS.
CorrelationId معرف ارتباط لتقرير التوافق.

DscResourceStatusData

الخاصية ‏‏الوصف
TimeGenerated التاريخ والوقت عند تشغيل التحقق من التوافق.
OperationName DscResourceStatusData.
نوع النتيجة ما إذا كان المورد متوافقًا أم لا.
NodeName_s اسم العقدة المدارة.
الفئة DscNodeStatus.
Resource اسم حساب أتمتة Azure.
Tenant_g GUID الذي يحدد المستأجر للمستدعي.
NodeId_g GUID الذي يعرف العقدة المدارة.
DscReportId_g GUID الذي يحدد التقرير.
DscResourceId_s اسم مثيل مورد DSC.
DscResourceName_s اسم مورد DSC.
DscResourceStatus_s ما إذا كان مورد DSC متوافقًا أم لا.
DscModuleName_s اسم الوحدة النمطية PowerShell الذي يحتوي على مورد DSC.
DscModuleVersion_s إصدار الوحدة النمطية PowerShell الذي يحتوي على مورد DSC.
DscConfigurationName_s اسم التكوين المطبق على العقدة.
ErrorCode_s رمز الخطأ إذا فشل المورد.
ErrorMessage_s رسالة الخطأ إذا فشل المورد.
DscResourceDuration_d الوقت بالثواني الذي تم فيه تشغيل مورد DSC.
نظام المصدر كيف قيام سجلات المراقبة في Azure بتجميع البيانات. دائمًا Azure لتشخيصات Azure.
ResourceId معرف حساب الأتمتة في Azure.
وصف النتيجة وصف هذه العملية.
SubscriptionId. معرّف اشتراك Azure (GUID) لحساب الأتمتة.
ResourceGroup اسم مجموعة الموارد لحساب الأتمتة.
موفر المورد MICROSOFT.AUTOMATION.
ResourceType AUTOMATIONACCOUNTS.
CorrelationId معرف ارتباط لتقرير التوافق.

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