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

หน้านี้อธิบายวิธีใช้เมตริก Cloud Monitoring สำหรับ Cloud Firestore เพื่อตรวจสอบฐานข้อมูล

เมตริก Cloud Monitoring รายการสำหรับ Cloud Firestore

ส่วนต่อไปนี้แสดงภาพรวมของเมตริกที่ใช้ได้สำหรับ Cloud Firestore

ทรัพยากรที่มีการตรวจสอบ

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

เมื่อใช้ API ของ Cloud Monitoring ประสิทธิภาพของ Cloud Firestore จะได้รับการตรวจสอบด้วยแหล่งข้อมูลต่อไปนี้

แหล่งข้อมูล คำอธิบาย
firestore.googleapis.com/Database ประเภททรัพยากรที่มีการตรวจสอบซึ่งแสดงรายละเอียดของ project, location และ database_id

เมตริก

ดูรายการเมตริกทั้งหมดสำหรับ Cloud Firestore ได้ที่เมตริก Cloud Firestore ส่วนต่อไปนี้จะอธิบายเมตริกบางส่วนที่มีให้ใช้งาน

เมตริกรันไทม์ของบริการ

เมตริก serviceruntime จะแสดงภาพรวมระดับสูงของการเข้าชมโปรเจ็กต์ เมตริกเหล่านี้ใช้ได้กับ API ของ Google Cloud ส่วนใหญ่ ประเภททรัพยากรที่มีการตรวจสอบ consumed_api มีเมตริกทั่วไปเหล่านี้ ระบบจะสุ่มตัวอย่างเมตริกเหล่านี้ทุกๆ 30 นาที ซึ่งส่งผลให้ข้อมูลมีความสม่ำเสมอ

ป้ายกำกับทรัพยากรที่สำคัญสำหรับเมตริก serviceruntime คือ method ป้ายกำกับนี้แสดงถึงการเรียกใช้เมธอด RPC พื้นฐาน เมธอด SDK ที่คุณเรียกใช้อาจไม่จำเป็นต้องมีชื่อเหมือนกับเมธอด RPC ที่สำคัญ เนื่องจาก SDK มี API Abstraction ระดับสูง อย่างไรก็ตาม เมื่อพยายามทำความเข้าใจว่าแอปพลิเคชันของคุณโต้ตอบกับ Cloud Firestore อย่างไร คุณควรทำความเข้าใจเมตริกตามชื่อของเมธอด RPC

หากต้องการทราบว่าเมธอด RPC ที่สำคัญสำหรับเมธอด SDK หนึ่งๆ คืออะไร โปรดดูเอกสารประกอบเกี่ยวกับ API

api/request_latencies

เมตริก api/request_latencies แสดงการกระจายเวลาในการตอบสนองในคำขอที่เสร็จสมบูรณ์ทั้งหมด

Cloud Firestore บันทึกเมตริกจากคอมโพเนนต์บริการ Cloud Firestore เมตริกเวลาในการตอบสนองจะรวมเวลาที่ 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: จำนวนเอกสารทั้งหมดที่ลบโดยบริการ TTL
  • document/ttl_expiration_to_deletion_delays: เวลาที่ผ่านไประหว่างที่เอกสารที่มี TTL หมดอายุและเวลาที่เอกสารถูกลบจริง

ดูแดชบอร์ดที่กำหนดไว้ล่วงหน้าและสร้างแดชบอร์ดที่กำหนดเอง

Cloud Firestore รองรับแดชบอร์ดที่กำหนดไว้ล่วงหน้าซึ่งใช้เมตริก Cloud Monitoring นอกจากนี้ คุณยังสร้างแดชบอร์ดที่กำหนดเองได้ด้วย

ดูเมตริกการใช้งานฐานข้อมูล

เปิดแดชบอร์ดการใช้งานในคอนโซล Google Cloud เพื่อดูการอ่าน การเขียน และการลบเอกสารเมื่อเวลาผ่านไป

การควบคุมการเข้าถึง

แดชบอร์ดการใช้งานต้องใช้สิทธิ์ monitoring.timeSeries.list Identity and Access Management (IAM) บทบาทเจ้าของ ผู้แก้ไข และผู้ดูโปรเจ็กต์จะให้สิทธิ์นี้ นอกจากนี้ คุณยังให้สิทธิ์นี้ผ่านบทบาท Cloud Monitoring หรือบทบาทที่กำหนดเองได้ด้วย

แดชบอร์ดการใช้งานฐานข้อมูล

หากต้องการดูเมตริกการใช้งานสำหรับฐานข้อมูล Cloud Firestore ให้ทำดังนี้

  1. ในคอนโซล Google Cloud ให้ไปที่หน้าฐานข้อมูล

    ไปที่ฐานข้อมูล

  2. เลือกฐานข้อมูลที่ต้องการจากรายการฐานข้อมูล

  3. ในเมนูการนำทาง ให้คลิกการใช้งาน

แดชบอร์ดการใช้งานและรายงานการเรียกเก็บเงิน

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

ในกรณีที่เกิดความคลาดเคลื่อนทั้งหมด รายงานการเรียกเก็บเงินจะมีความสำคัญเหนือกว่าแดชบอร์ดการใช้งาน

การดำเนินการนำเข้าและส่งออกทำให้เกิดความคลาดเคลื่อนระหว่างแดชบอร์ดการใช้งานและการใช้งานที่เรียกเก็บเงิน การอ่านและการเขียนที่ดำเนินการโดยการดำเนินการเหล่านี้จะไม่ปรากฏในแดชบอร์ดการใช้งาน

ดูเมตริกประสิทธิภาพของฐานข้อมูล

หน้าการตรวจสอบในส่วน Cloud Firestore ของคอนโซล Google Cloud มีแดชบอร์ดการตรวจสอบที่กำหนดไว้ล่วงหน้า เช่น เวลาในการตอบสนองของคำขอ (P50 และ P99), โค้ดตอบกลับ และสถิติการค้นหา (P50) นอกจากนี้ คุณยังสร้างแดชบอร์ดที่กำหนดเองได้สูงสุด 1 รายการ หากต้องการเข้าถึงหน้าการตรวจสอบสำหรับฐานข้อมูล ให้ทำตามขั้นตอนต่อไปนี้

  1. ในคอนโซล Google Cloud ให้เปิดหน้าCloud Firestore ฐานข้อมูล

    ไปที่ฐานข้อมูล

  2. เลือกฐานข้อมูลจากรายการ

  3. ในเมนูการนำทาง ให้คลิกการตรวจสอบเพื่อเปิดแดชบอร์ด

สร้างแดชบอร์ด Cloud Monitoring ที่กำหนดเอง

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

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

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

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

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

ลองพิจารณาตัวอย่างต่อไปนี้ที่เราสร้างนโยบายการแจ้งเตือนเวลาในการตอบสนอง นโยบายการแจ้งเตือนจะตรวจสอบเวลาในการตอบสนอง p99 ในกรอบเวลาแบบต่อเนื่อง 5 นาที หากเวลาในการตอบสนอง p99 สูงกว่า 250 มิลลิวินาทีเป็นเวลา 5 นาที ระบบจะทริกเกอร์การแจ้งเตือน

คอนโซล

  1. ในคอนโซล Google Cloud ให้ไปที่หน้าการตรวจสอบ แล้วเลือก  การแจ้งเตือน

    ไปที่การตรวจสอบ

  2. เลือกสร้างนโยบาย

  3. เลือกเมตริกเวลาในการตอบสนองของคำขอจากทรัพยากร API ที่ใช้

  4. เพิ่มตัวกรองบริการสำหรับ firestore.googleapis.com สำหรับฐานข้อมูล Firestore ในโหมดเนทีฟ

  5. คลิกถัดไปเพื่อกำหนดค่าทริกเกอร์

  6. เลือกประเภทเงื่อนไขเป็นเกณฑ์

    เงื่อนไขเกณฑ์ตั้งค่าเป็นค่าเกณฑ์ 250 มิลลิวินาที ระบบจะทริกเกอร์การแจ้งเตือนเมื่อค่าเวลาในการตอบสนอง p99 ยังคงเหมือนเดิมตลอดระยะเวลาของกรอบเวลาแบบต่อเนื่อง (5 นาที)

  7. ตั้งค่าค่าเกณฑ์เป็น 250

  8. คลิกถัดไปเพื่อกำหนดค่าการแจ้งเตือน

  9. ตั้งชื่อนโยบายการแจ้งเตือน แล้วคลิกถัดไป

  10. ตรวจสอบการกำหนดค่าการแจ้งเตือน แล้วคลิกสร้างนโยบาย

MQL

คุณใช้นโยบายการแจ้งเตือนเวลาในการตอบสนองเดียวกันได้โดยใช้การค้นหาด้วย Monitoring Query Language (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'