หน้านี้อธิบายวิธีใช้เมตริก Cloud Monitoring สำหรับ Cloud Firestore เพื่อตรวจสอบฐานข้อมูล
Cloud Monitoring เมตริกสำหรับ Cloud Firestore
ส่วนต่อไปนี้จะแสดงภาพรวมของเมตริกที่ใช้ได้สำหรับ Cloud Firestore
ทรัพยากรที่ตรวจสอบ
ทรัพยากรที่มีการตรวจสอบใน Cloud Monitoring แสดงถึงเอนทิตีเชิงตรรกะหรือเชิงกายภาพ เช่น เครื่องเสมือน ฐานข้อมูล หรือแอปพลิเคชัน แหล่งข้อมูลที่ตรวจสอบ จะมีชุดเมตริกที่ไม่ซ้ำกันซึ่งสามารถสำรวจ รายงานผ่าน แดชบอร์ด หรือใช้เพื่อสร้างการแจ้งเตือนได้ นอกจากนี้ ทรัพยากรแต่ละรายการยังมีชุดป้ายกำกับทรัพยากร ซึ่งเป็นคู่คีย์-ค่าที่เก็บข้อมูลเพิ่มเติมเกี่ยวกับทรัพยากร ป้ายกำกับทรัพยากรพร้อมใช้งานสำหรับเมตริกทั้งหมดที่เชื่อมโยงกับ ทรัพยากร
การใช้Cloud Monitoring API Cloud Firestore จะมีการตรวจสอบประสิทธิภาพด้วยทรัพยากรต่อไปนี้
| แหล่งข้อมูล | คำอธิบาย |
firestore.googleapis.com/Database | ประเภททรัพยากรที่ตรวจสอบ
ซึ่งแสดงรายละเอียดสำหรับ project
location และ database_id |
เมตริก
ดูรายการเมตริกทั้งหมดสำหรับ Cloud Firestore ได้ที่เมตริก Cloud Firestore ส่วนต่อไปนี้จะอธิบายเมตริกบางส่วนที่พร้อมใช้งาน
เมตริกเวลาทำงานของบริการ
เมตริกserviceruntime
จะแสดงภาพรวมระดับสูงของการเข้าชมโปรเจ็กต์ เมตริกเหล่านี้ใช้ได้กับ Google Cloud API ส่วนใหญ่ ประเภททรัพยากรที่มีการตรวจสอบ
consumed_api
มีเมตริกทั่วไปต่อไปนี้ ระบบจะสุ่มตัวอย่างเมตริกเหล่านี้
ทุกๆ 30 นาที ซึ่งส่งผลให้ข้อมูลมีความราบรื่น
ป้ายกำกับแหล่งข้อมูลที่สำคัญสำหรับserviceruntime เมตริกคือ method ป้ายกำกับนี้แสดงถึงเมธอด RPC พื้นฐานที่เรียกใช้ ชื่อเมธอด SDK ที่คุณเรียก
อาจไม่จำเป็นต้องมีชื่อเดียวกับเมธอด RPC พื้นฐาน สาเหตุ
คือ SDK มีการแยก API ระดับสูง อย่างไรก็ตาม เมื่อพยายามทำความเข้าใจวิธีที่แอปพลิเคชันโต้ตอบกับ Cloud Firestore คุณควรทำความเข้าใจเมตริกตามชื่อของเมธอด RPC
หากต้องการทราบว่าเมธอด RPC พื้นฐานสำหรับเมธอด SDK ที่กำหนดคืออะไร โปรดดูเอกสารประกอบ API
api/request_latencies
api/request_latencies เมตริกจะแสดงการกระจายเวลาในการตอบสนองในคำขอทั้งหมดที่เสร็จสมบูรณ์
Cloud Firestore บันทึกเมตริกจากคอมโพเนนต์Cloud Firestore Service เมตริกเวลาในการตอบสนองรวมถึงเวลาที่ Cloud Firestore ได้รับ คำขอจนถึงเวลาที่ Cloud Firestore ส่งการตอบกลับเสร็จสิ้น รวมถึงการโต้ตอบกับเลเยอร์พื้นที่เก็บข้อมูล ด้วยเหตุนี้ เวลาในการตอบสนองไป-กลับ (RTT) ระหว่างไคลเอ็นต์กับCloud Firestoreบริการจึงไม่รวมอยู่ในเมตริกเหล่านี้
เมตริกการดำเนินการกับเอกสาร
Cloud Firestore แสดงจำนวนการอ่าน การเขียน และการลบ เมตริกการเขียน จะแสดงรายละเอียดระหว่างการดำเนินการ "สร้าง" และ "อัปเดต" เมตริกเหล่านี้สอดคล้องกับการดำเนินการ CRUD
คุณใช้เมตริกต่อไปนี้เพื่อทำความเข้าใจว่าฐานข้อมูลของคุณมีการอ่าน จำนวนมากหรือมีการเขียนจำนวนมาก รวมถึงอัตราส่วนของเอกสารใหม่เทียบกับเอกสารที่ลบแล้วได้
document/delete_ops_count: จำนวนการลบเอกสารที่สำเร็จdocument/read_ops_count: จำนวนการอ่านเอกสารที่สำเร็จจาก การค้นหาหรือการค้นหาdocument/write_ops_count: จำนวนการเขียนเอกสารที่สำเร็จ
เมตริกการเรียกเก็บเงิน
ใช้เมตริกเหล่านี้เพื่อทำความเข้าใจการใช้งานสำหรับการเรียกเก็บเงิน เมตริกเหล่านี้ไม่รวมการเรียกเก็บเงินจากการดำเนินการของผู้ดูแลระบบ (การจัดทำดัชนี การนำเข้า การส่งออก และการลบแบบเป็นกลุ่ม)
api/billable_read_units: จำนวนหน่วยการอ่านที่เรียกเก็บเงินได้ การใช้งานสามารถแบ่งตามชื่อบริการและเมธอด API ได้api/billable_realtime_read_units: จำนวนหน่วยการอัปเดตแบบเรียลไทม์ที่เรียกเก็บเงินได้ จากการอัปเดตแบบเรียลไทม์ การดำเนินการนี้มีผลกับ Cloud Firestore ในโหมดเนทีฟเท่านั้นapi/billable_write_units: จำนวนหน่วยการเขียนที่เรียกเก็บเงินได้ การใช้งานสามารถแบ่งตามชื่อบริการและเมธอด API ได้document/billable_managed_delete_write_units: จำนวนหน่วยการเขียนที่เรียกเก็บเงินได้จากบริการลบที่มีการจัดการ เช่น TTL
เมตริกดัชนี
คุณสามารถเปรียบเทียบอัตราการเขียนดัชนีกับเมตริก document/write_ops_count
เพื่อทำความเข้าใจการแยกย่อยดัชนีได้
index/write_count: จำนวนการเขียนดัชนี
เมตริก TTL
ระบบจะใช้เมตริก TTL สำหรับเมตริก Cloud Firestore เพื่อ ตรวจสอบผลกระทบของนโยบาย TTL ที่บังคับใช้
document/ttl_deletion_count: จำนวนเอกสารทั้งหมดที่บริการลบโดย TTLdocument/ttl_expiration_to_deletion_delays: เวลาที่ผ่านไประหว่างที่เอกสารที่มี TTL หมดอายุกับเวลาที่ระบบลบเอกสารจริง
ดูแดชบอร์ดที่กำหนดไว้ล่วงหน้าและสร้างแดชบอร์ดที่กำหนดเอง
Cloud Firestore รองรับแดชบอร์ดที่กำหนดไว้ล่วงหน้าซึ่งใช้เมตริก Cloud Monitoring นอกจากนี้ คุณยังสร้างแดชบอร์ดที่กำหนดเองได้ด้วย
ดูเมตริกการใช้งานฐานข้อมูล
เปิดแดชบอร์ดการใช้งานในคอนโซล Google Cloud เพื่อดู การอ่าน การเขียน และการลบเอกสารในช่วงระยะเวลาหนึ่ง
การควบคุมการเข้าถึง
แดชบอร์ดการใช้งานต้องมีmonitoring.timeSeries.listสิทธิ์ Identity and Access Management (IAM)
บทบาทเจ้าของ ผู้แก้ไข และผู้ดูโปรเจ็กต์จะให้สิทธิ์นี้ นอกจากนี้ คุณยังให้สิทธิ์นี้ได้
ผ่านCloud Monitoringบทบาท
หรือบทบาทที่กำหนดเอง
แดชบอร์ดการใช้งานฐานข้อมูล
หากต้องการดูเมตริกการใช้งานสำหรับCloud Firestoreฐานข้อมูล ให้ทำดังนี้
ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล
เลือกฐานข้อมูลที่ต้องการจากรายการฐานข้อมูล
ในเมนูการนำทาง ให้คลิกการใช้งาน
แดชบอร์ดการใช้งานและรายงานการเรียกเก็บเงิน
Cloud Firestoreแดชบอร์ดการใช้งานในคอนโซล จะแสดงค่าประมาณการใช้งาน ซึ่งจะช่วยให้คุณระบุการใช้งานที่เพิ่มขึ้นได้ อย่างไรก็ตาม แดชบอร์ดไม่ใช่มุมมองที่แน่นอนของการดำเนินการที่เรียกเก็บเงิน การใช้งานที่เรียกเก็บเงิน อาจสูงกว่า หากต้องการตรวจสอบการเรียกเก็บเงิน โปรดดูเมตริกการเรียกเก็บเงิน
ในกรณีที่ข้อมูลไม่ตรงกัน รายงานการเรียกเก็บเงินจะมี ลำดับความสำคัญเหนือกว่าแดชบอร์ดการใช้งาน
การนำเข้าและส่งออกทำให้เกิดความคลาดเคลื่อนระหว่างแดชบอร์ดการใช้งาน กับการใช้งานที่เรียกเก็บเงิน การอ่านและการเขียนที่ดำเนินการโดย การดำเนินการเหล่านี้จะไม่แสดงในแดชบอร์ดการใช้งาน
ดูเมตริกประสิทธิภาพของฐานข้อมูล
หน้าการตรวจสอบในส่วน Cloud Firestore ของคอนโซล Google Cloud มีแดชบอร์ดการตรวจสอบที่กำหนดไว้ล่วงหน้า เช่น เวลาในการตอบสนองของคำขอ (เปอร์เซ็นไทล์ที่ 50 และ 99), รหัสการตอบกลับ และสถิติการค้นหา (เปอร์เซ็นไทล์ที่ 50) นอกจากนี้ คุณยังสร้างแดชบอร์ดที่กำหนดเองได้สูงสุด 1 รายการ หากต้องการเข้าถึงหน้าการตรวจสอบ ของฐานข้อมูล ให้ทำตามขั้นตอนต่อไปนี้
ในคอนโซล Google Cloud ให้เปิดหน้าCloud Firestore ฐานข้อมูล
เลือกฐานข้อมูลจากรายการ
ในเมนูการนำทาง ให้คลิกการตรวจสอบเพื่อเปิดแดชบอร์ด
สร้างแดชบอร์ด Cloud Monitoring ที่กำหนดเอง
ใน Cloud Monitoring แดชบอร์ดที่กำหนดเองช่วยให้คุณแสดงข้อมูลที่ เกี่ยวข้องกับคุณในลักษณะที่เป็นระเบียบได้ เช่น คุณอาจสร้าง แดชบอร์ดเพื่อแสดงเมตริกประสิทธิภาพและนโยบายการแจ้งเตือนสำหรับ โปรเจ็กต์ในสภาพแวดล้อมฮาร์ดแวร์และซอฟต์แวร์
ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าแดชบอร์ดที่กำหนดเองได้ที่หัวข้อ จัดการแดชบอร์ดที่กำหนดเอง และเพิ่มวิดเจ็ตแดชบอร์ด
สร้างนโยบายการแจ้งเตือน
ใน Cloud Monitoring คุณสามารถสร้างการแจ้งเตือนเพื่อแจ้งให้คุณทราบ เมื่อมีการเปลี่ยนแปลงในเงื่อนไขของเมตริก คุณสามารถใช้การแจ้งเตือนเหล่านี้เพื่อรับการแจ้งเตือนเกี่ยวกับปัญหาที่อาจเกิดขึ้นก่อนที่จะส่งผลกระทบต่อผู้ใช้
ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างการแจ้งเตือนได้ที่ สร้างนโยบายการแจ้งเตือนตามเกณฑ์เมตริก
ลองดูตัวอย่างต่อไปนี้ซึ่งเราสร้างนโยบายการแจ้งเตือนเกี่ยวกับเวลาในการตอบสนอง นโยบายการแจ้งเตือนจะตรวจสอบเวลาในการตอบสนองเปอร์เซ็นไทล์ที่ 99 ในช่วงเวลา 5 นาที หากเวลาในการตอบสนองที่เปอร์เซ็นไทล์ที่ 99 สูงกว่า 250 มิลลิวินาทีเป็นเวลา 5 นาที ระบบจะทริกเกอร์การแจ้งเตือน
คอนโซล
ในคอนโซล Google Cloud ให้ไปที่หน้าการตรวจสอบ แล้วเลือก notifications การแจ้งเตือน
เลือกสร้างนโยบาย
เลือกเมตริกเวลาในการตอบสนองของคำขอจากแหล่งข้อมูล API ที่ใช้
เพิ่มตัวกรองบริการสำหรับ
firestore.googleapis.comสำหรับ ฐานข้อมูล Firestore ในโหมด Nativeคลิกถัดไปเพื่อกำหนดค่าทริกเกอร์
เลือกประเภทเงื่อนไขเป็นเกณฑ์
ระบบจะตั้งค่าเงื่อนไขเกณฑ์เป็นค่าเกณฑ์ 250 มิลลิวินาที ระบบจะทริกเกอร์การแจ้งเตือนเมื่อค่าเวลาในการตอบสนองเปอร์เซ็นไทล์ที่ 99 ยังคงเท่าเดิมตลอดระยะเวลาของหน้าต่างกลิ้ง (5 นาที)
ตั้งค่าค่าเกณฑ์เป็น 250
คลิกถัดไปเพื่อกำหนดค่าการแจ้งเตือน
ตั้งชื่อนโยบายการแจ้งเตือน แล้วคลิกถัดไป
ตรวจสอบการกำหนดค่าการแจ้งเตือน แล้วคลิกสร้างนโยบาย
MQL
คุณสามารถใช้นโยบายการแจ้งเตือนความหน่วงเดียวกันได้โดยใช้การค้นหาภาษาการค้นหาการตรวจสอบ (MQL) ดูตัวอย่างเพิ่มเติมเกี่ยวกับการใช้ MQL ได้ที่ ตัวอย่างการค้นหา MQL
fetch consumed_api
| metric 'serviceruntime.googleapis.com/api/request_latencies'
| filter (resource.service == 'firestore.googleapis.com')
| group_by 5m,
[value_request_latencies_percentile:
percentile(value.request_latencies, 99)]
| every 5m
| condition val() > 0.25 's'