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

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

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

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

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

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

สร้างการแจ้งเตือนที่ซับซ้อนยิ่งขึ้นด้วย 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, Webhooks และอื่นๆ ตัวเลือกเหล่านี้ช่วยให้คุณสามารถส่งการแจ้งเตือนด้วยระดับการมองเห็นที่สูงขึ้นและดำเนินการได้มากขึ้น

การใช้การตรวจสอบคลาวด์

หากต้องการเริ่มต้นใช้งาน 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 คุณสามารถตั้งค่าบริการที่ได้รับอนุญาต เช่น ฟังก์ชั่นคลาวด์ เพื่อฟังข้อความในหัวข้อเหล่านี้และดำเนินการกับข้อมูลอย่างเหมาะสม

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

การใช้หัวข้อ Pub/Sub กับ Cloud Functions

คุณสามารถตั้งค่าหัวข้อ Pub/Sub สำหรับข้อมูลการเรียกเก็บเงินของคุณโดยไปที่งบประมาณที่เกี่ยวข้องกับโปรเจ็กต์ Firebase ของคุณในคอนโซล Google Cloud (ใต้ การเรียกเก็บเงิน > งบประมาณและการแจ้งเตือน ) จากนั้นคลิกช่องทำเครื่องหมายสำหรับ เชื่อมต่อหัวข้อ Pub/Sub กับงบประมาณนี้ . สิ่งนี้จะสร้างหัวข้อ Pub/Sub ที่คุณสามารถฟังได้ในภายหลัง สำหรับขั้นตอนโดยละเอียด โปรดดู เอกสารฉบับเต็ม

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

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

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