إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يرشدك هذا البرنامج التعليمي خلال تكوين تحويل عينة في قاعدة تجميع بيانات مساحة العمل باستخدام قوالب Resource Manager. تسمح لك التحويلات في Azure Monitor بتصفية البيانات الواردة أو تعديلها قبل إرسالها إلى وجهتها. توفر تحويلات مساحة العمل الدعم لتحويلات وقت الاستيعاب لسير العمل التي لا تستخدم بعد البنية الأساسية لبرنامج ربط العمليات التجارية لاستيعاب بيانات Azure Monitor.
يتم تخزين تحويلات مساحة العمل معا في قاعدة تجميع بيانات واحدة (DCR) لمساحة العمل، تسمى DCR لمساحة العمل. يرتبط كل تحويل بجدول معين. يتم تطبيق التحويل على كافة البيانات المرسلة إلى هذا الجدول من أي سير عمل لا يستخدم DCR.
إشعار
يستخدم هذا البرنامج التعليمي قوالب Resource Manager وواجهة برمجة تطبيقات REST لتكوين تحويل مساحة العمل. راجع البرنامج التعليمي: إضافة تحويل في قاعدة تجميع بيانات مساحة العمل إلى Azure Monitor باستخدام مدخل Microsoft Azure لنفس البرنامج التعليمي باستخدام مدخل Microsoft Azure.
ستتعرف في هذا البرنامج التعليمي على:
- تكوين تحويل مساحة العمل لجدول في مساحة عمل Log Analytics.
- اكتب استعلام سجل لتحويل وقت الاستيعاب.
إشعار
يستخدم هذا البرنامج التعليمي PowerShell من Azure Cloud Shell لإجراء استدعاءات واجهة برمجة تطبيقات REST باستخدام واجهة برمجة تطبيقات جداول مراقبة Azure ومدخل Microsoft Azure لتثبيت قوالب Resource Manager. يمكنك استخدام أي طريقة أخرى لإجراء هذه المكالمات.
المتطلبات الأساسية
لإكمال هذا البرنامج التعليمي، تحتاج إلى ما يلي:
- سجل مساحة عمل Log Analytics حيث يكون لديك على الأقل حقوق المساهمين.
- أذونات لإنشاء كائنات قاعدة تجميع البيانات في مساحة العمل.
- يجب أن يحتوي الجدول بالفعل على بعض البيانات.
- لا يمكن ربط الجدول بالفعل بـ DCR لتحويل مساحة العمل.
نظرة عامة
في هذا البرنامج التعليمي، ستقوم بتقليل متطلبات التخزين لجدول LAQueryLogs عن طريق تصفية سجلات معينة. ستقوم أيضًا بإزالة محتويات العمود أثناء تحليل بيانات العمود لتخزين جزء من البيانات في عمود مخصص. يتم إنشاء جدول LAQueryLogs عند تمكين تدقيق استعلام السجل في مساحة عمل، ولكن يتم استخدام هذا فقط كنموذج البرنامج التعليمي. يمكنك استخدام نفس العملية الأساسية لإنشاء تحويل لأي جدول مدعوم في مساحة عمل Log Analytics.
تفعيل سجلات تدقيق الاستعلام
تحتاج إلى تمكين تدقيق الاستعلام لمساحة العمل لإنشاء جدول LAQueryLogs الذي ستعمل معه. هذا ليس مطلوبًا لجميع تحويلات وقت الاستيعاب. إنه فقط لإنشاء نموذج البيانات التي سيستخدمها تحويل النموذج هذا.
من القائمة مساحات عمل Log Analytics في مدخل Microsoft Azure، حدد إعدادات التشخيص ثم إضافة إعدادات التشخيص.
وفر اسم لإعداد التشخيص وحدد مساحة العمل بحيث يتم تخزين بيانات التدقيق في نفس مساحة العمل. حدد فئة تدقيق ثم انقر فوق حفظ لحفظ إعداد التشخيص وإغلاق صفحة إعدادات التشخيص.
حدد سجلات ثم قم بتشغيل بعض الاستعلامات لتعبئة
LAQueryLogsببعض البيانات. لا تحتاج هذه الاستعلامات إلى إرجاع أي بيانات فعليًا.
تحديث مخطط جدول
قبل أن تتمكن من إنشاء التحويل، يجب إجراء التغييرين التاليين على الجدول:
- يجب تمكين الجدول لتحويل مساحة العمل. هذا مطلوب لأي جدول سيكون له تحويل، حتى إذا لم يعدل التحويل مخطط الجدول.
- يجب إضافة أي أعمدة إضافية يتم ملؤها بواسطة التحويل إلى الجدول.
استخدم API الجداول - تحديث لتكوين الجدول باستخدام التعليمات البرمجية PowerShell أدناه. يتيح استدعاء واجهة برمجة التطبيقات جدول تحويلات مساحة العمل، سواء تم تعريف الأعمدة المخصصة أم لا. في هذا النموذج، يتضمن عمودًا مخصصًا يسمى Resources_CF سيتم ملؤه باستعلام التحويل.
هام
يجب أن تنتهي أي أعمدة مخصصة مضافة إلى جدول مضمن بـ _CF. لا تحتاج الأعمدة المضافة إلى جدول مخصص (الجدول الذي يحمل اسمًا ينتهي بـ _CL) إلى هذه اللاحقة.
انقر فوق الزر Cloud Shell في مدخل Microsoft Azure وتأكد من تعيين البيئة إلى PowerShell.
انسخ التعليمات البرمجية PowerShell التالية واستبدل المعلمة مسار بالتفاصيل لمساحة العمل الخاصة بك.
$tableParams = @' { "properties": { "schema": { "name": "LAQueryLogs", "columns": [ { "name": "Resources_CF", "description": "The list of resources, this query ran against", "type": "string", "isDefaultDisplay": true, "isHidden": false } ] } } } '@ Invoke-AzRestMethod -Path "/subscriptions/{subscription}/resourcegroups/{resourcegroup}/providers/microsoft.operationalinsights/workspaces/{workspace}/tables/LAQueryLogs?api-version=2021-12-01-preview" -Method PUT -payload $tableParamsالصق التعليمات البرمجية في مطالبة Cloud Shell لتشغيلها.
يمكنك التحقق من إضافة العمود بالانتقال إلى قائمة مساحة عمل Log Analytics في مدخل Azure. حدد السجلات لفتح Log Analytics ثم قم بتوسيع جدول
LAQueryLogsلعرض أعمدتها.
تحديد الاستعلام الخاص بالتحويل
استخدم Log Analytics لاختبار استعلام التحويل قبل إضافته إلى قاعدة تجميع البيانات.
افتح مساحة العمل في قائمة مساحات عمل Log Analytics في مدخل Azure وحدد السجلات لفتح Log Analytics.
شغل الاستعلام التالي لعرض محتويات جدول
LAQueryLogs. لاحظ محتويات العمودRequestContext. سيقوم التحويل باسترداد اسم مساحة العمل من هذا العمود وإزالة بقية البيانات فيه.LAQueryLogs | take 10عدل الاستعلام إلى ما يلي:
LAQueryLogs | where QueryText !contains 'LAQueryLogs' | extend Context = parse_json(RequestContext) | extend Workspace_CF = tostring(Context['workspaces'][0]) | project-away RequestContext, Contextيقوم هذا بإجراء التغييرات التالية:
- أفلت الصفوف المتعلقة بالاستعلام عن جدول
LAQueryLogsنفسه لتوفير مساحة لأن إدخالات السجل هذه ليست مفيدة. - أضف عمودًا لاسم مساحة العمل التي تم الاستعلام عنها.
- بادر بإزالة البيانات من العمود
RequestContextلتوفير مساحة.
- أفلت الصفوف المتعلقة بالاستعلام عن جدول
بادر بإجراء التغييرات التالية على الاستعلام لاستخدامه في التحويل:
- بدلاً من تحديد اسم جدول (
LAQueryLogsفي هذه الحالة) كمصدر للبيانات لهذا الاستعلام، استخدم الكلمة الأساسيةsource. هذا جدول ظاهري يمثل دائمًا البيانات الواردة في استعلام تحويل. - بادر بإزالة أي عوامل تشغيل غير مدعومة من خلال استعلامات التحويل. راجع ميزات KQL المدعومة للحصول على قائمة مفصلة بعوامل التشغيل المدعومة.
- بادر بتسوية الاستعلام إلى سطر واحد بحيث يمكن أن يتناسب مع DCR JSON.
فيما يلي الاستعلام الذي ستستخدمه في التحويل بعد هذه التعديلات:
source | where QueryText !contains 'LAQueryLogs' | extend Context = parse_json(RequestContext) | extend Resources_CF = tostring(Context['workspaces']) |extend RequestContext = ''- بدلاً من تحديد اسم جدول (
إنشاء قاعدة جمع البيانات (DCR)
نظرًا لأن هذا هو أول تحويل في مساحة العمل، فأنت بحاجة إلى إنشاء DCR لتحويل مساحة العمل. إذا قمت بإنشاء تحويلات لجداول أخرى في نفس مساحة العمل، فسيتم تخزينها في نفس DCR.
في مربع بحث مدخل Microsoft Azure، اكتب template، ثم حدد Deploy a custom template.
انقر على إنشاء النموذج الخاص بك في المحرر.
الصق قالب Resource Manager أدناه في المحرر ثم انقر فوق حفظ. يعرف هذا القالب DCR ويحتوي على استعلام التحويل. لا تحتاج إلى تعديل هذا القالب نظرًا لأنك ستجمع قيمًا لمعلماته.
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "dataCollectionRuleName": { "type": "string", "metadata": { "description": "Specifies the name of the Data Collection Rule to create." } }, "location": { "type": "string", "defaultValue": "westus2", "allowedValues": [ "westus2", "eastus2", "eastus2euap" ], "metadata": { "description": "Specifies the location in which to create the Data Collection Rule." } }, "workspaceResourceId": { "type": "string", "metadata": { "description": "Specifies the Azure resource ID of the Log Analytics workspace to use." } } }, "resources": [ { "type": "Microsoft.Insights/dataCollectionRules", "name": "[parameters('dataCollectionRuleName')]", "location": "[parameters('location')]", "apiVersion": "2021-09-01-preview", "kind": "WorkspaceTransforms", "properties": { "destinations": { "logAnalytics": [ { "workspaceResourceId": "[parameters('workspaceResourceId')]", "name": "clv2ws1" } ] }, "dataFlows": [ { "streams": [ "Microsoft-Table-LAQueryLogs" ], "destinations": [ "clv2ws1" ], "transformKql": "source |where QueryText !contains 'LAQueryLogs' | extend Context = parse_json(RequestContext) | extend Resources_CF = tostring(Context['workspaces']) |extend RequestContext = ''" } ] } } ], "outputs": { "dataCollectionRuleId": { "type": "string", "value": "[resourceId('Microsoft.Insights/dataCollectionRules', parameters('dataCollectionRuleName'))]" } } }في شاشة النشر المخصص، حدد مجموعة الاشتراكوالموارد لتخزين قاعدة جمع البيانات ثم قم بتوفير القيم المعرفة في القالب. يتضمن ذلك اسمًا لقاعدة تجميع البيانات ومعرف مورد مساحة العمل الذي قمت بتجميعه في خطوة سابقة. يجب أن يكون الموقع هو نفس موقع مساحة العمل. سيتم بالفعل ملء المنطقة واستخدامها لموقع قاعدة تجميع البيانات.
انقر فوق مراجعة + إنشاء ثم إنشاء عند مراجعة التفاصيل.
عند اكتمال التوزيع، قم بتوسيع مربع تفاصيل التوزيع وانقر فوق قاعدة تجميع البيانات لعرض تفاصيلها. انقر فوق طريقة عرض JSON.
انسخ معرف المورد لقاعدة جمع البيانات. ستستخدم هذه في الخطوة التالية.
ربط مساحة العمل إلى DCR
الخطوة الأخيرة لتمكين التحويل هي ربط DCR بمساحة العمل.
هام
يمكن توصيل مساحة العمل بـ DCR واحد فقط، ويجب أن يحتوي DCR المرتبط على مساحة العمل هذه كوجهة.
استخدم API مساحات العمل - تحديث لتكوين الجدول باستخدام التعليمات البرمجية PowerShell أدناه.
انقر فوق الزر Cloud Shell لفتح Cloud Shell مرة أخرى. انسخ التعليمات البرمجية PowerShell التالية واستبدل المعلمات بالقيم لمساحة العمل وDCR الخاص بك.
$defaultDcrParams = @' { "properties": { "defaultDataCollectionRuleResourceId": "/subscriptions/{subscription}/resourceGroups/{resourcegroup}/providers/Microsoft.Insights/dataCollectionRules/{DCR}" } } '@ Invoke-AzRestMethod -Path "/subscriptions/{subscription}/resourcegroups/{resourcegroup}/providers/microsoft.operationalinsights/workspaces/{workspace}?api-version=2021-12-01-preview" -Method PATCH -payload $defaultDcrParamsالصق التعليمات البرمجية في مطالبة Cloud Shell لتشغيلها.
اختبار التحويل
اترك حوالي 30 دقيقة حتى يدخل التحويل حيز التنفيذ، ويمكنك بعد ذلك اختباره عن طريق تشغيل استعلام مقابل الجدول. ستتأثر فقط البيانات المرسلة إلى الجدول بعد تطبيق التحويل.
بالنسبة لهذا البرنامج التعليمي، قم بتشغيل بعض نماذج الاستعلامات لإرسال البيانات إلى الجدول LAQueryLogs. بادر بتضمين بعض الاستعلامات مقابل LAQueryLogs حتى تتمكن من التحقق من أن التحويل يقوم بتصفية هذه السجلات. لاحظ أن الإخراج يحتوي على العمود Workspace_CF الجديد، ولا توجد سجلات لـ LAQueryLogs.
استكشاف الأخطاء وإصلاحها
يصف هذا القسم حالات الخطأ المختلفة التي قد تتلقاها وكيفية تصحيحها.
لا يتعرف IntelliSense في Log Analytics على الأعمدة الجديدة في الجدول
قد يستغرق تحديث ذاكرة التخزين المؤقت التي تقود IntelliSense ما يصل إلى 24 ساعة.
لا يعمل التحويل في عمود ديناميكي
توجد حاليًا مشكلة معروفة تؤثر على الأعمدة الديناميكية. الحل المؤقت هو التحليل الصريح لبيانات العمود الديناميكي باستخدام parse_json() قبل تنفيذ أي عمليات ضدها.