پایش سنجه‌های پایگاه‌های داده

این صفحه نحوه استفاده از سنجه‌های 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 دردسترس است. نوع منبع پایش‌شده consumed_api شامل این سنجه‌های رایج است. این سنجه‌ها هر ۳۰ دقیقه نمونه‌برداری می‌شوند و درنتیجه داده‌ها هموار می‌شوند.

برچسب منبع مهمی برای سنجه‌های serviceruntime، method است. این برچسب نشان‌دهنده روش RPC زیربنایی فراخوانی‌شده است. روش کیت توسعه نرم‌افزاری که فراخوانی می‌کنید ممکن است لزوماً نامی مشابه روش RPC زیربنایی نداشته باشد. دلیل آن این است که کیت توسعه نرم‌افزار انتزاع میانای برنامه‌سازی کاربردی سطح بالا ارائه می‌دهد. بااین‌حال، هنگام تلاش برای درک نحوه تعامل برنامه شما با Cloud Firestore، مهم است که سنجه‌ها را براساس نام روش RPC درک کنید.

اگر لازم است بدانید روش RPC زیربنایی برای یک روش کیت توسعه نرم‌افزار معین چیست، سند میانای برنامه‌سازی کاربردی را ببینید.

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/billable_realtime_read_units: تعداد واحدهای به‌روزرسانی هم‌زمان قابل‌صورت‌حساب از به‌روزرسانی‌های هم‌زمان. این فقط برای Cloud Firestore در حالت «بومی» اعمال می‌شود.
  • ‫api/billable_write_units: تعداد واحدهای نوشتن قابل‌پرداخت. استفاده را می‌توان براساس نام سرویس و روش میانای برنامه‌سازی کاربردی تفکیک کرد.
  • 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 باز کنید تا خواندن، نوشتن، و حذف سند را درطول زمان مشاهده کنید.

کنترل دسترسی

داشبوردهای استفاده به اجازه «مدیریت هویت و دسترسی‌ها» (IAM) monitoring.timeSeries.list نیاز دارند. نقش‌های «مالک پروژه»، «ویرایشگر»، و «بیننده» این اجازه را اعطا می‌کنند. همچنین می‌توانید این اجازه را ازطریق نقش Cloud Monitoring یا نقش سفارشی اعطا کنید.

داشبورد استفاده از پایگاه داده

برای مشاهده سنجه‌های استفاده برای پایگاه داده Cloud Firestore، کارهای زیر را انجام دهید.

  1. در کنسول Google Cloud، به صفحه پایگاه‌های داده بروید.

    رفتن به «پایگاه‌های داده»

  2. پایگاه داده موردنیاز را از فهرست پایگاه‌های داده انتخاب کنید.

  3. در منوِ پیمایش، روی استفاده کلیک کنید.

داشبورد استفاده و گزارش‌های صورت‌حساب

داشبوردهای استفاده از Cloud Firestore در کنسول تخمینی از استفاده را ارائه می‌دهند. این گزارش‌ها می‌توانند به شما کمک کنند تا جهش‌های استفاده را شناسایی کنید. بااین‌حال، داشبورد نمای دقیقی از عملیات صورت‌حساب‌شده نیست. استفاده صورت‌حساب‌شده احتمالاً بیشتر است. برای نظارت بر صدور صورت‌حساب، سنجه‌های صدور صورت‌حساب را ببینید.

در همه موارد مغایرت، گزارش صورت‌حساب بر داشبورد استفاده اولویت دارد.

عملیات وارد کردن و صادر کردن باعث ایجاد مغایرت بین داشبورد استفاده و استفاده صورت‌حساب‌شده می‌شود. خواندن‌ها و نوشتن‌هایی که توسط این عملیات‌ها انجام می‌شود در داشبورد استفاده نشان داده نمی‌شود.

مشاهده سنجه‌های عملکرد پایگاه داده

صفحه پایش در بخش Cloud Firestore کنسول Google Cloud شامل داشبوردهای پایش ازپیش تعریف‌شده‌ای مانند تأخیرهای درخواست (P50 و P99)، کدهای پاسخ، و آمار پُرسمان (P50) است. همچنین می‌توانید حداکثر یک داشبورد سفارشی ایجاد کنید. برای دسترسی به صفحه پایش برای پایگاه داده، این مراحل را دنبال کنید:

  1. در کنسول Google Cloud، صفحه Cloud Firestore پایگاه‌های داده را باز کنید.

    رفتن به «پایگاه‌های داده»

  2. پایگاه داده‌ای را از فهرست انتخاب کنید.

  3. در منو پیمایش، روی پایش کلیک کنید تا داشبورد باز شود.

ایجاد Cloud Monitoring داشبورد سفارشی

در Cloud Monitoring، داشبوردهای سفارشی به شما امکان می‌دهند اطلاعاتی را که به شما مربوط است به‌صورت سازمان‌یافته نمایش دهید. برای مثال، می‌توانید داشبوردی برای نمایش سنجه‌های عملکرد و خط‌مشی‌های هشداردهی برای پروژه‌تان در محیط تولید ایجاد کنید.

برای اطلاعات بیشتر درباره راه‌اندازی داشبورد سفارشی، به مدیریت داشبورد سفارشی و افزودن ابزاره‌های داشبورد مراجعه کنید.

ایجاد خط‌مشی هشداردهی

در Cloud Monitoring، می‌توانید هشدار ایجاد کنید تا وقتی تغییری در شرایط سنجه رخ می‌دهد به شما اطلاع داده شود. می‌توانید از این هشدارها برای مطلع شدن از مشکلات احتمالی قبل‌از اینکه بر کاربران شما تأثیر بگذارند استفاده کنید.

برای اطلاعات بیشتر درباره ایجاد هشدار، به ایجاد خط‌مشی‌های هشدار آستانه سنجه مراجعه کنید.

نمونه زیر را درنظر بگیرید که در آن خط‌مشی هشدار تأخیر ایجاد می‌کنیم. خط‌مشی هشداردهی، تأخیر p99 را در پنجره غلتان ۵ دقیقه‌ای بررسی می‌کند. اگر تأخیر p99 به‌مدت ۵ دقیقه بیشتر از ۲۵۰ میلی‌ثانیه بماند، هشدار فعال می‌شود.

کنسول

  1. در کنسول Google Cloud، به صفحه پایش بروید و سپس   هشدار را انتخاب کنید.

    رفتن به «پایش»

  2. ایجاد خط‌مشی را انتخاب کنید.

  3. سنجه تأخیرهای درخواست را از منبع میانای برنامه‌سازی کاربردی مصرف‌شده انتخاب کنید.

  4. افزودن فیلتر سرویس برای firestore.googleapis.com برای پایگاه‌های داده Firestore در حالت بومی.

  5. روی بعدی کلیک کنید تا راه‌انداز را پیکربندی کنید.

  6. انواع شرط را به‌عنوان آستانه انتخاب کنید.

    شرط آستانه روی مقدار آستانه ۲۵۰ میلی‌ثانیه تنظیم شده است. وقتی مقدار تأخیر p99 برای کل دوره پنجره غلتان (۵ دقیقه) یکسان بماند، هشدار فعال می‌شود.

  7. مقدار آستانه را روی ۲۵۰ تنظیم کنید.

  8. برای پیکربندی اعلان‌ها، روی بعدی کلیک کنید.

  9. نام خط‌مشی هشدار را تنظیم کنید و روی بعدی کلیک کنید.

  10. پیکربندی‌های هشدار را مرور کنید و روی ایجاد خط‌مشی کلیک کنید.

مشتری بالقوه تیم بازاریابی

می‌توانید همان خط‌مشی هشدار تأخیر را بااستفاده از پُرسمان «زبان پُرسمان نظارت» (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'