مراقبة Azure SQL Database باستخدام Azure Monitor

عندما يكون لديك تطبيقات وعمليات أعمال مهمة تعتمد على موارد Azure، فأنت تريد مراقبة هذه الموارد لمعرفة مدى توفرها وأدائها وتشغيلها.

توضح هذه المقالة بيانات المراقبة التي تم إنشاؤها بواسطة Azure SQL Database. يمكن مراقبة Azure SQL Database بواسطة Azure Monitor. إذا لم تكن معتادًا على ميزات Azure Monitor الشائعة لجميع خدمات Azure التي تستخدمها، فاطلع على مراقبة موارد Azure باستخدام Azure Monitor.

مراقبة صفحة نظرة عامة في مدخل Microsoft Azure

اعرض قياسات Azure Monitor الخاصة بك لجميع الموارد المعينة بالانتقال إلى صفحة Azure Monitor مباشرة في مدخل Microsoft Azure. أو في صفحة نظرة عامة لقاعدة بيانات Azure SQL، انقر فوق قياسات تحت عنوان "المراقبة" للوصول إلى Azure Monitor.

رؤى Azure Monitor SQL (إصدار أولي)

تحتوي بعض الخدمات في Azure على لوحة معلومات مراقبة مركزة ومبنية مسبقاً في مدخل Microsoft Azure يمكن تمكينها لتوفير نقطة بداية لمراقبة خدمتك. تسمى لوحات المعلومات الخاصة هذه "insights" ولا يتم تمكينها بشكل افتراضي. لمزيد من المعلومات حول استخدام Azure Monitor SQL Insights لجميع المنتجات في مجموعة Azure SQL، راجع مراقبة عمليات توزيع SQL باستخدام SQL Insights (إصدار أولي).

بعد إنشاء ملف تعريف المراقبة، يمكنك تكوين Azure Monitor SQL Insights للقياسات الخاصة بـ SQL لـ Azure SQL Database ومثيل SQL المُدار وAzure VMs التي تقوم بتشغيل SQL Server.

ملاحظة

إن Azure SQL Analytics (إصدار أولي) هو تكامل مع Azure Monitor، حيث لم يعد العديد من حلول المراقبة قيد التطوير النشط. لمزيد من خيارات المراقبة، راجع المراقبة وضبط الأداء في Azure SQL Database ومثيل Azure SQL المُدار.

بيانات المراقبة

تجمع Azure SQL Database نفس أنواع بيانات المراقبة مثل موارد Azure الأخرى الموضحة في مراقبة البيانات من موارد Azure.

راجع مراقبة Azure SQL Database باستخدام مرجع Azure Monitor للحصول على معلومات مفصلة حول القياسات وقياسات السجلات التي تم إنشاؤها بواسطة Azure SQL Database.

الجمع والتوجيه

تُجمع مقاييس النظام الأساسي وسجل النشاط وتُخزن تلقائيًّا، لكن يمكن توجيههما إلى مواقع أخرى باستخدام إعداد تشخيصي.

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

تشمل إعدادات التشخيص المتوفرة ما يلي:

  • log: SQLInsights, AutomaticTuning, QueryStoreRuntimeStatistics, QueryStoreWaitStatistics, Errors, DatabaseWaitStatistics, Timeouts, Blocks, Deadlocks
  • مقياس: جميع قياسات Azure Monitor في فئة Basic وفئة InstanceAndAppAdvanced
  • destination details إرسال إلى مساحة عمل Analytics Log، أرشفة إلى حساب تخزين، البث إلى مركز أحداث، إرسال إلى حل الشريك

لمزيد من المعلومات حول سجلات الموارد والتشخيصات المتاحة، راجع القياس التشخيصي عن بُعد للتصدير.

راجع إنشاء إعداد تشخيص لتجميع سجلات النظام الأساسي والقياسات في Azure للعملية التفصيلية لإنشاء إعداد تشخيص باستخدام مدخل Microsoft Azure أو CLI أو PowerShell. عند إنشاء إعداد تشخيص، فإنك تحدد فئات السجلات المراد تجميعها. يتم سرد فئات Azure SQL Database في مرجع بيانات مراقبة Azure SQL Database.

تحليل المقاييس

يمكنك تحليل قياسات Azure SQL Database بقياسات من خدمات Azure الأخرى باستخدام مستكشف القياسات عن طريق فتح Metrics من قائمة Azure Monitor. راجع الشروع في استخدام Azure Metrics Explorer للحصول على تفاصيل حول استخدام هذه الأداة.

للحصول على قائمة بقياسات النظام الأساسي التي تم جمعها لـ Azure SQL Database، راجع مراقبة قياسات مرجع بيانات Azure SQL Database

كمرجع، يمكنك مشاهدة قائمة بجميع مقاييس الموارد المدعومة في Azure Monitor.

تحليل السجلات

تُخزن البيانات في سجلات Azure Monitor في جداول حيث يحتوي كل جدول على مجموعة خاصة به من الخصائص الفريدة. يتم جمع هذه البيانات اختيارياً عبر إعدادات التشخيص.

تحتوي جميع سجلات الموارد في Azure Monitor على نفس الحقول متبوعة بحقول خاصة بالخدمة. تم توضيح المخطط الشائع في مخطط سجل مورد Azure Monitor.

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

للحصول على قائمة بأنواع سجلات الموارد التي تم تجميعها لـ Azure SQL Database، راجع مراقبة مرجع بيانات Azure SQL Database.

للحصول على قائمة بالجداول المستخدمة بواسطة سجلات المراقبة في Azure والتي يمكن الاستعلام عنها بواسطة Log Analytics، راجع مراقبة مرجع بيانات Azure SQL Database.

استفسارات عينة Kusto

هام

عند تحديد Logs من قائمة المراقبة في Azure SQL Database، يتم فتح تحليلات السجل مع تعيين نطاق الاستعلام على قاعدة البيانات الحالية. هذا يعني أن استعلامات السجل ستتضمن فقط بيانات من هذا المورد. إذا كنت تريد تشغيل استعلام يتضمن بيانات من قواعد بيانات أخرى أو بيانات من خدمات Azure الأخرى، فحدد Logs من قائمة Azure Monitor. راجع نطاق الاستعلام عن السجل والزمن في Azure Monitor Log Analytics للحصول على التفاصيل.

فيما يلي الاستفسارات التي يمكنك استخدامها لمساعدتك في مراقبة قاعدة البيانات الخاصة بك. قد ترى خيارات مختلفة متاحة وفقاً لنموذج الشراء الخاص بك.

مثال أ: Log_write_percent من الساعة الماضية

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('log_write_percent')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize Log_Maximum_last60mins = max(Maximum), Log_Minimum_last60mins = min(Minimum), Log_Average_last60mins = avg(Average) by Resource, MetricName

مثال ب: أنواع انتظار SQL Server من آخر 15 دقيقة

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(15min)
| parse _ResourceId with * "/microsoft.sql/servers/" LogicalServerName "/databases/" DatabaseName
| summarize Total_count_15mins = sum(delta_waiting_tasks_count_d) by LogicalServerName, DatabaseName, wait_type_s

مثال ج: حالات توقف تام في SQL Server منذ 60 دقيقة الماضية

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('deadlock')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize Deadlock_max_60Mins = max(Maximum) by Resource, MetricName

مثال د: متوسط ​​استخدام المعالج من الساعة الماضية

AzureMetrics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| where MetricName in ('cpu_percent')
| parse _ResourceId with * "/microsoft.sql/servers/" Resource
| summarize CPU_Maximum_last60mins = max(Maximum), CPU_Minimum_last60mins = min(Minimum), CPU_Average_last60mins = avg(Average) by Resource, MetricName

«التنبيهات»

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

إذا كنت تقوم بإنشاء أو تشغيل تطبيق في Azure، فقد تقدم Azure Monitor Application Insights أنواعاً إضافية من التنبيهات.

يسرد الجدول التالي قواعد التنبيه الشائعة والموصى بها لـ Azure SQL Database. قد ترى خيارات مختلفة متاحة وفقاً لنموذج الشراء الخاص بك.

اسم الإشارة عامل تشغيل نوع التجميع قيمة الحد الوصف
نسبة DTU أكبر من المتوسط 80 عندما يكون متوسط ​​نسبة DTU أكبر من 80%
النسبة المئوية للإدخال/الإخراج للسجلات أكبر من المتوسط 80 عندما يكون متوسط ​​النسبة المئوية لتسجيل الدخول أكبر من 80%
حالة توقف تام* أكبر من العدد 1 عندما يكون عدد حالات التوقف التام أكبر من 1.
نسبة CPU أكبر من المتوسط 80 عندما يكون متوسط ​​النسبة المئوية لوحدة المعالجة المركزية أكبر من 80%

* قد يكون التنبيه بشأن حالات التوقف التام غير ضروري ومشوشاً في بعض التطبيقات حيث يتوقع حدوث حالات توقف تام ويتم التعامل معها بشكل صحيح.

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