แม้ว่า อีเมลแจ้งเตือนงบประมาณแบบธรรมดา จะเป็นวิธีที่ค่อนข้างง่ายในการรับการอัปเดตการเรียกเก็บเงิน แต่อาจมีบางครั้งที่คุณต้องการสร้างการแจ้งเตือนที่ซับซ้อนมากขึ้นซึ่งมีตรรกะที่ปรับแต่งมากขึ้น ต่อไปนี้เป็นสองแนวทางในการพิจารณา:
ใช้ 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 กับฟังก์ชันระบบคลาวด์
คุณสามารถตั้งค่าหัวข้อ Pub/Sub สำหรับข้อมูลการเรียกเก็บเงินของคุณโดยไปที่งบประมาณที่เกี่ยวข้องกับโปรเจ็กต์ Firebase ของคุณใน Google Cloud Console (ภายใต้ การเรียกเก็บเงิน > งบประมาณและการแจ้งเตือน ) จากนั้นคลิกช่องทำเครื่องหมายสำหรับ เชื่อมต่อหัวข้อ Pub/Sub กับงบประมาณนี้ . สิ่งนี้จะสร้างหัวข้อ Pub/Sub ที่คุณสามารถฟังได้ในภายหลัง สำหรับขั้นตอนโดยละเอียด โปรดดู เอกสารฉบับเต็ม
หลังจากที่คุณสร้างหัวข้อการเรียกเก็บเงิน Pub/Sub แล้ว คุณสามารถเขียนฟังก์ชันระบบคลาวด์เพื่อฟังหัวข้อนี้และดำเนินการกับข้อมูลตามนั้นได้ ข้อมูลจะถูกส่งเป็นข้อมูล JSON และประกอบด้วยข้อมูลที่เป็นประโยชน์ เช่น จำนวนเงินที่คุณใช้ไป จำนวนงบประมาณ และวันที่เริ่มต้นของรอบการเรียกเก็บเงินปัจจุบัน
เอกสารประกอบของ Google Cloud มีรายละเอียดทั้งหมดเกี่ยวกับวิธีการรับข้อมูลนี้โดยใช้ฟังก์ชันคลาวด์ อย่างไรก็ตาม หากคุณใช้ฟังก์ชันคลาวด์สำหรับ Firebase เพื่อปรับใช้ฟังก์ชันของคุณ กระบวนการทั่วไปจะง่ายกว่าเล็กน้อย (ตรวจสอบ เอกสารประกอบของ Firebase ) คุณยังสามารถดู วิดีโอนี้ เพื่อดูตัวอย่างขั้นตอนการทำงาน
เมื่อคุณได้รับข้อมูลนี้ คุณจะตอบกลับได้หลายวิธี นี่คือตัวเลือกบางส่วน:
การส่งการแจ้งเตือนไปยังช่อง Slack , ช่อง Discord หรือการส่งข้อความเมื่อการใช้จ่ายของคุณถึงเกณฑ์ที่กำหนด
วิเคราะห์การใช้จ่ายของคุณเปรียบเทียบกับข้อมูลในอดีตและแจ้งเตือนคุณหากมีสิ่งผิดปกติเกิดขึ้น
ทำการเปลี่ยนแปลงแอปของคุณผ่านการกำหนดค่าระยะไกล หากระดับการเรียกเก็บเงินสูงเกินไป
ปิดการใช้งานโครงการ Firebase ของคุณโดยสิ้นเชิงโดย การลบบริการเรียกเก็บเงินออกจากบัญชีของคุณโดยทางโปรแกรม