مشاركة عبر


إنشاء قواعد جمع البيانات (DCRs) في Azure Monitor

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

إشعار

توضح هذه المقالة كيفية إنشاء DCR نفسه وتحريره. لإنشاء اقترانات قواعد تجميع البيانات وتحريرها، راجع إنشاء اقترانات قواعد تجميع البيانات وإدارتها.

الأذونات

تحتاج إلى الأذونات التالية لإنشاء اقترانات DCRs وDCR:

الدور مدمج النطاقات السبب
المساهم في المراقبة
  • الاشتراك و/أو
  • مجموعة الموارد و/أو
  • DCR موجود
إنشاء DCRs أو تحريرها، وتعيين القواعد إلى الجهاز، ونشر الاقترانات.
Virtual Machine Contributor
مسؤول موارد الجهاز المتصل ب Azure
  • أجهزة ظاهرية، مجموعات مقياس جهاز ظاهري
  • الخوادم الممكنة بواسطة Azure Arc
نشر ملحقات العامل على الجهاز الظاهري (الجهاز الظاهري).
أي دور يتضمن الإجراء Microsoft.Resources/التوزيع /*
  • الاشتراك و/أو
  • مجموعة الموارد و/أو
  • DCR موجود
توزيع قوالب Azure Resource Manager.

هام

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

إنشاء DCR أو تحريره باستخدام مدخل Microsoft Azure

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

السيناريو ‏‏الوصف
تمكين نتائج تحليلات الجهاز الظاهري عند تمكين VM Insights على جهاز ظاهري، يتم تثبيت عامل Azure Monitor ويتم إنشاء DCR وربطه بالجهاز الظاهري. يجمع DCR هذا مجموعة محددة مسبقا من عدادات الأداء ولا يجب تعديلها. راجع تمكين VM Insights.
جمع بيانات العميل من الجهاز الظاهري إنشاء DCR في مدخل Microsoft Azure باستخدام واجهة موجهة لتحديد مصادر بيانات مختلفة من نظام تشغيل العميل لجهاز ظاهري. تتضمن الأمثلة أحداث Windows وأحداث Syslog وسجلات النصوص. يتم تثبيت عامل Azure Monitor تلقائيا إذا لزم الأمر، ويتم إنشاء اقتران بين DCR وكل جهاز ظاهري تحدده. راجع تجميع البيانات باستخدام عامل Azure Monitor.
تصدير المقاييس إنشاء DCR في مدخل Microsoft Azure باستخدام واجهة موجهة لتحديد مقاييس من أنواع الموارد المختلفة لتجميعها. يتم إنشاء اقتران بين DCR وكل مورد تحدده. راجع إنشاء قاعدة تجميع بيانات (DCR) لتصدير المقاييس.
إنشاء الجداول عند إنشاء جدول جديد في مساحة عمل Log Analytics باستخدام مدخل Microsoft Azure، يمكنك تحميل بيانات نموذجية يستخدمها Azure Monitor لإنشاء DCR، بما في ذلك التحويل، التي يمكن استخدامها مع واجهة برمجة تطبيقات استيعاب السجلات. لا يمكنك تعديل DCR هذا في مدخل Microsoft Azure ولكن يمكنك تعديله باستخدام أي من الطرق الموضحة في هذه المقالة. راجع إنشاء جدول مخصص.
مراقبة Kubernetes لمراقبة مجموعة Kubernetes، يمكنك تمكين Container Insights للسجلات وPrometheus للمقاييس. يتم إنشاء DCR لكل منها وإقرانه بالإصدار الحاوي من عامل Azure Monitor في نظام المجموعة. قد تحتاج إلى تعديل Container insights DCR لإضافة تحويل. راجع تمكين المراقبة لمجموعات Kubernetes وتحويلات البيانات في نتائج تحليلات الحاوية.
تحويل مساحة العمل DCR يوفر DCRs لتحويل مساحة العمل تحويلات لسيناريوهات جمع البيانات التي لا تستخدم DCRs بعد. يمكنك إنشاء DCR هذا باستخدام مدخل Microsoft Azure لإنشاء تحويل لجدول معين. راجع إنشاء DCR لتحويل مساحة العمل.

إنشاء DCR أو تحريره باستخدام JSON

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

Warning

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

بمجرد أن يكون لديك تعريف DCR الخاص بك، يمكنك نشره على Azure Monitor باستخدام مدخل Azure أو CLI أو PowerShell أو API أو قوالب ARM.

تلميح

لعرض تعريف JSON ل DCR، راجع عرض تعريف DCR.

إنشاء DCR أو تحريره باستخدام CLI

استخدم الأمر az monitor data-collection rule create لإنشاء DCR من ملف JSON الخاص بك. يمكنك استخدام هذا الأمر نفسه لتحديث DCR موجود.

az monitor data-collection rule create --location 'eastus' --resource-group 'my-resource-group' --name 'my-dcr' --rule-file 'C:\MyNewDCR.json' --description 'This is my new DCR'

إشعار

بينما يمكنك اختيار استخدام أوامر PowerShell أو CLI لإنشاء DCR وتحريره، ستوفر أساليب API وARM رسائل خطأ أكثر تفصيلا إذا كانت هناك أخطاء في التحويل البرمجي.

في المثال التالي، يحدد DCR اسم جدول غير موجود في مساحة عمل Log Analytics الوجهة. يقوم أمر PowerShell بإرجاع رسالة خطأ عامة، ولكن استدعاء واجهة برمجة التطبيقات سيرجع رسالة خطأ مفصلة تحدد الخطأ الدقيق.

لقطة شاشة تعرض رسالة خطأ ل DCR عند استخدام أمر PowerShell.

لقطة شاشة تعرض رسالة خطأ ل DCR عند استخدام واجهة برمجة التطبيقات.

استراتيجيات لتحرير واختبار DCR

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

استخدام الملف المحلي كمصدر ل DCR

إذا كنت تستخدم ملف JSON محليا كمصدر ل DCRs التي تقوم بإنشائها وتحريرها، فأنت متأكد من أن لديك دائما حق الوصول إلى أحدث إصدار من تعريف DCR. يعد هذا مثاليا إذا كنت تريد استخدام أدوات التحكم في الإصدار مثل GitHub أو Azure DevOps لإدارة تغييراتك. يمكنك أيضا استخدام محرر مثل VS Code لإجراء تغييرات على DCR ثم استخدام أدوات سطر الأوامر لتحديث DCR في Azure Monitor كما هو موضح أعلاه.

فيما يلي نموذج لبرنامج PowerShell النصي الذي يمكنك استخدامه لدفع التغييرات إلى DCR من ملف مصدر. يتحقق هذا من صحة الملف المصدر JSON صالح قبل إرساله إلى Azure Monitor.

param (
    [Parameter(Mandatory = $true)][string]$ResourceId,  # Resource ID of the DCR
    [Parameter(Mandatory = $true)][string]$FilePath  # Path to the DCR JSON file to upload
)

# Read the DCR content from the file
Write-Host "Reading new DCR content from: $FilePath" -ForegroundColor Green
$DCRContent = Get-Content $FilePath -Raw

# Ensure the DCR content is valid JSON
try {
    $ParsedDCRContent = $DCRContent | ConvertFrom-Json
} catch {
    Write-Host "Invalid JSON content in file: $FilePath" -ForegroundColor Red
    exit 1
}

# Create or update the DCR in the specified resource group
Write-Host "Deploying DCR $ResourceId ..." -ForegroundColor Green
Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method PUT -Payload $DCRContent

حفظ محتوى DCR في ملف مؤقت

إذا لم يكن لديك تعريف DCR في ملف محلي، يمكنك استرداد التعريف من Azure Monitor وحفظه في ملف مؤقت. يمكنك بعد ذلك تحرير الملف باستخدام محرر مثل VS Code قبل دفع التحديثات إلى Azure Monitor.

فيما يلي نموذج برنامج نصي PowerShell يمكنك استخدامه لتحرير DCR موجود في Azure Monitor. سيقوم البرنامج النصي باسترداد تعريف DCR وحفظه في ملف مؤقت قبل تشغيل VS Code. بمجرد الإشارة إلى البرنامج النصي إلى أنك قمت بحفظ التغييرات، يتم تحديث DCR بالمحتوى الجديد ويتم حذف الملف المؤقت.

param ([Parameter(Mandatory=$true)] $ResourceId)

# Get DCR content and save it to a local file
$FilePath = "temp.dcr"
$DCR = Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method GET
$DCR.Content | ConvertFrom-Json | ConvertTo-Json -Depth 20 | Out-File $FilePath

# Open DCR in code editor
code $FilePath | Wait-Process

{ 
	#write DCR content back from the file
	$DCRContent = Get-Content $FilePath -Raw
	Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method PUT -Payload $DCRContent		
}

#Delete temporary file
Remove-Item $FilePath

استخدام قالب ARM لتحرير DCR في مكانه

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

  1. حدد DCR الذي تريد تعديله في مدخل Microsoft Azure، وحدد Export template. ثم انقر فوق نشر لإعادة نشر نفس القالب.

    لقطة شاشة تعرض خيار تصدير قالب لقاعدة تجميع البيانات في مدخل Microsoft Azure.

  2. انقر فوق تحرير القالب لفتح إصدار قابل للتحرير من JSON ل DCR. لا تغير قيم المعلمات.

    لقطة شاشة تعرض خيار تحرير القالب لقاعدة تجميع البيانات في مدخل Microsoft Azure.

  3. قم بإجراء أي تغييرات مطلوبة على DCR ثم انقر فوق حفظ.

    لقطة شاشة تعرض JSON القابل للتحرير لقاعدة تجميع البيانات في مدخل Microsoft Azure.

  4. إذا كنت ترغب في إنشاء DCR جديد، فقم بتغيير معلمة الاسم. وإلا، اترك المعلمات دون تغيير. انقر فوق Review + create لنشر القالب المعدل وإنشاء لإنشاء DCR الجديد.

    لقطة شاشة تعرض خيار المراجعة + الإنشاء لقاعدة تجميع البيانات في مدخل Microsoft Azure.

  5. إذا كان DCR صالحا بدون أخطاء، فسينجح النشر وسيتم تحديث DCR بالتكوين الجديد. انقر فوق الانتقال إلى المورد لفتح DCR المعدل.

    لقطة شاشة تعرض عملية نشر ناجحة لقاعدة تجميع البيانات في مدخل Microsoft Azure.

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

    لقطة شاشة تعرض عملية توزيع فاشلة لقاعدة تجميع البيانات في مدخل Microsoft Azure.

التحقق من جمع البيانات واستكشاف الأخطاء وإصلاحها

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

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

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

  1. تحقق من المقاييس مثل Logs Ingestion Bytes per Min و Logs Rows Received per Min للتأكد من وصول البيانات إلى Azure Monitor. إذا لم يكن الأمر كذلك، فتحقق من مصدر البيانات للتأكد من أنه يرسل البيانات كما هو متوقع.
  2. تحقق Logs Rows Dropped per Min لمعرفة ما إذا كان يتم إسقاط أي صفوف. قد لا يشير هذا إلى خطأ حيث يمكن إسقاط الصفوف بواسطة تحويل. إذا كانت الصفوف التي تم إسقاطها هي نفسها كما Logs Rows Dropped per Min لو كانت، فلن يتم استيعاب أي بيانات في مساحة العمل. Logs Transformation Errors per Min افحص لمعرفة ما إذا كانت هناك أي أخطاء تحويل.
  3. تحقق Logs Transformation Errors per Min لتحديد ما إذا كانت هناك أي أخطاء من التحويلات المطبقة على البيانات الواردة. قد يكون ذلك بسبب التغييرات في بنية البيانات أو التحويل نفسه.
  4. تحقق من DCRLogErrors الجدول بحثا عن أي أخطاء في الاستيعاب قد تكون تم تسجيلها. يمكن أن يوفر هذا تفاصيل إضافية في تحديد السبب الجذري للمشكلة.

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