تكوين وقت تشغيل التكامل المُستضاف ذاتيًا (SHIR) لمجموعة Log Analytics

ينطبق على: Azure Data Factory Azure Synapse Analytics

تلميح

جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!

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

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

الأهداف والسيناريوهات

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

تثبيت الأجهزة الظاهرية المحلية

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

تثبيت الأجهزة الظاهرية في Azure

النهج المُوصى به لأجهزة Azure الظاهرية المستندة إلى SHIR هو استخدام نتيجة تحليلات الجهاز الظاهري كما هو موضح في المقالة تمكين النظرة العامة على نتيجة تحليلات الجهاز الظاهري. هناك طرق متعددة لتكوين عامل Log Analytics عند استضافة SHIR في جهاز ظاهري من Azure. يتم وصف جميع الخيارات المتوفرة في المقالة نظرة عامة على عامل Log Analytics.

تكوين سجل الأحداث وتسجيل عدّاد الأداء

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

تحديد دفاتر يومية لعارض الأحداث

يجب أولاً جمع دفاتر يومية لعارض الأحداث ذات الصلة بـ SHIR كما هو موضّح في المقالة تجميع مصادر بيانات سجل أحداث Windows باستخدام عامل Log Analytics في Azure Monitor.

من المهم ملاحظة أنه عند اختيار سجلات الأحداث باستخدام الواجهة، من الطبيعي ألا ترى جميع دفاتر اليومية التي قد تكون موجودة على جهاز. لذا، فإن الدفترين اليوميين اللذين نحتاجهما لمراقبة SHIR لن يظهرا في هذه القائمة. إذا كتبت اسم دفتر اليومية تمامًا كما يظهر على الجهاز الظاهري المحلي، فسيتم تسجيله وإرساله إلى مساحة عمل Log analytics.

اسم الدفتر اليومي للحدث الذي يجب علينا تكوينه هو:

  • الموصلات - وقت تشغيل التكامل
  • وقت تشغيل التكامل

لقطة شاشة لاختيار سجلات SHIR ذات الصلة مع التحقق من الأخطاء والتحذيرات.

هام

سيؤدي ترك مستوى المعلومات بدون فحص إلى زيادة حجم البيانات بشكل كبير إذا كان لديك العديد من مُضيفي SHIR المنشورين وعدد أكبر من عمليات المسح الضوئي. نقترح بشدة الاحتفاظ بالخطأ والتحذير فقط.

تحديد عدّادات الأداء

في جزء التكوين نفسه، يمكنك النقر فوق Windows Performance Counters لتحديد عدّادات الأداء الفردية لإرسال ما يصل إلى تحليلات السجل.

هام

ضع في اعتبارك أن عدّادات الأداء هي، بحكم طبيعتها، دفق بيانات مستمر. لذلك، من المهم أن تفكر في تأثير جمع البيانات على التكلفة الإجمالية لتوزيع Azure Monitor/Log Analytics. ما لم يتم منح ميزانية استيعاب بيانات مسموح بها وتم السماح باستيعاب البيانات باستمرار ووضع ميزانية لها، يجب تكوين جمع عدّادات الأداء لفترة محددة فقط لإنشاء خط أساسي للأداء.

في الواجهة، عند تكوينها لأول مرة، سيتم التوصية بمجموعة عدّادات مقترحة. حدد تلك العدّادات التي تنطبق على نوع تحليل الأداء الذي تريد تنفيذه. ٪CPUوالذاكرة المتوفرة هي عدادات تتم مراقبتها بشكل شائع ولكن يمكن أن تكون العدّادات الأخرى مثل استهلاك النطاق الترددي للشبكة مفيدة في السيناريوهات التي يكون فيها حجم البيانات كبيرًا، ويكون النطاق الترددي أو وقت التنفيذ مقيدًا.

لقطة شاشة لواجهة تحديد العدّاد في مدخل Azure.

عرض بيانات عدّاد الأحداث والأداء في Log Analytics

لمعرفة كيفية تحليل بيانات المراقبة في مخزن Azure Monitor Logs / Log Analytics باستخدام لغة استعلام Kusto (KQL)، راجع استعلامات Kusto.

يسمى الجدولان حيث يتم حفظ بيانات تتبع الاستخدام Perf وEvent على التوالي. يتحقق الاستعلام التالي من عدد الصفوف لمعرفة ما إذا كانت لدينا بيانات متدفقة. وهذا يؤكد ما إذا كانت الأجهزة الموضحة أعلاه تعمل.

الاستعلام عن عينات KQL

فحص عدد السجلات

(
        Event 
        | extend TableName = "Event"
        | summarize count() by TableName
)     
| union
(     
        Perf
        | extend TableName = "Perf"
        | summarize count() by TableName
)

أحداث الاستعلام

استرداد أول 10 سجلات أحداث
Event
| take 10
استرداد عدد الأحداث حسب خطورة الرسالة
Event
| summarize count() by EventLevelName
عرض تخطيط دائري للعد حسب خطورة الرسالة
Event
| summarize count() by EventLevelName
| render piechart 
استرداد كافة الأخطاء باستخدام سلسلة نصية معينة

هنا نحن نبحث عن جميع الرسائل التي تم قطع اتصال الكلمة فيها.

Event
| where RenderedDescription has "disconnected"
البحث متعدد الجداول عن كلمة أساسية دون معرفة المخطط

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

search in (Perf, Event) "disconnected"
استرداد جميع الأحداث من دفتر يومية سجل محدد واحد

في هذا المثال، نقوم بتضييق الاستعلام إلى دفتر يومية السجل المسمى الموصلات - وقت تشغيل التكامل.

Event 
| where EventLog == "Connectors - Integration Runtime"
استخدام المساحات الزمنية لتقييد نتائج الاستعلام

يستخدم هذا الاستعلام نفسه كما هو موضّح أعلاه ولكنه يقيد النتائج على تلك التي حدثت قبل يومين أو أكثر مؤخرًا.

Event 
| where EventLog      == "Connectors - Integration Runtime"
  and   TimeGenerated >= ago(2d)

بيانات عدّاد أداء الاستعلام

استرداد أول 10 قراءات لعدّاد الأداء
Perf
| take 10
استرداد عدّاد معين مع قيود الوقت
Perf
| where     TimeGenerated >= ago(24h)
        and ObjectName    == "Network Adapter"
        and InstanceName  == "Mellanox ConnectX-4 Lx Virtual Ethernet Adapter"
        and CounterName   == "Bytes Received/sec"

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

استرداد القيمة المئوية بنسبة 95 لعدّاد معين مرتبط بشرائح لمدة 30 دقيقة من آخر 24 ساعة

هذا المثال هو جميع العدّادات لمحوّل شبكة اتصال معين.

Perf
| where     TimeGenerated >= ago(24h)
        and ObjectName    == "Network Adapter"
        and InstanceName  == "Mellanox ConnectX-4 Lx Virtual Ethernet Adapter"
| project TimeGenerated, Computer, ObjectName, InstanceName, CounterName, CounterValue
| summarize percentile(CounterValue, 95) by bin(TimeGenerated, 30m), Computer, ObjectName, InstanceName, CounterName
استخدام المتغيّرات لإعادة استخدام التعليمات البرمجية

هنا نحن نجعل اسم العنصر واسم العدّاد متغيرًا لذلك ليس علينا تغيير نص استعلام KQL لإجراء تغييرات على هذه التحديدات لاحقًا.

let pObjectName  = "Memory"; // Required to select the right counter
let pCounterName = "Available MBytes"; // Required to select the right counter
Perf
| where Type == "Perf" and ObjectName == pObjectName and CounterName == pCounterName
| project TimeGenerated, Computer, CounterName, CounterValue
| order by TimeGenerated asc 
| summarize Value=max(CounterValue) by CounterName, TimeStamps=TimeGenerated