查看 2022 年 Google I/O 大会上介绍的 Firebase 新动态。了解详情

ตั้งค่าการแจ้งเตือนและตรรกะการเรียกเก็บเงินขั้นสูง

แม้ว่า อีเมลแจ้งเตือนเรื่องงบประมาณอย่างง่าย จะเป็นวิธีที่ค่อนข้างง่ายในการรับการอัปเดตการเรียกเก็บเงิน แต่อาจมีบางครั้งที่คุณต้องการสร้างการแจ้งเตือนที่ซับซ้อนยิ่งขึ้นซึ่งรวมถึงตรรกะที่ปรับแต่งเองมากขึ้น ต่อไปนี้เป็นสองแนวทางในการพิจารณา:

  • ใช้ Cloud Monitoring เพื่อสร้างการแจ้งเตือนที่ซับซ้อนและทันเวลามากขึ้น

  • ใช้การแจ้งเตือนการเรียกเก็บเงิน Pub/Sub พร้อมกับ Cloud Function ที่เกี่ยวข้องเพื่อสร้างพฤติกรรมที่กำหนดเองเพื่อตอบสนองต่อการเปลี่ยนแปลงในการใช้จ่ายของคุณ

แม้ว่าเทคนิคทั้งสองนี้ต้องการการทำงานในส่วนของคุณมากขึ้น แต่ก็ให้อำนาจคุณในการควบคุมว่าคุณได้รับการแจ้งเตือนประเภทใดและจะตอบสนองต่อการแจ้งเตือนเหล่านั้นอย่างไร

หน้านี้นำเสนอภาพรวมสำหรับแต่ละแนวทางเหล่านี้

สร้างการแจ้งเตือนที่ซับซ้อนยิ่งขึ้นด้วย Cloud Monitoring

อีเมลแจ้งเตือนเรื่องงบประมาณอย่างง่ายจะแจ้งให้คุณทราบเมื่อการเรียกเก็บเงินโดยรวมของคุณถึงเกณฑ์ที่กำหนด อย่างไรก็ตาม คุณอาจสนใจที่จะทราบว่าบริการแต่ละรายการเพิ่มขึ้นอย่างกะทันหันหรือไม่ ก่อนที่พวกเขามีโอกาสที่จะส่งผลกระทบอย่างมากต่องบประมาณของคุณ สำหรับกรณีการใช้งานที่ซับซ้อนกว่านี้ เราขอแนะนำให้เรียนรู้เกี่ยวกับ Cloud Monitoring ซึ่งเป็นเครื่องมือ Google Cloud ที่มีให้สำหรับโปรเจ็กต์ Firebase ของคุณ

Cloud Monitoring มีประโยชน์สำหรับการแจ้งเตือนหลายประเภท:

  • หากทรัพยากรที่โครงการของคุณใช้ไม่พร้อมใช้งาน (สำหรับทั้งบริการ Firebase และ Google Cloud แต่แม้กระทั่งสำหรับบริการภายนอก เช่น AWS)

  • หากบริการเช่น Cloud Functions ใช้เวลาในการตอบสนองนานกว่าที่คาดไว้

  • หากที่เก็บข้อมูล Cloud Storage, อินสแตนซ์ฐานข้อมูลแบบเรียลไทม์ หรืออินสแตนซ์ Cloud Firestore ปฏิเสธคำขอมากเกินไป (การบ่งชี้ว่ากฎความปลอดภัยของ Firebase อาจไม่ถูกต้อง)

  • หากจำนวนทรัพยากรที่ใช้โดยผลิตภัณฑ์ Firebase บางตัวของคุณเพิ่มขึ้นเกินเกณฑ์ที่กำหนด

การแจ้งเตือนที่สร้างผ่าน Cloud Monitoring มักจะส่งเร็วกว่าอีเมลแจ้งเตือนงบประมาณทั่วไป ซึ่งโดยทั่วไปแล้วจะส่งวันละครั้ง การแจ้งเตือนสามารถอยู่ในรูปแบบของข้อความ SMS, ข้อความแชนเนล Slack, การแจ้งเตือน PagerDuty, เว็บฮุค และอื่นๆ ตัวเลือกเหล่านี้ช่วยให้คุณสามารถส่งการแจ้งเตือนด้วยระดับการมองเห็นที่สูงขึ้นและสามารถดำเนินการได้มากขึ้น

การใช้ Cloud Monitoring

ในการเริ่มต้นใช้งาน Cloud Monitoring เราแนะนำให้เริ่มต้นด้วย Metrics Explorer ซึ่งช่วยให้คุณสร้างกราฟของเมตริกที่กำหนดเองภายในโปรเจ็กต์ Firebase/Google Cloud และแสดงภาพการใช้งาน

โดยเฉพาะอย่างยิ่ง คุณสามารถดูทรัพยากรต่างๆ เช่น Cloud Firestore, Realtime Database หรืออินสแตนซ์ Cloud Function คุณสามารถดูข้อมูลการใช้งานเกี่ยวกับผลิตภัณฑ์เหล่านี้ (เช่น จำนวนการอ่านเอกสาร ไบต์ที่ส่ง หรือการเรียกใช้ฟังก์ชัน) ที่จะส่งผลต่อการเรียกเก็บเงินของคุณ

หลังจากที่คุณสบายใจในการแสดงภาพการใช้ทรัพยากรของคุณใน Metrics 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 Console (ภายใต้การ เรียกเก็บเงิน > งบประมาณและการแจ้งเตือน ) จากนั้นคลิกช่องทำเครื่องหมายสำหรับ เชื่อมต่อหัวข้อ Pub/Sub กับงบประมาณนี้ . สิ่งนี้จะสร้างหัวข้อ Pub/Sub ที่คุณสามารถฟังได้ในภายหลัง สำหรับขั้นตอนโดยละเอียด โปรดดู เอกสารฉบับเต็ม

หลังจากที่คุณสร้างหัวข้อการเรียกเก็บเงิน Pub/Sub แล้ว คุณสามารถเขียน Cloud Function เพื่อฟังหัวข้อนี้และดำเนินการกับข้อมูลตามนั้น ข้อมูลจะถูกส่งเป็นข้อมูล JSON และมีข้อมูลที่เป็นประโยชน์ เช่น จำนวนเงินที่คุณใช้ไป จำนวนเงินงบประมาณ และวันที่เริ่มต้นของรอบการเรียกเก็บเงินปัจจุบัน

เอกสาร Google Cloud มีรายละเอียดทั้งหมดเกี่ยวกับวิธีการรับข้อมูลนี้โดยใช้ฟังก์ชันระบบคลาวด์ อย่างไรก็ตาม หากคุณใช้ Cloud Functions สำหรับ Firebase เพื่อปรับใช้ฟังก์ชันของคุณ กระบวนการทั่วไปจะง่ายกว่าเล็กน้อย (ตรวจสอบ เอกสาร Firebase ) คุณยังสามารถอ้างอิงถึง วิดีโอนี้ เพื่อดูตัวอย่างขั้นตอนการดำเนินการ

เมื่อคุณได้รับข้อมูลนี้แล้ว คุณสามารถตอบกลับได้หลายวิธี นี่คือตัวเลือกบางส่วน: