إعداد التسجيل التشخيصي

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

Resource logging to Storage, Event Hubs, or Azure Monitor logs

ملاحظة

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

ما الذي تم تسجيله؟

يمكنك تحديد فئات المحركوالخدمةوالمقاييس .

محرك

يؤدي تحديد المحرك إلى تسجيل جميع xEvents. لا يمكنك تحديد أحداث فردية.

فئات XEvent اسم حدث
التدقيق الأمني تسجيل الدخول إلى التدقيق
التدقيق الأمني تسجيل الخروج من التدقيق
التدقيق الأمني بدء تشغيل خادم التدقيق وتوقفه
التقارير المرحلية بدء التقرير المرحلي
التقارير المرحلية نهاية التقرير المرحلي
التقارير المرحلية التقرير المرحلي الحالي
استعلامات بدء الاستعلام
استعلامات نهاية الاستعلام
الأوامر بدء تشغيل الأوامر
الأوامر نهاية الأوامر
تحذيرات الأخطاء & خطأ
اكتشاف اكتشف النهاية
الإعلام الإعلام
"Session" تهيئة الجلسة
أقفال الجمود
معالجة الاستعلام بدء استعلام VertiPaq SE
معالجة الاستعلام نهاية استعلام VertiPaq SE
معالجة الاستعلام VertiPaq SE استعلام ذاكرة التخزين المؤقت المباراة
معالجة الاستعلام بدء الاستعلام المباشر
معالجة الاستعلام نهاية الاستعلام المباشر

الخدمة

اسم العملية يحدث عندما
السيرة الذاتيةخادم استئناف خادم
خادم التعليق إيقاف خادم مؤقتا
حذفخادم حذف خادم
إعادة التشغيلالخادم يعيد المستخدم تشغيل خادم من خلال SSMS أو PowerShell
GetServerLogFiles يقوم المستخدم بتصدير سجل الخادم من خلال PowerShell
نموذج التصدير يقوم المستخدم بتصدير نموذج في البوابة الإلكترونية باستخدام Open in Visual Studio

جميع المقاييس

تسجل فئة المقاييس مقاييس الخادم نفسها في جدول AzureMetrics. إذا كنت تستخدم مقياس الاستعلام وتحتاج إلى فصل المقاييس لكل نسخة متماثلة مقروءة، فاستخدم جدول AzureDiagnostics بدلا من ذلك، حيث يكون OperationName مساويا ل LogMetric.

تسجيل تشخيصات الإعداد

مدخل Azure

  1. في خادم مدخل >Azure، انقر فوق إعدادات التشخيص في شريط التنقل الأيمن، ثم انقر فوق تشغيل التشخيصات.

    Turn on resource logging for Azure Cosmos DB in the Azure portal

  2. في إعدادات التشخيص، حدد الخيارات التالية:

    • الاسم. أدخل اسما للسجلات المراد إنشاؤها.

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

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

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

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

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

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

  3. انقر فوق ⁧«حفظ»⁧

    إذا تلقيت رسالة خطأ تقول "فشل تحديث التشخيصات لاسم <>مساحة العمل. <لم يتم تسجيل معرف> الاشتراك لاستخدام microsoft.insights." اتبع إرشادات استكشاف أخطاء تشخيصات Azure وإصلاحها لتسجيل الحساب، ثم أعد محاولة هذا الإجراء.

    إذا كنت ترغب في تغيير كيفية حفظ سجلات الموارد في أي وقت في المستقبل، فيمكنك العودة إلى هذه الصفحة لتعديل الإعدادات.

PowerShell

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

لتمكين المقاييس وتسجيل الموارد باستخدام PowerShell، استخدم الأوامر التالية:

  • لتمكين تخزين سجلات الموارد في حساب تخزين، استخدم هذا الأمر:

    Set-AzDiagnosticSetting -ResourceId [your resource id] -StorageAccountId [your storage account id] -Enabled $true
    

    معرف حساب التخزين هو معرف المورد لحساب التخزين حيث تريد إرسال السجلات.

  • لتمكين تدفق سجلات الموارد إلى مركز أحداث، استخدم هذا الأمر:

    Set-AzDiagnosticSetting -ResourceId [your resource id] -ServiceBusRuleId [your service bus rule id] -Enabled $true
    

    معرف قاعدة ناقل خدمة Microsoft Azure هو سلسلة بهذا التنسيق:

    {service bus resource ID}/authorizationrules/{key name}
    
  • لتمكين إرسال سجلات الموارد إلى مساحة عمل Log Analytics، استخدم هذا الأمر:

    Set-AzDiagnosticSetting -ResourceId [your resource id] -WorkspaceId [resource id of the log analytics workspace] -Enabled $true
    
  • يمكن الحصول على معرف المورد لمساحة عمل تحليلات السجل من خلال استخدام الأمر التالي:

    (Get-AzOperationalInsightsWorkspace).ResourceId
    

يمكنك دمج هذه المعلمات لتمكين خيارات الإخراج المتعددة.

REST API

تعرف على كيفية تغيير إعدادات التشخيص باستخدام واجهة برمجة تطبيقات Azure Monitor REST.

قالب إدارة الموارد

تعرف على كيفية تمكين إعدادات التشخيص عند إنشاء الموارد باستخدام قالب Resource Manager.

إدارة سجلاتك

تتوفر السجلات عادة في غضون ساعتين من إعداد التسجيل. الأمر متروك لك لإدارة سجلاتك في حساب التخزين الخاص بك:

  • استخدم أساليب التحكم القياسية في الوصول Azure لتأمين سجلاتك عن طريق حظر من يمكنه الوصول إليها.
  • حذف السجلات التي لم تعد تريد الاحتفاظ بها في حساب التخزين.
  • تأكد من تعيين فترة احتفاظ بالسجلات القديمة بحيث يتم حذفها من حساب التخزين.

عرض السجلات في مساحة عمل Log Analytics

يتم دمج المقاييس وأحداث الخادم مع xEvents في مورد مساحة عمل Log Analytics للتحليل جنبا إلى جنب. يمكن أيضا تكوين مساحة عمل Log Analytics لتلقي الأحداث من خدمات Azure الأخرى التي توفر عرضا شاملا لبيانات التسجيل التشخيصية عبر البنية الخاصة بك.

لعرض بياناتك التشخيصية، في مساحة عمل Log Analytics، افتح السجلات من القائمة اليمنى.

Log Search options in the Azure portal

في منشئ الاستعلام، قم بتوسيع LogManagementAzureDiagnostics>. يتضمن AzureDiagnostics أحداث المحرك والخدمة. لاحظ أنه يتم إنشاء استعلام أثناء التنقل. يحتوي الحقل EventClass_s على أسماء xEvent، والتي قد تبدو مألوفة إذا كنت قد استخدمت xEvents للتسجيل المحلي. انقر فوق EventClass_s أو أحد أسماء الأحداث وتستمر مساحة عمل Log Analytics في إنشاء استعلام. تأكد من حفظ استعلاماتك لإعادة استخدامها لاحقا.

مثال على الاستعلامات

مثال 1

يقوم الاستعلام التالي بإرجاع المدد الزمنية لكل حدث نهاية استعلام/تحديث نهاية لقاعدة بيانات نموذج وخادم. إذا تم تحجيمها، يتم تقسيم النتائج بواسطة نسخة متماثلة لأن رقم النسخة المتماثلة مضمن في ServerName_s. يؤدي التجميع حسب RootActivityId_g إلى تقليل عدد الصفوف التي تم استردادها من واجهة برمجة تطبيقات Azure Diagnostics REST ويساعد على البقاء ضمن الحدود كما هو موضح في حدود معدل تحليلات السجل.

let window = AzureDiagnostics
   | where ResourceProvider == "MICROSOFT.ANALYSISSERVICES" and Resource =~ "MyServerName" and DatabaseName_s =~ "MyDatabaseName" ;
window
| where OperationName has "QueryEnd" or (OperationName has "CommandEnd" and EventSubclass_s == 38)
| where extract(@"([^,]*)", 1,Duration_s, typeof(long)) > 0
| extend DurationMs=extract(@"([^,]*)", 1,Duration_s, typeof(long))
| project  StartTime_t,EndTime_t,ServerName_s,OperationName,RootActivityId_g,TextData_s,DatabaseName_s,ApplicationName_s,Duration_s,EffectiveUsername_s,User_s,EventSubclass_s,DurationMs
| order by StartTime_t asc

مثال 2

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

let window = AzureDiagnostics
   | where ResourceProvider == "MICROSOFT.ANALYSISSERVICES" and Resource =~ "MyServerName";
window
| where OperationName == "LogMetric" 
| where name_s == "memory_metric" or name_s == "qpu_metric"
| project ServerName_s, TimeGenerated, name_s, value_s
| summarize avg(todecimal(value_s)) by ServerName_s, name_s, bin(TimeGenerated, 1m)
| order by TimeGenerated asc 

مثال 3

يرجع الاستعلام التالي عدادات أداء محرك خدمات تحليل الصفوف للقراءة/الثانية لخادم.

let window =  AzureDiagnostics
   | where ResourceProvider == "MICROSOFT.ANALYSISSERVICES" and Resource =~ "MyServerName";
window
| where OperationName == "LogMetric" 
| where parse_json(tostring(parse_json(perfobject_s).counters))[0].name == "Rows read/sec" 
| extend Value = tostring(parse_json(tostring(parse_json(perfobject_s).counters))[0].value) 
| project ServerName_s, TimeGenerated, Value
| summarize avg(todecimal(Value)) by ServerName_s, bin(TimeGenerated, 1m)
| order by TimeGenerated asc 

هناك المئات من الاستعلامات التي يمكنك استخدامها. لمعرفة المزيد حول الاستعلامات، راجع بدء استخدام استعلامات سجل Azure Monitor.

تشغيل التسجيل باستخدام PowerShell

في هذا البرنامج التعليمي السريع، يمكنك إنشاء حساب تخزين في نفس الاشتراك ومجموعة الموارد مثل خادم Analysis Service. ثم تستخدم Set-AzDiagnosticSetting لتشغيل تسجيل التشخيصات، وإرسال الإخراج إلى حساب التخزين الجديد.

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

لإكمال هذا البرنامج التعليمي، يجب أن يكون لديك الموارد التالية:

تسجيل الدخول إلى الاشتراك

ابدأ جلسة عمل Azure PowerShell وقم بتسجيل الدخول إلى حساب Azure الخاص بك باستخدام الأمر التالي:

Connect-AzAccount

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

إذا كان لديك اشتراكات متعددة، فقد تضطر إلى تحديد اشتراك معين تم استخدامه لإنشاء Key Vault Azure. اكتب ما يلي للاطلاع على اشتراكات حسابك:

Get-AzSubscription

بعد ذلك، لتحديد الاشتراك المقترن بحساب خدمات تحليل Azure الذي تقوم بتسجيله، اكتب:

Set-AzContext -SubscriptionId <subscription ID>

ملاحظة

إذا كان لديك اشتراكات متعددة مرتبطة بحسابك، فمن المهم تحديد الاشتراك.

إنشاء حساب تخزين جديد لسجلاتك

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

يمكنك أيضا استخدام نفس مجموعة الموارد مثل تلك التي تحتوي على خادم Analysis Services الخاص بك. استبدل القيم ب awsales_resgroup، awsaleslogsوبقيمك West Central US الخاصة:

$sa = New-AzStorageAccount -ResourceGroupName awsales_resgroup `
-Name awsaleslogs -Type Standard_LRS -Location 'West Central US'

تحديد حساب الخادم لسجلاتك

قم بتعيين اسم الحساب إلى متغير باسم الحساب، حيث ResourceName هو اسم الحساب.

$account = Get-AzResource -ResourceGroupName awsales_resgroup `
-ResourceName awsales -ResourceType "Microsoft.AnalysisServices/servers"

تمكين التسجيل

لتمكين التسجيل، استخدم Set-AzDiagnosticSetting cmdlet مع متغيرات حساب التخزين الجديد وحساب الخادم والفئة. قم بتشغيل الأمر التالي، مع تعيين العلامة -Enable إلى $true:

Set-AzDiagnosticSetting  -ResourceId $account.ResourceId -StorageAccountId $sa.Id -Enabled $true -Categories Engine

يجب أن يبدو الإخراج مثل هذا المثال:

StorageAccountId            : 
/subscriptions/a23279b5-xxxx-xxxx-xxxx-47b7c6d423ea/resourceGroups/awsales_resgroup/providers/Microsoft.Storage/storageAccounts/awsaleslogs
ServiceBusRuleId            :
EventHubAuthorizationRuleId :
Metrics                    
    TimeGrain       : PT1M
    Enabled         : False
    RetentionPolicy
    Enabled : False
    Days    : 0


Logs                       
    Category        : Engine
    Enabled         : True
    RetentionPolicy
    Enabled : False
    Days    : 0


    Category        : Service
    Enabled         : False
    RetentionPolicy
    Enabled : False
    Days    : 0


WorkspaceId                 :
Id                          : /subscriptions/a23279b5-xxxx-xxxx-xxxx-47b7c6d423ea/resourcegroups/awsales_resgroup/providers/microsoft.analysisservic
es/servers/awsales/providers/microsoft.insights/diagnosticSettings/service
Name                        : service
Type                        :
Location                    :
Tags                        :

يؤكد هذا الإخراج أن التسجيل ممكن الآن للخادم ، مما يوفر المعلومات في حساب التخزين.

يمكنك أيضا تعيين سياسة الاحتفاظ بالبيانات لسجلاتك بحيث يتم حذف السجلات القديمة تلقائيا. على سبيل المثال، قم بتعيين نهج الاستبقاء باستخدام العلامة - RetentionEnabled إلى $true، وقم بتعيين المعلمة -RetentionInDays إلى 90. يتم حذف السجلات التي مضى عليها أكثر من 90 يوما تلقائيا.

Set-AzDiagnosticSetting -ResourceId $account.ResourceId`
 -StorageAccountId $sa.Id -Enabled $true -Categories Engine`
  -RetentionEnabled $true -RetentionInDays 90

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

تعرف على المزيد حول تسجيل موارد Azure Monitor.

راجع تعيين AzDiagnosticSetting في تعليمات PowerShell.