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

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

  • หากจำนวนทรัพยากรที่ผลิตภัณฑ์ 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) หรือจะดูวิดีโอนี้ก็ได้ เพื่อดูคำแนะนำแบบทีละขั้นของกระบวนการ

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