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