قم بإعداد تنبيهات ومنطق الفوترة المتقدمة

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

  • استخدم المراقبة السحابية لإنشاء تنبيهات أكثر تعقيدًا وفي الوقت المناسب

  • استخدم إشعار الفوترة Pub/Sub مع وظيفة السحابة المقابلة لإنشاء سلوك مخصص استجابة للتغيرات في إنفاقك

على الرغم من أن هاتين التقنيتين تتطلبان المزيد من العمل من جانبك، إلا أنهما تمنحانك القدرة على التحكم بالضبط في أنواع التنبيهات التي تتلقاها وكيفية الرد عليها.

تقدم هذه الصفحة نظرة عامة على كل من هذه الأساليب.

أنشئ تنبيهات أكثر تعقيدًا باستخدام المراقبة السحابية

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

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

  • إذا كان المورد الذي يعتمد عليه مشروعك غير متاح (لكل من خدمات Firebase وGoogle Cloud، ولكن حتى للخدمات الخارجية، مثل AWS)

  • إذا كانت الخدمات مثل Cloud Functions تستغرق وقتًا أطول من المتوقع للاستجابة

  • إذا كانت مجموعة Cloud Storage أو مثيل Realtime Database أو مثيل Cloud Firestore ترفض عددًا كبيرًا جدًا من الطلبات (إشارة إلى أن قواعد أمان Firebase الخاصة بك قد تكون غير صحيحة).

  • إذا زاد مقدار الموارد التي تستخدمها بعض منتجات Firebase لديك عن حد معين

عادةً ما يتم إرسال التنبيهات التي تم إنشاؤها من خلال المراقبة السحابية بسرعة أكبر من رسائل البريد الإلكتروني البسيطة لتنبيه الميزانية، والتي يتم إرسالها عادةً مرة واحدة يوميًا. يمكن أن تأخذ التنبيهات شكل رسائل نصية قصيرة ورسائل قناة Slack وإشعارات PagerDuty وخطافات الويب والمزيد. تتيح لك هذه الخيارات إرسال تنبيهات بمستويات رؤية أعلى وأكثر قابلية للتنفيذ.

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

لبدء استخدام المراقبة السحابية، نوصي بالبدء باستخدام Metrics Explorer ، والذي يسمح لك بإنشاء رسوم بيانية للمقاييس المخصصة داخل مشروع Firebase/Google Cloud الخاص بك وتصور استخدامها.

على وجه التحديد، يمكنك الاطلاع على الموارد مثل Cloud Firestore أو قاعدة بيانات Realtime أو مثيلات Cloud Function. يمكنك عرض معلومات الاستخدام الخاصة بهذه المنتجات (مثل عدد قراءات المستندات أو وحدات البايت المرسلة أو استدعاءات الوظائف) التي قد يكون لها تأثير على فاتورتك.

بعد أن تشعر بالارتياح لتصور استخدام الموارد في مستكشف المقاييس، نوصي بإنشاء سياسة تنبيه بشأن المقاييس التي تهمك كثيرًا. فيما يلي بعض الأمثلة على سياسات التنبيه:

  • إذا كان عدد المستندات المقروءة في فترة زمنية مدتها 30 دقيقة أكبر من قيمة معينة

  • إذا بدا أن استخدام مورد معين (مثل استدعاء دالة) يتزايد بسرعة كبيرة جدًا في إطار زمني معين

إنشاء منطق الفوترة إضافية

ترسل تنبيهات الميزانية رسائل البريد الإلكتروني تلقائيًا عندما تصل ميزانيتك إلى حدود معينة، ولكن للحصول على تنبيهات أكثر تعقيدًا أو ردود أفعال برمجية تجاه زيادات الإنفاق، قد تفكر في إعداد منطق مخصص إضافي استنادًا إلى رسائل Google Cloud Pub/Sub.

على سبيل المثال، يمكنك إرسال تنبيهات إلى قنوات Slack أو عبر رسالة نصية، أو يمكنك إجراء تغييرات برمجية على تطبيقك أو مشروعك اعتمادًا على مستويات الإنفاق.

Pub/Sub هي خدمة تمرير رسائل تسمح للخدمات الأخرى بإرسال الرسائل - عادة في شكل بيانات JSON - بطريقة غير متزامنة من خلال القنوات المعروفة باسم موضوعات Pub/Sub. يمكنك إعداد خدمات معتمدة، مثل Cloud Functions، للاستماع إلى الرسائل المتعلقة بهذه المواضيع والتصرف بناءً على البيانات بشكل مناسب.

لاحظ أنه يتم إرسال إشعارات Pub/Sub الخاصة بالفوترة مرة واحدة كل 20 دقيقة تقريبًا سواء تغير استخدام الفوترة لديك أم لا، وهي عديمة الحالة (بمعنى أنها لا تقدم أي سياق لما سبقها). إذا كنت تريد تتبع الزيادات غير العادية في الإنفاق بمرور الوقت، أو مقارنة إنفاقك بالدورة السابقة، فستحتاج إلى إدارة تلك البيانات التاريخية بنفسك باستخدام قاعدة بيانات مثل Cloud Firestore أو Realtime Database.

استخدام موضوعات Pub/Sub مع وظائف السحابة

يمكنك إعداد موضوع النشر/الفرعي لبيانات الفوترة الخاصة بك عن طريق زيارة الميزانية المرتبطة بمشروع Firebase الخاص بك في وحدة تحكم Google Cloud (ضمن الفوترة > الميزانيات والتنبيهات )، ثم النقر على مربع الاختيار لربط موضوع النشر/الفرع بهذه الميزانية . سيؤدي هذا إلى إنشاء موضوع Pub/Sub يمكنك الاستماع إليه لاحقًا. للحصول على الخطوات التفصيلية، راجع الوثائق الكاملة .

بعد إنشاء موضوع فوترة النشر/الاشتراك، يمكنك كتابة وظيفة سحابية للاستماع إلى هذا الموضوع والتصرف بناءً على البيانات وفقًا لذلك. يتم إرسال البيانات كبيانات JSON وتتضمن معلومات مفيدة مثل المبلغ الذي أنفقته حتى الآن، ومبلغ ميزانيتك، وتاريخ بدء دورة الفوترة الحالية.

تحتوي وثائق Google Cloud على تفاصيل كاملة حول كيفية تلقي هذه البيانات باستخدام وظيفة السحابة. ومع ذلك، إذا كنت تستخدم Cloud Functions for Firebase لنشر وظائفك، فستكون العملية العامة أبسط قليلاً (راجع وثائق Firebase ). يمكنك أيضًا الرجوع إلى هذا الفيديو للحصول على نموذج تفصيلي للعملية.

بمجرد تلقي هذه البيانات، هناك عدد من الطرق المختلفة التي يمكنك من خلالها الرد عليها. فيما يلي بعض الخيارات: