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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

นอกจากนี้ Firebase คอนโซลยังมีFirebase Security Rulesแดชบอร์ดการประเมิน ซึ่งเป็นมุมมองสรุปการเรียกใช้กฎที่มีประโยชน์ คุณสามารถเสริมแดชบอร์ดนี้ ด้วยการวิเคราะห์โดยละเอียดใน Cloud Monitoring

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

แท็บการใช้งานสำหรับฐานข้อมูลเรียลไทม์ในคอนโซล 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

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

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

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

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

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

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

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

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

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

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

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

  5. ในช่องค้นหาประเภททรัพยากรและเมตริก ให้ป้อน Firebase Realtime Database เลือก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 เกินเกณฑ์ที่กำหนดค่าไว้ คุณจะได้รับการแจ้งเตือนทางอีเมล

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

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