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

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

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

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

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

หน้านี้จะแสดงภาพรวมของแต่ละแนวทาง

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

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

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

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

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

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

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

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

กำลังใช้ Cloud Monitoring

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

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

หลังจากที่คุณคุ้นเคยกับการแสดงภาพการใช้ทรัพยากรในเมตริกแล้ว Explorer เราขอแนะนำให้สร้าง นโยบายการแจ้งเตือนใน เมตริกที่สำคัญมากที่สุด ตัวอย่างนโยบายการแจ้งเตือนมีดังนี้

  • หากจํานวนการอ่านเอกสารในระยะเวลา 30 นาทีมากกว่าค่าหนึ่งๆ

  • หากการใช้งานทรัพยากรที่เฉพาะเจาะจง (เช่น การเรียกใช้ฟังก์ชัน) เพิ่มขึ้นเร็วเกินไปในบางกรอบเวลา

สร้างตรรกะการเรียกเก็บเงินเพิ่มเติม

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

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

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

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

กำลังใช้ Pub/Sub หัวข้อกับ Cloud Functions

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

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

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

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