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

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

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

بالنسبة إلى استخدام الموارد، يمكن أن تساعدك كل من علامة التبويب الاستخدام في وحدة تحكّم Firebase والمقاييس المتاحة من خلال 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.

علامة التبويب "القواعد" (Rules) في "قاعدة بيانات الوقت الفعلي" (Realtime Database) ضمن وحدة تحكُّم Firebase

بالإضافة إلى ذلك، توفّر وحدة تحكّم Firebase لوحة بيانات لتقييم Firebase Security Rules، وهي طريقة عرض مفيدة وسريعة لعمليات استدعاء القواعد. يمكنك أيضًا مراقبة استخدام Firebase Security Rules من خلال Cloud Monitoring. ويوفّر ذلك مقاييس تقييم القواعد نفسها، بالإضافة إلى إمكانية إنشاء لوحات بيانات مخصّصة وتحليل المؤشرات وضبط التنبيهات (على سبيل المثال، عند ارتفاع عدد الطلبات المرفوضة). يمكنك الاطّلاع على مرجع مقاييس Cloud Monitoring للحصول على القائمة الكاملة للمقاييس المتاحة.

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

علامة التبويب "الاستخدام" (Usage) في "قاعدة بيانات Firebase في الوقت الفعلي" (Firebase Realtime Database) ضمن وحدة تحكّم 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".

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

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

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

لمزيد من المعلومات حول الرسوم البيانية في Cloud Monitoring، يُرجى الاطّلاع على العمل باستخدام الرسوم البيانية.

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

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

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

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

    انتقِل إلى صفحة "إنشاء سياسة تنبيه جديدة" (Create New Alerting Policy).

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

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

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

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

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

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

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

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

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

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

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

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