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

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

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

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

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

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

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

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

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

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

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

مراقبة الاستخدام في الـ Firebase console

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

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

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

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

بالإضافة إلى ذلك، يوفّر Firebase لوحة بيانات لتقييم Firebase Security Rules، وهي عرض مفيد وسريع لعمليات استدعاء القواعد. يمكنك أيضًا مراقبة Firebase Security Rules الاستخدام من خلال Cloud Monitoring. يوفّر ذلك مقاييس تقييم القواعد نفسها، بالإضافة إلى إمكانية إنشاء لوحات بيانات مخصّصة وتحليل الاتجاهات وإعداد التنبيهات (على سبيل المثال، عندما يرتفع عدد الطلبات المرفوضة). راجِع مرجع مقاييس 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 لرصد المشاكل المحتمَلة في التكاليف الإضافية للبروتوكول أو التشفير التي تساهم في التكاليف غير المتوقّعة في فاتورتك. إذا لاحظت تباينًا كبيرًا بين حجم حمولات البيانات المطلوبة والمقاييس الأخرى التي تعكس التكاليف الإضافية للربط، قد تحتاج إلى تحديد المشاكل التي قد تؤدي إلى انتهاء المهلة أو عمليات الربط المتكررة وحلّها. إذا كنت لا تستخدم تذاكر جلسات بروتوكول أمان طبقة النقل (TLS)، يمكنك تجربة تنفيذها لتقليل التكاليف الإضافية لعمليات الربط التي تم استئنافها باستخدام طبقة المقابس الآمنة (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. من القائمة المنسدلة التي يتم ملؤها تلقائيًا، اختَر أحد مقاييس 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 الحدّ الذي تم ضبطه، ستتلقّى تنبيهًا عبر البريد الإلكتروني.

لمزيد من المعلومات عن سياسات التنبيه، اطّلِع على مقالة مقدّمة عن التنبيه.

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