مراقبة قاعدة بيانات Azure SQL باستخدام Azure SQL Analytics (إصدار أولي)
ينطبق على:قاعدة بيانات Azure SQL، مثيل Azure SQL المدار
تنبيه
إن Azure SQL Analytics (إصدار أولي) هو تكامل مع Azure Monitor، حيث لم يعد العديد من حلول المراقبة قيد التطوير النشط. لمزيد من خيارات المراقبة، راجع المراقبة وضبط الأداء في Azure SQL Database ومثيل Azure SQL المُدار.
Azure SQL Analytics (إصدار أولي) هو حل متقدم لمراقبة السحابة لمراقبة أداء جميع قواعد بيانات Azure SQL على نطاق واسع وعبر اشتراكات متعددة في طريقة عرض واحدة. تجمع Azure SQL Analytics مقاييس الأداء الرئيسية وتمثلها باستخدام التحليل الذكي المضمن لاستكشاف أخطاء الأداء وإصلاحها.
باستخدام هذه المقاييس المجمعة، يمكنك إنشاء قواعد وتنبيهات مراقبة مخصصة. تساعدك Azure SQL Analytics على تحديد المشكلات في كل طبقة من مكدس الذاكرة المؤقتة لتطبيقك. يستخدم مقاييسAzure Diagnosticsإلى جانب طرق عرض Azure Monitor لتقديم بيانات بشأن كافة قواعد بيانات Azure SQL في مساحة عمل واحدة لتحليلات السجل. يساعدك Azure Monitor على جمع البيانات المصنفة وغير المصنفة وربطها وتمثيلها.
المصادر المتصلة
يمثل Azure SQL Analytics حل مراقبة سحابي فحسب يدعم تدفق بيانات التشخيص عن بعد لجميع قواعد بيانات Azure SQL. نظرًا لأن Azure SQL Analytics لا يستخدم العوامل للاتصال بـ Azure Monitor، فإنه لا يدعم مراقبة SQL Server المستضافة محليًا أو في الأجهزة الظاهرية.
المصدر المتصل | مدعوم | الوصف |
---|---|---|
إعدادات التشخيص | نعم | تُرسل بيانات قياس وسجل Azure إلى سجلات مراقبة Azure مباشرة بواسطة Azure. |
حساب مخزن Azure | لا | لا يقرأ Azure Monitor البيانات من حساب التخزين. |
عوامل Windows | لا | لا تستخدم عوامل Windows المباشرة من قِبل Azure SQL Analytics. |
عوامل Linux | لا | لا تستخدم عوامل Linux المباشرة من قِبل Azure SQL Analytics. |
مجموعة إدارة عمليات مركز النظام | لا | لا يتم استخدام اتصال مباشر من عامل مدير العمليات إلى Azure Monitor من قِبل Azure SQL Analytics. |
خيارات Azure SQL Analytics
يوضح الجدول أدناه الخيارات المدعومة للمخططات التفصيلية بإصداريها من لوحة معلومات Azure SQL Analytics، أحدهما لقاعدة بيانات Azure SQL، والآخر لقواعد بيانات Azure SQL المثيل المُدار.
خيارات Azure SQL Analytics | الوصف | دعم قاعدة بيانات SQL | دعم SQL Managed Instance |
---|---|---|---|
المورد حسب النوع | المنظور الذي يحسب جميع الموارد التي تم رصدها. | نعم | نعم |
نتائج التحليلات | يوفر التنقل الهرمي للأسفل نتائج تحليلات ذكية للأداء. | نعم | نعم |
أخطاء | يوفر التنقل الهرمي لأسفل أخطاء SQL التي حدثت على قواعد البيانات. | نعم | نعم |
المهلات | يوفر التنقل الهرمي لأسفل مهلات SQL التي حدثت على قواعد البيانات. | نعم | لا |
عمليات الحظر | يوفر التنقل الهرمي لأسفل عمليات الحظر لـ SQL التي حدثت على قواعد البيانات. | نعم | لا |
ينتظر قاعدة البيانات | يوفر التنقل الهرمي لأسفل إحصائيات انتظار SQL التي حدثت على مستوى قاعدة البيانات. يتضمن ملخصات لإجمالي وقت الانتظار ووقت الانتظار لكل نوع انتظار. | نعم | لا |
مدة الاستعلام | يوفر التنقل الهرمي لأسفل إحصائيات تنفيذ الاستعلام مثل مدة الاستعلام، واستخدام المعالج، واستخدام الإدخال/الإخراج للبيانات، واستخدام الإدخال/الإخراج للتسجيل. | نعم | نعم |
ينتظر الاستعلام | يوفر التنقل الهرمي لأسفل إحصائيات انتظار الاستعلام حسب فئة الانتظار. | نعم | نعم |
تكوين Azure SQL Analytics (إصدار أولي)
استخدم العملية الموضحة في إضافة حلول Azure Monitor من معرض الحلول لإضافة Azure SQL Analytics (معاينة) إلى مساحة عمل تحليلات التسجيل.
تكوين قاعدة بيانات Azure SQL لدفق بيانات تتبع الاستخدام التشخيصية.
بمجرد إنشاء حل Azure SQL Analytics في مساحة العمل، ستحتاج إلى تكوين كل مورد تريد مراقبته لدفق بيانات تتبع الاستخدام التشخيصية إلى Azure SQL Analytics. اتبع الإرشادات التفصيلية في هذه الصفحة:
- تمكين تشخيص Azure لقاعدة البيانات الخاصة بك لدفق بيانات تتبع الاستخدام التشخيصية إلى Azure SQL Analytics .
توفر الصفحة أعلاه أيضًا إرشادات حول تمكين الدعم لمراقبة اشتراكات Azure المتعددة من مساحة عمل Azure SQL Analytics الفردية كجزء فردي من الزجاج.
استخدم Azure SQL Analytics (إصدار أولي)
انتقل إلى نشر SQL Analytics من صفحة الحلول القديمة في مساحة عمل Log Analytics.
يوفر Azure SQL Analytics طريقتين عرض منفصلتين: أحدهما لمراقبة قاعدة بيانات SQL والآخر لمراقبة مثيل SQL المُدار.
عرض Azure SQL Analytics
تتضمن لوحة المعلومات نظرة عامة على كافة قواعد البيانات التي يتم مراقبتها من خلال مناظير مختلفة. لكي تعمل المناظير المختلفة، يجب أن تمكِّن المقاييس المناسبة أو تسجيل الدخول إلى موارد SQL ليتم بثها إلى مساحة عمل تحليلات السجل.
إذا لم يتم دفق بعض المقاييس أو السجلات إلى Azure Monitor، فلن تُملأ الإطارات المتجانبة في Azure SQL Analytics بمعلومات المراقبة.
عرض قاعدة بيانات SQL
بمجرد تحديد تجانب Azure SQL Analytics لقاعدة البيانات، تُعرَض لوحة معلومات المراقبة.
حدد أي تجانب، وافتح تقرير التنقل لأسفل في منظور معين. بمجرد تحديد المنظور، يتم فتح تقرير التنقل لأسفل.
يوفر كل منظور في طريقة العرض هذه ملخصات على مستويات الاشتراك، والخادم، والمجموعات المرنة، وقاعدة البيانات. بالإضافة إلى ذلك، فإن كل منظور يبين منظورًا خاصًا بالتقرير على جهة اليمين. يستمر تحديد الاشتراك أو الخادم أو المجموعات أو قاعدة البيانات من قائمة التنقل لأسفل.
عرض المثيل المُدار لـ SQL
بمجرد تحديد تجانب Azure SQL Analytics لقواعد البيانات، تُعرَض لوحة معلومات المراقبة.
حدد أي تجانب، وافتح تقرير التنقل لأسفل في منظور معين. بمجرد تحديد المنظور، يتم فتح تقرير التنقل لأسفل.
تحديد طريقة عرض المثيل المُدار SQL، يعرض تفاصيل حول استخدام المثيل وقواعد البيانات المثيلة وبيانات تتبع الاستهلاك على الاستعلامات المنفذة عبر المثيل المُدار.
تقرير نتيجة التحليلات الذكي
يتيح لك تحليل البيانات الذكي لقاعدة بيانات Azure SQL معرفة ما يحدث مع أداء جميع قواعد بيانات Azure SQL. يمكن تمثيل جميع نتيجة التحليلات الذكية التي تم جمعها والوصول إليها من خلال منظور نتيجة التحليلات.
مجموعات مرنة وتقارير قاعدة البيانات
تحتوي كل من المجموعات المرنة وقواعد البيانات على تقارير خاصة بها تعرض كافة البيانات التي يتم تجميعها للمورد في الوقت المحدد.
تقارير الاستعلام
خلال مدة الاستعلام وانتظار الاستعلام وجهات النظر، يمكنك ربط أداء أي استعلام من خلال تقرير الاستعلام. يقارن هذا التقرير أداء الاستعلام عبر قواعد بيانات مختلفة ويجعل من السهل تحديد قواعد البيانات التي تؤدي الاستعلام المحدد بشكل جيد مقابل تلك التي تكون بطيئة.
الأذونات
لاستخدام Azure SQL Analytics (إصدار أولي)، يحتاج المستخدمون إلى الحصول على حد أدنى من الإذن لدور القارئ في Azure. ومع ذلك، لا يسمح هذا الدور للمستخدمين برؤية نص الاستعلام أو تنفيذ أية إجراءات ضبط تلقائي. تُعد الأدوار التي لها أذونات أكثر في Azure تلك التي تسمح باستخدام Azure SQL Analytics إلى أقصى حد هي المالك أو المساهم أوالمساهم في قاعدة بيانات SQL أو المساهم في SQL Server. قد تحتاج أيضًا إلى التفكير في إنشاء دور مخصص في المدخل بأذونات محددة مطلوبة فقط لاستخدام Azure SQL Analytics، وبدون إمكانية الوصول إلى إدارة الموارد الأخرى.
إنشاء دور مخصص في المدخل
ملاحظة
نوصي باستخدام وحدة Azure Az PowerShell للتفاعل مع Azure. راجع تثبيت Azure PowerShell للبدء. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.
مع إدراك أن بعض المؤسسات تفرض ضوابط صارمة على الأذونات في Azure، ابحث عن البرنامج النصي PowerShell التالي الذي يتيح إنشاء دور مخصص «SQL Analytics Monitoring Operator» في مدخل Microsoft Azure مع الحد الأدنى من أذونات القراءة والكتابة المطلوبة لاستخدام Azure SQL Analytics إلى أقصى حد.
استبدل «{SubscriptionId}» في البرنامج النصي أدناه بمعرف اشتراك Azure الخاص بك، وقم بتنفيذ البرنامج النصي الذي تم تسجيل الدخول إليه بصفتك مالكًا أو دورًا مساهمًا في Azure.
Connect-AzAccount
Select-AzSubscription {SubscriptionId}
$role = Get-AzRoleDefinition -Name Reader
$role.Name = "SQL Analytics Monitoring Operator"
$role.Description = "Lets you monitor database performance with Azure SQL Analytics as a reader. Does not allow change of resources."
$role.IsCustom = $true
$role.Actions.Add("Microsoft.SQL/servers/databases/read");
$role.Actions.Add("Microsoft.SQL/servers/databases/topQueries/queryText/*");
$role.Actions.Add("Microsoft.Sql/servers/databases/advisors/read");
$role.Actions.Add("Microsoft.Sql/servers/databases/advisors/write");
$role.Actions.Add("Microsoft.Sql/servers/databases/advisors/recommendedActions/read");
$role.Actions.Add("Microsoft.Sql/servers/databases/advisors/recommendedActions/write");
$role.Actions.Add("Microsoft.Sql/servers/databases/automaticTuning/read");
$role.Actions.Add("Microsoft.Sql/servers/databases/automaticTuning/write");
$role.Actions.Add("Microsoft.Sql/servers/advisors/read");
$role.Actions.Add("Microsoft.Sql/servers/advisors/write");
$role.Actions.Add("Microsoft.Sql/servers/advisors/recommendedActions/read");
$role.Actions.Add("Microsoft.Sql/servers/advisors/recommendedActions/write");
$role.Actions.Add("Microsoft.Resources/deployments/write");
$role.AssignableScopes = "/subscriptions/{SubscriptionId}"
New-AzRoleDefinition $role
بمجرد إنشاء الدور الجديد، قم بتعيين هذا الدور لكل مستخدم تحتاج إلى منحه أذونات مخصصة لاستخدام Azure SQL Analytics.
تحليل البيانات وإنشاء تنبيهات
يستند تحليل البيانات في Azure SQL Analytics إلى لغة تحليل السجل للاستعلام والتقارير المخصصة لك. البحث عن وصف للبيانات المتوفرة التي تم جمعها من مورد قاعدة البيانات للاستعلام المخصص في المقاييس والسجلات المتوفرة.
يستند التنبيه التلقائي في Azure SQL Analytics إلى كتابة استعلام تحليلات السجل الذي يشغل تنبيهًا عند استيفاء شرط. تجد أدناه عدة أمثلة على استعلامات تحليلات السجل التي يمكن على أساسها إعداد التنبيه في Azure SQL Analytics.
إنشاء تنبيهات لقاعدة البيانات Azure SQL
يمكنك بسهولة إنشاء تنبيهات مع البيانات الواردة من موارد قاعدة بيانات Azure SQL. فيما يلي بعض استعلامات السجل المفيدة والتي يمكنك استخدامها مع تنبيه السجل:
معالج بدرجة عالية
AzureMetrics
| where ResourceProvider=="MICROSOFT.SQL"
| where ResourceId contains "/DATABASES/"
| where MetricName=="cpu_percent"
| summarize AggregatedValue = max(Maximum) by bin(TimeGenerated, 5m)
| render timechart
ملاحظة
- الشرط المسبق لإعداد هذا التنبيه هو أن قواعد البيانات المراقبة تبث المقاييس الأساسية إلى مساحة عمل تحليلات السجل التي يستخدمها Azure SQL Analytics.
- استبدل قيمة MetricName
cpu_percent
بـdtu_consumption_percent
للحصول على نتائج DTU عالية بدلاً من ذلك.
معالج بدرجة عالية على المجموعات المرنة
AzureMetrics
| where ResourceProvider=="MICROSOFT.SQL"
| where ResourceId contains "/ELASTICPOOLS/"
| where MetricName=="cpu_percent"
| summarize AggregatedValue = max(Maximum) by bin(TimeGenerated, 5m)
| render timechart
ملاحظة
- الشرط المسبق لإعداد هذا التنبيه هو أن قواعد البيانات المراقبة تبث المقاييس الأساسية إلى مساحة عمل تحليلات السجل التي يستخدمها Azure SQL Analytics.
- استبدل قيمة MetricName
cpu_percent
بـdtu_consumption_percent
للحصول على نتائج DTU عالية بدلاً من ذلك.
التخزين في المتوسط أكثر من 95% في آخر ساعة
let time_range = 1h;
let storage_threshold = 95;
AzureMetrics
| where ResourceId contains "/DATABASES/"
| where MetricName == "storage_percent"
| summarize max_storage = max(Average) by ResourceId, bin(TimeGenerated, time_range)
| where max_storage > storage_threshold
| distinct ResourceId
ملاحظة
- الشرط المسبق لإعداد هذا التنبيه هو أن قواعد البيانات المراقبة تبث المقاييس الأساسية إلى مساحة عمل تحليلات السجل التي يستخدمها Azure SQL Analytics.
- يتطلب هذا الاستعلام إعداد قاعدة تنبيه لإطلاق تنبيه عند وجود نتائج (>0 نتيجة) من الاستعلام، مما يدل على وجود الشرط في بعض قواعد البيانات. الإخراج هو قائمة من موارد قاعدة البيانات التي هي أعلى من
storage_threshold
داخلtime_range
المحددة. - الإخراج هو قائمة من موارد قاعدة البيانات التي هي أعلى من
storage_threshold
داخلtime_range
المحددة.
تنبيه على نتيجة التحليلات الذكية
هام
في حالة أداء قاعدة البيانات بشكل جيد، وعدم إنشاء رؤى ذكية، سيفشل هذا الاستعلام مع ظهور رسالة خطأ: فشل في حل التعبير القياسي المسمىrootCauseAnalysis_s
. هذا السلوك المتوقع لكافة الحالات حيث لا توجد أية نتيجة تحليلات ذكية لقاعدة البيانات.
let alert_run_interval = 1h;
let insights_string = "hitting its CPU limits";
AzureDiagnostics
| where Category == "SQLInsights" and status_s == "Active"
| where TimeGenerated > ago(alert_run_interval)
| where rootCauseAnalysis_s contains insights_string
| distinct ResourceId
ملاحظة
- الشرط المسبق لإعداد هذا التنبيه هو أن تقوم قواعد البيانات المراقبة ببث سجل تشخيص SQLInsights إلى مساحة عمل Log Analytics التي يستخدمها Azure SQL Analytics.
- يتطلب هذا الاستعلام إعداد قاعدة تنبيه ليتم تشغيلها بنفس التردد مثل
alert_run_interval
لتجنب تكرار النتائج. يجب إعداد القاعدة لإيقاف التنبيه عند وجود نتائج (0 > نتائج) من الاستعلام. - تخصيص
alert_run_interval
لتحديد النطاق الزمني للتحقق مما إذا كان الشرط قد حدث على قواعد البيانات المكونة لدفق سجل SQLInsights إلى Azure SQL Analytics. - تخصيص سلسلة_نتيجة التحليلات لتسجيل ناتج جذر نتائج التحليلات المسببة لنص التحليل. هذا هو نفس النص المعروض في واجهة المستخدم في Azure SQL Analytics الذي يمكنك استخدامه من نتيجة التحليلات الموجودة. بدلاً من ذلك، يمكنك استخدام الاستعلام أدناه لرؤية نص كل نتيجة التحليلات التي تم إنشاؤها على اشتراكك. استخدم ناتج الاستعلام لتجميع سلاسل مميزة لإعداد التنبيهات على نتيجة التحليلات.
AzureDiagnostics
| where Category == "SQLInsights" and status_s == "Active"
| distinct rootCauseAnalysis_s
إنشاء التنبيهات لـ SQL Managed Instance
التخزين أعلى من 90%
let storage_percentage_threshold = 90;
AzureDiagnostics
| where Category =="ResourceUsageStats"
| summarize (TimeGenerated, calculated_storage_percentage) = arg_max(TimeGenerated, todouble(storage_space_used_mb_s) *100 / todouble (reserved_storage_mb_s))
by ResourceId
| where calculated_storage_percentage > storage_percentage_threshold
ملاحظة
- الشرط المسبق لإعداد هذا التنبيه هو أن المثيل المُدار الخاضع للمراقبة به تدفق سجل ResourceUsageStats ممكّنًا إلى مساحة عمل Log Analytics التي يستخدمها Azure SQL Analytics.
- يتطلب هذا الاستعلام قاعدة تنبيه ليتم إعدادها لإيقاف تشغيل تنبيه عند وجود نتائج (>0 نتائج) من الاستعلام، ما يدل على وجود الشرط على المثيل المُدار. الناتج هو استهلاك نسبة التخزين على المثيل المُدار.
معدل استهلاك المعالج أعلى من 95% في آخر ساعة
let cpu_percentage_threshold = 95;
let time_threshold = ago(1h);
AzureDiagnostics
| where Category == "ResourceUsageStats" and TimeGenerated > time_threshold
| summarize avg_cpu = max(todouble(avg_cpu_percent_s)) by ResourceId
| where avg_cpu > cpu_percentage_threshold
ملاحظة
- الشرط المسبق لإعداد هذا التنبيه هو أن المثيل المُدار الخاضع للمراقبة به تدفق سجل ResourceUsageStats ممكّنًا إلى مساحة عمل Log Analytics التي يستخدمها Azure SQL Analytics.
- يتطلب هذا الاستعلام قاعدة تنبيه ليتم إعدادها لإيقاف تشغيل تنبيه عند وجود نتائج (>0 نتائج) من الاستعلام، ما يدل على وجود الشرط على المثيل المُدار. الناتج عبارة عن متوسط استهلاك نسبة استخدام المعالج في الفترة المحددة على المثيل المُدار.
التسعير
في حين أن Azure SQL Analytics (إصدار أولي) متاح للاستخدام المجاني، فإن استهلاك بيانات تتبع الاستخدام التشخيصية أعلى من الوحدات المجانية لابتلاع البيانات المخصصة المنطبقة على كل شهر، انظرتسعير تحليلات السجل. وتتيح الوحدات المجانية من عملية استيعاب البيانات المتاحة المراقبة المجانية لعدة قواعد بيانات كل شهر. تستوعب قواعد البيانات الأكثر نشاطًا ذات أعباء العمل الثقيلة المزيد من البيانات مقابل قواعد البيانات الخاملة. يمكنك بسهولة مراقبة استهلاكك لتحويل البيانات في Azure SQL Analytics عن طريق تحديد مساحة عمل OMS في قائمة التنقل في Azure SQL Analytics، ثم تحديد الاستخدام والتكاليف المقدرة.
الخطوات التالية
- استخدم استعلامات السجل في Azure Monitor لعرض بيانات Azure SQL التفصيلية.
- إنشاء لوحات المعلومات الخاصة بك تظهر بيانات Azure SQL.
- إنشاء تنبيهاتعند حدوث أحداث معينة في SQL Azure.
- مراقبة Azure SQL Database باستخدام Azure Monitor
- مراقبة Azure SQL Managed Instance باستخدام Azure Monitor