הגדרת לוגיקה והתראות מתקדמות בנושאי חיוב

אימיילים פשוטים עם התראות תקציב הן דרך קלה יחסית לקבל עדכונים בנושאי חיובים, ייתכן שבמקרים מסוימים תרצו ליצור התראות מתוחכמות יותר שכוללות לוגיקה מותאמת אישית. יש שתי גישות שכדאי להתייחס אליהן:

  • שימוש בCloud Monitoring ליצירת התראות מתוחכמות ועדכניות יותר

  • שימוש בהתראה Pub/Sub בחיוב יחד עם Cloud Function תואם כדי ליצור התנהגות מותאמת אישית בתגובה לשינויים בהוצאות

שתי הטכניקות האלה דורשות מכם עבודה רבה יותר, אבל הן מספקות כדי לשלוט בדיוק בסוגי ההתראות שאתם מקבלים ואיך מגיבים להם.

בדף הזה מופיעה סקירה כללית של כל אחת מהגישות האלה.

יצירת התראות מתוחכמות יותר באמצעות Cloud Monitoring

התראות פשוטות לגבי התקציב יישלחו אליכם באימייל כשהחיוב הכולל יגיע בערכי סף מסוימים. עם זאת, כדאי לדעת גם מספר השירותים הבודדים גדל באופן בלתי צפוי - לפני שהייתה להם הזדמנות להשפיע באופן משמעותי על התקציב שלך. בתרחישים לדוגמה מתוחכמים יותר, כמו בדוגמה הזו, מומלץ ללמוד על Cloud Monitoring, שהוא כלי של Google Cloud שזמינות לפרויקט Firebase.

אפשר להשתמש ב-Cloud Monitoring בכמה סוגים שונים של התראות:

  • אם משאב שהפרויקט שלכם מסתמך עליו לא זמין (גם לשירותי Firebase וגם ל-Google Cloud, אבל גם לשירותים חיצוניים כמו AWS)

  • אם שירותים כמו Cloud Functions נמשכים זמן רב מהצפוי להגיב

  • אם הקטגוריה Cloud Storage, מופע Realtime Database או המופע של Cloud Firestore דוחה יותר מדי בקשות (המשמעות היא ייתכן שהכתובת Firebase Security Rules שגויה).

  • אם כמות המשאבים שנעשה בה שימוש בחלק ממוצרי Firebase שלכם עלו מעל לסף מסוים

התראות שנוצרות באמצעות Cloud Monitoring נשלחות בדרך כלל מהר יותר מ- התראות תקציב פשוטות, שנשלחות באימייל בדרך כלל פעם ביום. ההתראות יכולות בצורה של הודעות SMS, הודעות בערוץ Slack, התראות PagerDuty webhooks ועוד. האפשרויות האלה מאפשרות לך לשלוח התראות על רמות חשיפה פרקטיות.

שימוש ב-Cloud Monitoring

כדי להתחיל עם Cloud Monitoring, מומלץ להתחיל עם Metrics Explorer, שמאפשר ליצור תרשימים של מדדים מותאמים אישית פרויקטים של Firebase/Google Cloud והמחשה חזותית של השימוש בהם.

ספציפית, אפשר לעיין במשאבים כמו Cloud Firestore, Realtime Database, או מכונות של הפונקציה של Cloud Functions. אפשר להציג את פרטי השימוש של מוצרים אלה (כמו מספר הקריאות של מסמכים, הבייטים שנשלחו או פונקציות עשויה להשפיע על החיוב.

אחרי שתרגישו בנוח להציג את השימוש במשאבים באופן חזותי ב'מדדים' Explorer, אנחנו ממליצים ליצור מדיניות ההתראות המדדים החשובים לכם ביותר. ריכזנו כאן כמה דוגמאות למדיניות התראות:

  • אם מספר קריאת המסמך בפרק זמן של 30 דקות גדול מ- ערך מסוים

  • אם השימוש במשאב ספציפי (כמו הפעלת פונקציה) נראה עלייה מהירה מדי במסגרת זמן מסוימת

יצירת לוגיקת חיוב נוספת

התראות תקציב נשלחות באימייל באופן אוטומטי כשהתקציב מגיע לסף מסוים, אבל כדי לקבל התראות מתוחכמות יותר או תגובות פרוגרמטיות להגדלת ההוצאות, מומלץ להגדיר לוגיקה מותאמת אישית נוספת על סמך הודעות Google Cloud Pub/Sub.

לדוגמה, אפשר לשלוח התראות לערוצי Slack או בהודעת טקסט, או לבצע שינויים פרוגרמטיים באפליקציה או בפרויקט בהתאם לרמות ההוצאה.

Pub/Sub הוא שירות להעברת הודעות שמאפשר לשירותים אחרים לשלוח הודעות — בדרך כלל בפורמט של נתוני JSON — באופן אסינכרוני דרך ערוצים שנקראים 'Pub/Sub נושאים'. אפשר להגדיר שירותים, כמו Cloud Functions, כדי להאזין להודעות בנושאים האלה לפעול בהתאם לנתונים.

לתשומת ליבך, התראות על חיוב בסך Pub/Sub נשלחות בערך פעם אחת בכל תוך 20 דקות בין אם השימוש שלך בחיוב השתנה או לא, ללא שמירת מצב (כלומר, הם לא מספקים הקשר לגבי מה שקדם להם). אם המיקום אתם רוצים לעקוב אחרי עליות יוצאות דופן בהוצאות לאורך זמן, או להשוות את ההוצאות למחזור הקודם, תצטרכו לנהל את בעצמכם באמצעות מסד נתונים כמו Cloud Firestore או Realtime Database.

נעשה שימוש ב-Pub/Sub נושאים עם Cloud Functions

כדי להגדיר את הנושא Pub/Sub לנתוני החיוב שלך, צריך לעבור אל שמשויך לפרויקט Firebase במסוף Google Cloud (בקטע חיוב > Budgets and alerts (תקציבים והתראות), ולאחר מכן לוחצים על תיבת הסימון של צריך לקשר נושא ב-Pub/Sub לתקציב הזה. פעולה זו תיצור נושא אחד (Pub/Sub) שאפשר להאזין לו מאוחר יותר. לשלבים מפורטים, אפשר לעיין במאמר לתיעוד המלא.

אחרי שיוצרים את נושא החיוב Pub/Sub, אפשר לכתוב הפונקציה של Cloud Functions שצריך להאזין לנושא הזה ולפעול בהתאם לנתונים בהתאם. הנתונים נשלחים כנתוני JSON וכוללים מידע שימושי כמו הסכום שהוצאתם עד עכשיו, סכום התקציב ותאריך ההתחלה של מחזור החיובים הנוכחי.

במסמכי העזרה של Google Cloud מוסבר בפירוט איך לקבל את הנתונים האלה באמצעות Cloud Function. עם זאת, אם משתמשים ב-Cloud Functions for Firebase כדי: לפרוס את הפונקציות, התהליך הכללי הוא קצת יותר פשוט ( המסמכים בנושא Firebase). אפשר גם לצפות בסרטון הזה כדי לקבל הדרכה מפורטת לדוגמה של התהליך.

אחרי שתקבלו את הנתונים האלה, תוכלו להגיב עליהם בכמה דרכים. אלה כמה מהאפשרויות שעומדות לרשותך: