مراقبة مقاييس قواعد البيانات

ينطبق ذلك على إصدار Cloud Firestore Enterprise فقط.

توضّح هذه الصفحة كيفية استخدام مقاييس Cloud Monitoring في Cloud Firestore المتوافق مع MongoDB لمراقبة قاعدة البيانات.

مقاييس Cloud Monitoring لخدمة Cloud Firestore المتوافقة مع MongoDB

تقدّم الأقسام التالية نظرة عامة على المقاييس المتاحة في Cloud Firestore المتوافق مع MongoDB.

الموارد الخاضعة للمراقبة

يمثّل المورد الخاضع للمراقبة في Cloud Monitoring كيانًا منطقيًا أو ماديًا، مثل جهاز افتراضي أو قاعدة بيانات أو تطبيق. تحتوي الموارد الخاضعة للمراقبة على مجموعة فريدة من المقاييس التي يمكن استكشافها أو إعداد تقارير بشأنها من خلال لوحة بيانات أو استخدامها لإنشاء تنبيهات. يحتوي كل مرجع أيضًا على مجموعة من تصنيفات المراجع، وهي أزواج مفتاح-قيمة تتضمّن معلومات إضافية حول المرجع. تتوفّر تصنيفات الموارد لجميع المقاييس المرتبطة بالمرجع.

باستخدام Cloud Monitoring API، تتم مراقبة أداء Cloud Firestore المتوافق مع MongoDB باستخدام المورد التالي:

Resources الوصف
firestore.googleapis.com/Database نوع المورد الذي يتم تتبُّعه والذي يوفّر تفاصيل عن project وlocation وdatabase_id

المقاييس

للاطّلاع على قائمة كاملة بمقاييس Cloud Firestore، راجِع مقاييس Cloud Firestore. يوضّح القسم التالي بعض المقاييس المتاحة.

مقاييس وقت تشغيل الخدمة

تقدّم مقاييس serviceruntime نظرة عامة عالية المستوى على عدد زيارات المشروع. تتوفّر هذه المقاييس لمعظم واجهات برمجة التطبيقات Google Cloud. يحتوي نوع المورد consumed_api الخاضع للمراقبة على هذه المقاييس الشائعة. يتم أخذ عيّنات من هذه المقاييس كل 30 دقيقة، ما يؤدي إلى تسوية البيانات.

تصنيف مهم لموارد مقاييس serviceruntime هو method. يمثّل هذا التصنيف طريقة RPC الأساسية التي تم استدعاؤها. قد لا يكون اسم طريقة حزمة SDK التي تستدعيها مطابقًا لاسم طريقة RPC الأساسية. والسبب في ذلك هو أنّ حزمة تطوير البرامج (SDK) توفّر تجريدًا عالي المستوى لواجهة برمجة التطبيقات. ومع ذلك، عند محاولة فهم كيفية تفاعل تطبيقك مع Cloud Firestore، من المهم فهم المقاييس استنادًا إلى اسم طريقة RPC.

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

api/request_latencies

يوفّر المقياس api/request_latencies توزيعات وقت الاستجابة على مستوى جميع الطلبات المكتملة.

تسجّل Cloud Firestore المقاييس من مكوّن Cloud Firestore Service. تشمل مقاييس وقت الاستجابة الوقت الذي يتلقّى فيه Cloud Firestore الطلب إلى الوقت الذي ينتهي فيه Cloud Firestore من إرسال الرد، بما في ذلك التفاعلات مع طبقة التخزين. نتيجةً لذلك، لا يتم تضمين وقت الاستجابة لإرسال الرسائل واستقبالها (RTT) بين العميل وخدمة Cloud Firestore في هذه المقاييس.

مقاييس عمليات المستندات

تقدّم Cloud Firestore عدد عمليات القراءة والكتابة والحذف. يوفر مقياس الكتابة تفصيلاً بين عمليتَي "إنشاء" و"تعديل". تتوافق هذه المقاييس مع عمليات CRUD.

يمكن استخدام المقاييس التالية لمعرفة ما إذا كانت قاعدة البيانات تتضمّن عمليات قراءة أكثر أو عمليات كتابة أكثر، بالإضافة إلى معدّل المستندات الجديدة مقارنةً بالمستندات المحذوفة.

  • document/delete_ops_count: عدد عمليات حذف المستندات الناجحة.
  • document/read_ops_count: عدد عمليات قراءة المستندات الناجحة من طلبات البحث أو عمليات البحث
  • document/write_ops_count: عدد عمليات الكتابة الناجحة للمستندات

مقاييس الفوترة

استخدِم هذه المقاييس لفهم استخدام الفوترة. لا تتضمّن هذه المقاييس الفوترة الناتجة من عمليات المشرف (الفهرسة والاستيراد والتصدير والحذف المجمّع).

  • api/billable_read_units: عدد وحدات القراءة القابلة للفوترة يمكن تقسيم الاستخدام حسب اسم الخدمة وطريقة استخدام واجهة برمجة التطبيقات.

  • api/billable_write_units: عدد وحدات الكتابة القابلة للفوترة يمكن تقسيم الاستخدام حسب اسم الخدمة وطريقة استخدام واجهة برمجة التطبيقات.

  • document/billable_managed_delete_write_units: عدد وحدات الكتابة القابلة للفوترة من خدمات الحذف المُدارة، مثل TTL.

مقاييس الفهرس

يمكن مقارنة معدّلات كتابة الفهرس بالمقياس document/write_ops_count لفهم مدى انتشار الفهرس.

  • index/write_count: عدد عمليات الكتابة في الفهرس

مقاييس مدة البقاء (TTL)

يتم استخدام مقاييس مدة البقاء (TTL) في Cloud Firestore المتوافقة مع MongoDB لتتبُّع تأثير سياسة مدة البقاء المفروضة.

  • document/ttl_deletion_count: إجمالي عدد المستندات التي حذفتها خدمات TTL
  • document/ttl_expiration_to_deletion_delays: الوقت المنقضي بين انتهاء صلاحية مستند يتضمّن مدة بقاء (TTL) ووقت حذفه فعليًا.

عرض لوحات البيانات المحدّدة مسبقًا وإنشاء لوحات بيانات مخصّصة

تتيح خدمة Cloud Firestore المتوافقة مع MongoDB لوحات بيانات محدّدة مسبقًا تستخدم مقاييس Cloud Monitoring. يمكنك أيضًا إنشاء لوحات بيانات مخصّصة.

عرض مقاييس استخدام قاعدة البيانات

افتح لوحات بيانات الاستخدام في Google Cloud Console لعرض عمليات قراءة المستندات وكتابتها وحذفها بمرور الوقت.

التحكم في الدخول

تتطلّب لوحات بيانات الاستخدام إذن monitoring.timeSeries.list إدارة الهوية وإمكانية الوصول (IAM). تمنح أدوار "مالك المشروع" و"محرّر المشروع" و"مُشاهد المشروع" هذا الإذن. يمكنك أيضًا منح هذا الإذن من خلال دور Cloud Monitoring أو دور مخصّص.

لوحة بيانات استخدام قاعدة البيانات

لعرض مقاييس الاستخدام لقاعدة بيانات Cloud Firestore متوافقة مع MongoDB، اتّبِع الخطوات التالية.

  1. في Google Cloud Console، انتقِل إلى صفحة قواعد البيانات.

    الانتقال إلى "قواعد البيانات"

  2. اختَر قاعدة البيانات المطلوبة من قائمة قواعد البيانات.

  3. في قائمة التنقّل، انقر على الاستخدام.

لوحة بيانات الاستخدام وتقارير الفوترة

تقدّم لوحات بيانات الاستخدام Cloud Firestore في وحدة التحكّم تقديرًا للاستخدام. ويمكن أن تساعدك في تحديد الارتفاعات المفاجئة في الاستخدام. ومع ذلك، فإنّ لوحة البيانات ليست عرضًا دقيقًا للعمليات التي يتم تحصيل رسوم مقابلها. من المحتمل أن يكون الاستخدام الذي يتم تحصيل رسوم مقابله أعلى. لمراقبة الفوترة، اطّلِع على مقاييس الفوترة.

في جميع حالات التناقض، يكون لتقرير الفوترة الأولوية على لوحة بيانات الاستخدام.

تتسبّب عمليات الاستيراد والتصدير في حدوث اختلافات بين لوحة بيانات الاستخدام والاستخدام الذي تتم فوترته. لا تظهر عمليات القراءة والكتابة التي يتم تنفيذها من خلال هذه العمليات في لوحة بيانات الاستخدام.

عرض مقاييس أداء قاعدة البيانات

تتضمّن صفحة المراقبة في القسم Cloud Firestore من وحدة تحكّم Google Cloud لوحات بيانات مسبقة التعريف للمراقبة، مثل مدد الاستجابة للطلبات (P50 وP99) ورموز الاستجابة وإحصاءات طلبات البحث (P50). يمكنك أيضًا إنشاء لوحة بيانات مخصّصة واحدة كحدّ أقصى. للوصول إلى صفحة المراقبة لقاعدة بيانات، اتّبِع الخطوات التالية:

  1. في Google Cloud Console، افتح صفحة Cloud Firestore قواعد البيانات.

    الانتقال إلى "قواعد البيانات"

  2. اختَر قاعدة بيانات من القائمة.

  3. في قائمة التنقّل، انقر على المراقبة لفتح لوحة بيانات.

إنشاء لوحات بيانات Cloud Monitoring مخصّصة

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

لمزيد من المعلومات حول إعداد لوحة بيانات مخصّصة، يُرجى الاطّلاع على إدارة لوحة البيانات المخصّصة وإضافة أدوات لوحة البيانات.

إنشاء سياسة تنبيه

في Cloud Monitoring، يمكنك إنشاء تنبيهات لإعلامك عند حدوث تغيير في حالة أحد المقاييس. يمكنك استخدام هذه التنبيهات لتلقّي إشعارات بالمشاكل المحتملة قبل أن تؤثر في المستخدمين.

لمزيد من المعلومات حول إنشاء التنبيهات، يُرجى الاطّلاع على إنشاء سياسات تنبيه بشأن حدود المقاييس.

اطّلِع على المثال التالي الذي ننشئ فيه سياسة تنبيه بشأن وقت الاستجابة. تتحقّق سياسة التنبيه من وقت الاستجابة p99 خلال فترة زمنية متحرّكة مدتها 5 دقائق. إذا ظلّ وقت الاستجابة في الشريحة المئوية 99 أعلى من 250 مللي ثانية لمدة 5 دقائق، سيتم تنشيط التنبيه.

وحدة التحكم

  1. في Google Cloud Console، انتقِل إلى صفحة المراقبة، ثم اختَر   التنبيهات.

    الانتقال إلى "المراقبة"

  2. انقر على إنشاء سياسة.

  3. اختَر مقياس مدد الاستجابة للطلبات من مصدر واجهة برمجة التطبيقات المستخدَمة.

  4. أضِف فلتر خدمة لـ firestore.googleapis.com لقواعد بيانات Cloud Firestore العادية.

  5. انقر على التالي لضبط المشغِّل.

  6. اختَر أنواع الشروط كـ حدّ.

    تم ضبط شرط الحدّ الأدنى على قيمة الحدّ الأدنى البالغة 250 ملي ثانية. يتم تشغيل تنبيه عندما تظل قيمة وقت الاستجابة p99 كما هي طوال فترة النافذة المتدحرجة (5 دقائق).

  7. اضبط قيمة الحدّ الأدنى على 250.

  8. انقر على التالي لضبط الإشعارات.

  9. اضبط اسم سياسة التنبيه وانقر على التالي.

  10. راجِع إعدادات التنبيه وانقر على إنشاء سياسة.

عميل مُحتمَل بنظر فريق التسويق (MQL)

يمكنك تنفيذ سياسة تنبيه بشأن وقت الاستجابة نفسه باستخدام طلب بحث بلغة طلبات البحث في خدمة "المراقبة" (MQL). للاطّلاع على المزيد من الأمثلة حول استخدام MQL، راجِع نماذج طلبات MQL.

fetch consumed_api
| metric 'serviceruntime.googleapis.com/api/request_latencies'
| filter (resource.service == 'firestore.googleapis.com')
| group_by 5m,
    [value_request_latencies_percentile:
      percentile(value.request_latencies, 99)]
| every 5m
| condition val() > 0.25 's'