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

كجزء من إدارة مشاريعك على Firebase، عليك مراجعة استخدام الموارد في Realtime Database (على سبيل المثال، عدد المستخدمين المرتبطين، ومقدار مساحة التخزين التي تستخدمها قاعدة البيانات) وتأثير هذا الاستخدام في فاتورتك.

لمراجعة Realtime Database الاستخدام الذي تم تحصيل رسوم مقابله، اطّلِع على لوحة بيانات الاستخدام والفوترة. لمزيد من المعلومات حول الفوترة، يُرجى الاطّلاع على مقالة التعرّف على فوترة Realtime Database.

بالنسبة إلى استخدام الموارد، يمكن أن تساعدك علامة التبويب الاستخدام في Firebase وحدة تحكّم Google Cloud والمقاييس المتاحة من خلال Cloud Monitoring في تتبُّع استخدام Realtime Database.

تلقّي تنبيهات Firebase

يمكنك اختيار تلقّي تنبيهات عبر البريد الإلكتروني عندما يقترب استخدامك Realtime Database من أحد الحدود المحدّدة في خطة الأسعار. ترسل Firebase تلقائيًا تنبيهات عبر البريد الإلكتروني عند بلوغ حدّ الخطة أو تجاوزه، ولكن يمكنك الموافقة على تلقّي هذه الإشعارات في وقت مبكر لتعديل خطتك أو استخدامك وتجنُّب أي انقطاع في الخدمة.

تكون تنبيهات Firebase وإعداداتها على مستوى المشروع. وهذا يعني أنّه بشكل تلقائي، سيتلقّى كل عضو في المشروع لديه الأذونات المطلوبة لتلقّي التنبيهات رسالة إلكترونية عند تشغيل تنبيه Realtime Database. يتم إرسال الرسائل الإلكترونية إلى عناوين بريد إلكتروني فردية (وليس إلى مجموعات من الحسابات، مثل مجموعات Google أو حسابات Google Workspace).

تفعيل التنبيهات أو إيقافها لحسابك

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

لتفعيل تنبيهات Realtime Database أو إيقافها، اتّبِع الخطوات التالية:

  1. في وحدة تحكّم Firebase، انتقِل إلى تنبيهات Firebase في أعلى يسار الصفحة.
  2. بعد ذلك، انتقِل إلى الإعدادات واضبط إعدادات حسابك المفضّلة لتلقّي Realtime Database التنبيهات.

مراقبة الاستخدام في وحدة تحكّم Firebase

للاطّلاع على اتصالات Realtime Database الحالية واستخدام البيانات، راجِع علامة التبويب الاستخدام في وحدة تحكّم Firebase. يمكنك الاطّلاع على معدّل الاستخدام خلال فترة الفوترة الحالية أو آخر 30 يومًا أو آخر 24 ساعة.

تعرض Firebase إحصاءات الاستخدام للمقاييس التالية:

  • عمليات الربط: عدد عمليات الربط المتزامنة والمفتوحة حاليًا في الوقت الفعلي بقاعدة البيانات. ويشمل ذلك اتصالات الوقت الفعلي التالية: WebSocket، والاستقصاء الطويل، وأحداث HTML التي يرسلها الخادم. ولا يشمل ذلك طلبات RESTful.
  • مساحة التخزين: مقدار البيانات المخزَّنة في قاعدة البيانات ولا يشمل ذلك خدمة الاستضافة في Firebase أو البيانات المخزَّنة من خلال منتجات Firebase الأخرى.
  • عمليات التنزيل: جميع وحدات البايت التي تم تنزيلها من قاعدة البيانات، بما في ذلك بروتوكول والوقت الإضافي للتشفير.
  • التحميل: يعرض هذا الرسم البياني مقدار قاعدة البيانات المستخدَمة في معالجة الطلبات خلال فترة زمنية محدّدة مدتها دقيقة واحدة. قد تواجه مشاكل في الأداء عندما تقترب قاعدة البيانات من %100.

علامة التبويب "القواعد" في "قاعدة البيانات في الوقت الفعلي" ضِمن وحدة تحكّم Firebase

بالإضافة إلى ذلك، توفّر وحدة تحكّم Firebase لوحة بيانات Firebase Security Rules للتقييم، وهي تعرض نظرة عامة مفيدة وسريعة على عمليات استدعاء القواعد. يمكنك إضافة تحليل تفصيلي إلى لوحة البيانات هذه في Cloud Monitoring.

لمزيد من المعلومات، اطّلِع على مراقبة "قواعد الأمان" في Cloud Monitoring.

علامة التبويب "الاستخدام" في "قاعدة البيانات في الوقت الفعلي" ضِمن "وحدة تحكّم Firebase"

مراقبة الاستخدام باستخدام Cloud Monitoring

مقاييس الاستخدام

لاستخدام Cloud Monitoring لمراقبة استخدامك الخاضع للفوترة، تتبَّع المقاييس التالية. يُرجى العِلم أنّ جميع أسماء أنواع المقاييس تبدأ بالرمز firebasedatabase.googleapis.com/.

اسم المقياس الوصف
عدد وحدات بايت للحِزمة المرسَلة

network/sent_payload_bytes_count. يعكس هذا المقياس حجم البيانات المطلوبة من خلال عمليات قاعدة البيانات (بما في ذلك عمليات الجلب والاستعلامات والكتابة وتحديثات أداة الاستماع في الوقت الفعلي وعمليات البث). ولا يتضمّن أي تكاليف إضافية متعلقة بالاتصال (بروتوكول أو تشفير). يساهم الحقل `sent_payload_bytes_count` في تكاليف النطاق الترددي الصادر، ولكنّه لا يمثّل إجمالي التكاليف التي يتم تحصيلها. وهو تقدير للبيانات المُرسَلة من قاعدة البيانات استجابةً للطلبات، ولكن بما أنّه يقيس حجم حمولة البيانات المطلوبة وليس البيانات المُرسَلة فعليًا، قد لا يكون دقيقًا دائمًا.

عدد وحدات البايت في الحمولة والبروتوكول المُرسَلة

network/sent_payload_and_protocol_bytes_count: يعكس هذا المقياس حجم كلّ من بيانات الحمولة الموضّحة أعلاه وحجم النفقات العامة للبروتوكول التي يتطلّبها الاتصال (على سبيل المثال، عناوين HTTP وإطارات WebSocket وإطارات بروتوكول Firebase في الوقت الفعلي). ولا يأخذ في الاعتبار تكاليف التشفير على الاتصالات الآمنة.

عدد وحدات البايت المُرسَلة network/sent_bytes_count: يعكس هذا المقياس تقديرًا لإجمالي حجم البيانات التي يتم إرسالها من قاعدة البيانات من خلال عمليات القراءة. وتتضمّن بيانات الحمولة التي يتم إرسالها إلى العملاء، بالإضافة إلى بروتوكول التشفير الذي يؤدي إلى تكاليف الاتصال. ويعكس هذا الرقم بدقة أكبر إجمالي النطاق الترددي الصادر في فاتورة Realtime Database.
إجمالي وحدات البايت

storage/total_bytes. استخدِم هذا المقياس لتتبُّع مقدار البيانات التي تخزِّنها في قاعدة البيانات. تساهم البيانات التي تخزّنها في Realtime Database في تكاليف الفوترة.

يمكنك الجمع بين المقاييس في الرسوم البيانية على لوحة البيانات للحصول على إحصاءات ونظرات عامة مفيدة. على سبيل المثال، جرِّب التركيبات التالية:

  • البيانات الصادرة: استخدِم مقاييس network/sent_bytes_count وnetwork/sent_payload_and_protocol_bytes_count وnetwork/sent_payload_bytes_count لرصد المشاكل المحتملة في بروتوكول أو تكلفة التشفير التي تساهم في تكاليف غير متوقّعة في فاتورتك. إذا لاحظت تفاوتًا كبيرًا بين حجم حِزم البيانات المطلوبة والمقاييس الأخرى التي تعكس الحمل الزائد للاتصال، ننصحك بتحديد المشاكل التي قد تؤدي إلى انتهاء المهلة أو عمليات الربط المتكررة وحلّها. إذا كنت لا تستخدم تذاكر جلسات بروتوكول أمان طبقة النقل، يمكنك محاولة تنفيذها لتقليل الحمل الزائد لاتصال طبقة المقابس الآمنة (SSL) للاتصالات التي تم استئنافها.
  • العمليات: استخدِم مقياس io/database_load لمعرفة مقدار إجمالي حمل قاعدة البيانات الذي يستخدمه كل نوع من أنواع العمليات. احرص على تجميع io/database_load حسب النوع لتحديد المشاكل في أنواع العمليات المختلفة وحلّها.
  • مساحة التخزين: استخدِم storage/limit وstorage/total_bytes لمراقبة استخدامك لمساحة التخزين مقارنةً بحدود مساحة التخزين Realtime Database.

اطّلِع على القائمة الكاملة لمقاييس Realtime Database المتاحة من خلال Cloud Monitoring.

إنشاء مساحة عمل في Cloud Monitoring

لمراقبة Realtime Database باستخدام Cloud Monitoring، يجب إعداد مساحة عمل لمشروعك. تنظّم مساحة العمل معلومات المراقبة من مشروع واحد أو أكثر. بعد إعداد مساحة عمل، يمكنك إنشاء لوحات بيانات مخصّصة وسياسات تنبيه.

  1. فتح صفحة Cloud Monitoring

    إذا كان مشروعك جزءًا من مساحة عمل، سيتم فتح صفحة Cloud Monitoring. في الحالات الأخرى، اختَر مساحة عمل لمشروعك.

  2. اختَر الخيار مساحة عمل جديدة أو اختَر مساحة عمل حالية.

  3. انقر على إضافة. بعد إنشاء مساحة العمل، يتم فتح صفحة Cloud Monitoring.

إنشاء لوحة بيانات وإضافة رسم بياني

عرض مقاييس Realtime Database التي تم جمعها من Cloud Monitoring في الرسوم البيانية ولوحات البيانات الخاصة بك

قبل المتابعة، تأكَّد من أنّ مشروعك يندرج ضمن مساحة عمل Cloud Monitoring.

  1. في صفحة Cloud Monitoring، افتح مساحة العمل وانتقِل إلى صفحة لوحات البيانات.

    الانتقال إلى صفحة "لوحات البيانات"

  2. انقر على إنشاء لوحة بيانات وأدخِل اسمًا للوحة البيانات.

  3. في أعلى يسار الصفحة، انقر على إضافة رسم بياني.

  4. في نافذة إضافة رسم بياني، أدخِل عنوان الرسم البياني. انقر على علامة التبويب المقياس.

  5. في الحقل العثور على نوع المورد والمقياس، أدخِل قاعدة بيانات Firebase في الوقت الفعلي. من القائمة المنسدلة التي تتم تعبئتها تلقائيًا، اختَر أحد مقاييس Realtime Database.

  6. لإضافة المزيد من المقاييس إلى الرسم البياني نفسه، انقر على إضافة مقياس وكرِّر الخطوة السابقة.

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

  8. انقر على حفظ.

لمزيد من المعلومات حول رسومات Cloud Monitoring البيانية، راجِع العمل باستخدام الرسوم البيانية.

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

يمكنك إنشاء سياسة تنبيه استنادًا إلى مقاييس Realtime Database. يمكنك اتّباع الخطوات التالية لإنشاء سياسة تنبيه تُرسل إليك رسالة إلكترونية عندما يستوفي مقياس Realtime Database معيّن حدًا معيّنًا.

قبل المتابعة، تأكَّد من أنّ مشروعك يندرج ضمن مساحة عمل Cloud Monitoring.

  1. في صفحة Cloud Monitoring، افتح مساحة العمل وانتقِل إلى صفحة التنبيهات.

    الانتقال إلى صفحة "إنشاء سياسة تنبيه جديدة"

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

  3. أدخِل اسمًا لسياسة التنبيه.

  4. أضِف شرط تنبيه استنادًا إلى أحد مقاييس Realtime Database. انقر على إضافة شرط.

  5. اختَر هدفًا. في حقل البحث عن نوع المورد والمقياس، أدخِل Realtime Database. من القائمة المنسدلة التي تتم تعبئتها تلقائيًا، اختَر أحد مقاييس Realtime Database.

  6. ضمن مشغّلات السياسة، استخدِم الحقول المنسدلة لتحديد شرط التنبيه.

  7. أضِف قناة إشعارات إلى سياسة التنبيه. ضمن الإشعارات، انقر على إضافة قناة إشعارات. اختَر البريد الإلكتروني من القائمة المنسدلة.

  8. أدخِل عنوان بريدك الإلكتروني في حقل عنوان البريد الإلكتروني. انقر على إضافة.

  9. يمكنك ملء حقل المستندات لتضمين معلومات إضافية في الإشعار الذي يتم إرساله عبر البريد الإلكتروني.

  10. انقر على حفظ.

إذا تجاوز استخدامك Realtime Database الحدّ الذي تم ضبطه، ستتلقّى تنبيهًا عبر البريد الإلكتروني.

لمزيد من المعلومات حول سياسات التنبيه، راجِع مقدمة عن التنبيه.

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