ตรวจสอบการใช้ฐานข้อมูล

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

หากต้องการตรวจสอบการใช้งานที่เรียกเก็บเงินของ Realtime Database ให้ดูที่แดชบอร์ดการใช้งานและการเรียกเก็บเงิน ดูข้อมูลเพิ่มเติมเกี่ยวกับการเรียกเก็บเงินได้ที่หัวข้อทำความเข้าใจการเรียกเก็บเงินของ Realtime Database

สำหรับการใช้งานทรัพยากร ทั้งแท็บการใช้งานในFirebaseคอนโซลและเมตริกที่พร้อมใช้งานผ่าน Cloud Monitoring จะช่วยคุณตรวจสอบการใช้งาน Realtime Database ได้

รับการแจ้งเตือนจาก Firebase

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

การแจ้งเตือน Firebase เหล่านี้และการตั้งค่าจะมีผลทั้งโปรเจ็กต์ ซึ่งหมายความว่าโดยค่าเริ่มต้น สมาชิกโปรเจ็กต์ทุกคนที่มีสิทธิ์ที่จำเป็นในการรับการแจ้งเตือนจะได้รับอีเมลเมื่อมีการเรียกให้แสดงการแจ้งเตือน Realtime Database ระบบจะส่งอีเมลไปยังอีเมลแต่ละรายการ (ไม่ใช่การจัดกลุ่มบัญชี เช่น Google Groups หรือบัญชี Google Workspace)

เปิด/ปิดการแจ้งเตือนสำหรับบัญชีของคุณเอง

สำหรับบัญชีของคุณเอง คุณสามารถเปิด/ปิดการแจ้งเตือน Realtime Database ได้โดยไม่ส่งผลกระทบต่อสมาชิกคนอื่นๆ ในโปรเจ็กต์ โปรดทราบว่าคุณยังคงต้องมีสิทธิ์ที่จำเป็นเพื่อรับการแจ้งเตือน

หากต้องการเปิดหรือปิดการแจ้งเตือนRealtime Database ให้ทำตามขั้นตอนต่อไปนี้

  1. ในคอนโซล Firebase ที่มุมขวาบน ให้ไปที่ การแจ้งเตือน Firebase
  2. จากนั้นไปที่ การตั้งค่า แล้วตั้งค่าการตั้งค่าบัญชีสำหรับการแจ้งเตือน Realtime Database

ตรวจสอบการใช้งานในคอนโซล Firebase

หากต้องการดูการเชื่อมต่อ Realtime Database และปริมาณการใช้อินเทอร์เน็ตในปัจจุบัน ให้ตรวจสอบแท็บการใช้งานในคอนโซล Firebase คุณสามารถตรวจสอบการใช้งานในช่วงเวลาที่เรียกเก็บเงินปัจจุบัน, 30 วันที่ผ่านมา หรือ 24 ชั่วโมงที่ผ่านมาได้

Firebase จะแสดงสถิติการใช้งานสำหรับเมตริกต่อไปนี้

  • การเชื่อมต่อ: จำนวนการเชื่อมต่อแบบเรียลไทม์ที่เปิดอยู่พร้อมกันกับฐานข้อมูลของคุณ ซึ่งรวมถึงการเชื่อมต่อแบบเรียลไทม์ต่อไปนี้ ได้แก่ WebSocket, Long Polling และเหตุการณ์ที่เซิร์ฟเวอร์ HTML ส่งมา แต่ไม่รวมคำขอ RESTful
  • พื้นที่เก็บข้อมูล: ปริมาณข้อมูลที่จัดเก็บไว้ในฐานข้อมูล ซึ่งไม่รวมถึงโฮสติ้งของ Firebase หรือข้อมูลที่จัดเก็บผ่านผลิตภัณฑ์อื่นๆ ของ Firebase
  • การดาวน์โหลด: ไบต์ทั้งหมดที่ดาวน์โหลดจากฐานข้อมูลของคุณ รวมถึงโอเวอร์เฮดของโปรโตคอลและการเข้ารหัส
  • โหลด: กราฟนี้แสดงปริมาณการใช้งานฐานข้อมูลเพื่อประมวลผลคำขอในช่วงเวลา 1 นาทีที่กำหนด คุณอาจพบปัญหาด้านประสิทธิภาพเมื่อฐานข้อมูลใกล้ถึง 100%

แท็บกฎสำหรับ Realtime Database ในคอนโซล Firebase

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

ดูข้อมูลเพิ่มเติมได้ที่ตรวจสอบกฎความปลอดภัยใน Cloud Monitoring

แท็บการใช้งานสำหรับ Realtime Database ในคอนโซล Firebase

ตรวจสอบการใช้งานด้วย Cloud Monitoring

เมตริกการใช้งาน

หากต้องการใช้ Cloud Monitoring เพื่อตรวจสอบการใช้งานที่เรียกเก็บเงิน ให้ติดตามเมตริกต่อไปนี้ โปรดทราบว่าชื่อประเภทเมตริกทั้งหมดจะขึ้นต้นด้วย firebasedatabase.googleapis.com/

ชื่อเมตริก คำอธิบาย
จำนวนไบต์ของเพย์โหลดที่ส่ง

network/sent_payload_bytes_count เมตริกนี้แสดงขนาดของข้อมูลที่ขอผ่านการดำเนินการของฐานข้อมูล (รวมถึงการรับ การค้นหา การเขียน การอัปเดต Listener แบบเรียลไทม์ และการออกอากาศ) โดยไม่รวมค่าใช้จ่ายในการเชื่อมต่อ (โปรโตคอลหรือการเข้ารหัส) `sent_payload_bytes_count` จะส่งผลต่อค่าใช้จ่ายแบนด์วิดท์ขาออก แต่จะไม่รวมอยู่ในค่าใช้จ่ายที่เรียกเก็บทั้งหมด ซึ่งเป็นค่าประมาณของข้อมูลที่ส่งจากฐานข้อมูลเพื่อตอบสนองต่อคำขอ แต่เนื่องจากเป็นการวัดขนาดเพย์โหลดของข้อมูลที่ขอ ไม่ใช่ข้อมูลที่ส่งจริง จึงอาจไม่ถูกต้องเสมอไป

จำนวนเพย์โหลดที่ส่งและไบต์ของโปรโตคอล

network/sent_payload_and_protocol_bytes_count เมตริกนี้แสดงขนาดของทั้งข้อมูลเพย์โหลดที่อธิบายไว้ข้างต้นและค่าใช้จ่ายเพิ่มเติมของโปรโตคอลที่จำเป็นสำหรับการเชื่อมต่อ (เช่น ส่วนหัว HTTP, ข้อมูลใน WebSocket และเฟรมโปรโตคอลแบบเรียลไทม์ของ Firebase) แต่จะไม่พิจารณาค่าใช้จ่ายในการเข้ารหัสสำหรับการเชื่อมต่อที่ปลอดภัย

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

storage/total_bytes ใช้เมตริกนี้เพื่อตรวจสอบปริมาณข้อมูลที่คุณจัดเก็บไว้ในฐานข้อมูล ข้อมูลที่คุณจัดเก็บไว้ใน Realtime Database จะรวมอยู่ในค่าใช้จ่ายที่เรียกเก็บ

รวมเมตริกในแผนภูมิบนแดชบอร์ดเพื่อดูข้อมูลเชิงลึกที่เป็นประโยชน์และภาพรวม เช่น ลองใช้ชุดค่าผสมต่อไปนี้

  • ข้อมูลขาออก: ใช้เมตริก network/sent_bytes_count, network/sent_payload_and_protocol_bytes_count และ network/sent_payload_bytes_count เพื่อตรวจหาปัญหาที่อาจเกิดขึ้นกับโอเวอร์เฮดของโปรโตคอลหรือการเข้ารหัสที่ทำให้เกิดค่าใช้จ่ายที่ไม่คาดคิดในใบเรียกเก็บเงิน หากคุณเห็นความคลาดเคลื่อนอย่างมากระหว่างขนาดของเพย์โหลดข้อมูลที่ขอและเมตริกอื่นๆ ที่แสดงค่าใช้จ่ายเพิ่มเติมในการเชื่อมต่อ คุณอาจต้องแก้ปัญหาที่อาจทำให้เกิดการหมดเวลาหรือการเชื่อมต่อบ่อยครั้ง หากไม่ได้ใช้ตั๋วเซสชัน TLS คุณอาจลองใช้ตั๋วเพื่อลดค่าใช้จ่ายในการเชื่อมต่อ SSL สำหรับการเชื่อมต่อที่กลับมาทำงานอีกครั้ง
  • การดำเนินการ: ใช้เมตริก io/database_load เพื่อดูว่าการดำเนินการแต่ละประเภทใช้ภาระงานของฐานข้อมูลทั้งหมดเท่าใด อย่าลืมจัดกลุ่ม io/database_load ตามประเภทเพื่อแก้ปัญหาการดำเนินการประเภทต่างๆ
  • พื้นที่เก็บข้อมูล: ใช้ storage/limit และ storage/total_bytes เพื่อตรวจสอบการใช้พื้นที่เก็บข้อมูลที่เกี่ยวข้องกับขีดจำกัดพื้นที่เก็บข้อมูลของ Realtime Database

ดูรายการเมตริก Realtime Database ทั้งหมดที่มีให้ใช้งานผ่าน Cloud Monitoring

สร้างพื้นที่ทำงานของ Cloud Monitoring

หากต้องการตรวจสอบ Realtime Database ด้วย Cloud Monitoring คุณต้องตั้งค่าพื้นที่ทำงานสำหรับโปรเจ็กต์ พื้นที่ทำงานจะจัดระเบียบข้อมูลการตรวจสอบจากโปรเจ็กต์อย่างน้อย 1 โปรเจ็กต์ หลังจากตั้งค่าพื้นที่ทำงานแล้ว คุณจะสร้างแดชบอร์ดและนโยบายการแจ้งเตือนที่กำหนดเองได้

  1. เปิดหน้า Cloud Monitoring

    หากโปรเจ็กต์เป็นส่วนหนึ่งของพื้นที่ทำงานอยู่แล้ว หน้าการตรวจสอบระบบคลาวด์จะเปิดขึ้น หรือเลือกพื้นที่ทำงานสำหรับโปรเจ็กต์

  2. เลือกตัวเลือกพื้นที่ทำงานใหม่หรือเลือกพื้นที่ทำงานที่มีอยู่

  3. คลิกเพิ่ม หลังจากสร้างพื้นที่ทำงานแล้ว หน้า Cloud Monitoring จะเปิดขึ้น

สร้างแดชบอร์ดและเพิ่มแผนภูมิ

แสดงเมตริก Realtime Database รายการที่รวบรวมจาก Cloud Monitoring ในแผนภูมิและแดชบอร์ดของคุณเอง

ก่อนดำเนินการต่อ โปรดตรวจสอบว่าโปรเจ็กต์เป็นส่วนหนึ่งของพื้นที่ทำงาน Cloud Monitoring

  1. ในหน้า Cloud Monitoring ให้เปิดพื้นที่ทำงานแล้วไปที่หน้าแดชบอร์ด

    ไปที่หน้าแดชบอร์ด

  2. คลิกสร้างแดชบอร์ด แล้วป้อนชื่อแดชบอร์ด

  3. คลิกเพิ่มแผนภูมิที่มุมขวาบน

  4. ในหน้าต่างเพิ่มแผนภูมิ ให้ป้อนชื่อแผนภูมิ คลิกแท็บเมตริก

  5. ในช่องค้นหาประเภททรัพยากรและเมตริก ให้ป้อนฐานข้อมูลเรียลไทม์ของ Firebase จากเมนูแบบเลื่อนลงที่ป้อนข้อมูลอัตโนมัติ ให้เลือกเมตริก Realtime Database รายการ

  6. หากต้องการเพิ่มเมตริกลงในแผนภูมิเดียวกัน ให้คลิกเพิ่มเมตริก แล้วทำตามขั้นตอนก่อนหน้าซ้ำ

  7. (ไม่บังคับ) ปรับแต่งแผนภูมิตามต้องการ เช่น ในช่องตัวกรอง ให้คลิก + เพิ่มตัวกรอง เลื่อนลง แล้วเลือกค่าหรือช่วงสำหรับเมตริกที่สนใจซึ่งคุณต้องการกรองแผนภูมิ

  8. คลิกบันทึก

ดูข้อมูลเพิ่มเติมเกี่ยวกับแผนภูมิ Cloud Monitoring ได้ที่หัวข้อการทำงานกับแผนภูมิ

สร้างนโยบายการแจ้งเตือน

คุณสามารถสร้างนโยบายการแจ้งเตือนตามเมตริก Realtime Database ได้ ทำตามขั้นตอนด้านล่างเพื่อสร้างนโยบายการแจ้งเตือนที่จะส่งอีเมลถึงคุณเมื่อเมตริก Realtime Database ที่เฉพาะเจาะจงถึงเกณฑ์ที่กำหนด

ก่อนดำเนินการต่อ โปรดตรวจสอบว่าโปรเจ็กต์เป็นส่วนหนึ่งของพื้นที่ทำงาน Cloud Monitoring

  1. ในหน้า Cloud Monitoring ให้เปิดพื้นที่ทำงาน แล้วไปที่หน้าการแจ้งเตือน

    ไปที่หน้าสร้างนโยบายการแจ้งเตือนใหม่

  2. คลิก Create Policy

  3. ป้อนชื่อนโยบายการแจ้งเตือน

  4. เพิ่มเงื่อนไขในการแจ้งเตือนตามเมตริก Realtime Database รายการใดรายการหนึ่ง คลิกเพิ่มเงื่อนไข

  5. เลือกเป้าหมาย ในช่องค้นหาประเภททรัพยากรและเมตริก ให้ป้อน Realtime Database เลือกเมตริก Realtime Database รายการจากเมนูแบบเลื่อนลงที่ป้อนข้อมูลอัตโนมัติ

  6. ในส่วนทริกเกอร์นโยบาย ให้ใช้ช่องแบบเลื่อนลงเพื่อกำหนดเงื่อนไขการแจ้งเตือน

  7. เพิ่มช่องทางการแจ้งเตือนลงในนโยบายการแจ้งเตือน ในส่วนการแจ้งเตือน ให้คลิกเพิ่มช่องทางการแจ้งเตือน เลือกอีเมลจากเมนูแบบเลื่อนลง

  8. ป้อนอีเมลในช่องอีเมล คลิกเพิ่ม

  9. หรือจะกรอกข้อมูลในช่องเอกสารประกอบเพื่อรวมข้อมูลเพิ่มเติมในการแจ้งเตือนทางอีเมลก็ได้

  10. คลิกบันทึก

หากการใช้งาน Realtime Database เกินเกณฑ์ที่กำหนดค่าไว้ คุณจะได้รับการแจ้งเตือนทางอีเมล

ดูข้อมูลเพิ่มเติมเกี่ยวกับนโยบายการแจ้งเตือนได้ที่ข้อมูลเบื้องต้นเกี่ยวกับการแจ้งเตือน

ขั้นตอนถัดไป