مراقبة 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، أرشفة إلى حساب تخزين، البث إلى مركز أحداث، إرسال إلى حل الشريك
- لمزيد من المعلومات حول هذه الخيارات، راجع إنشاء إعدادات التشخيص في مدخل Microsoft Azure.
لمزيد من المعلومات حول سجلات الموارد والتشخيصات المتاحة، راجع القياس التشخيصي عن بُعد للتصدير.
راجع إنشاء إعداد تشخيص لتجميع سجلات النظام الأساسي والقياسات في 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% |
* قد يكون التنبيه بشأن حالات التوقف التام غير ضروري ومشوشاً في بعض التطبيقات حيث يتوقع حدوث حالات توقف تام ويتم التعامل معها بشكل صحيح.
الخطوات التالية
- راجع مراقبة مرجع بيانات Azure SQL Database للحصول على مرجع للقياسات والسجلات والقيم المهمة الأخرى التي تم إنشاؤها بواسطة Azure SQL Database.
- راجع مراقبة موارد Azure باستخدام Azure Monitor للحصول على تفاصيل حول مراقبة موارد Azure.