نظارت بر معیارهای پایگاه داده

فقط مربوط به Cloud Firestore Enterprise edition.

این صفحه نحوه استفاده از معیارهای Cloud Monitoring برای Cloud Firestore با سازگاری MongoDB را برای نظارت بر پایگاه داده خود شرح می دهد.

معیارهای Cloud Monitoring برای Cloud Firestore با سازگاری MongoDB

بخش‌های زیر یک نمای کلی از معیارهای موجود برای Cloud Firestore با سازگاری MongoDB ارائه می‌دهند.

منابع نظارت شده

یک منبع نظارت شده در Cloud Monitoring یک موجودیت منطقی یا فیزیکی مانند یک ماشین مجازی، یک پایگاه داده یا یک برنامه کاربردی را نشان می دهد. منابع نظارت شده شامل مجموعه‌ای از معیارهای منحصربه‌فرد است که می‌توان آنها را کاوش کرد، از طریق داشبورد گزارش کرد، یا برای ایجاد هشدار استفاده کرد. هر منبع همچنین دارای مجموعه‌ای از برچسب‌های منبع است که جفت‌های کلید-مقدار هستند که اطلاعات اضافی درباره منبع را در خود نگه می‌دارند. برچسب‌های منبع برای همه معیارهای مرتبط با منبع در دسترس هستند.

با استفاده از Cloud Monitoring API ، Cloud Firestore با عملکرد سازگاری MongoDB با منبع زیر نظارت می‌شود:

منابع توضیحات
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 سطح بالایی را ارائه می دهد. با این حال، هنگام تلاش برای درک نحوه تعامل برنامه شما با 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_write_units : تعداد واحدهای نوشتن قابل پرداخت. استفاده را می توان با نام سرویس و روش API تقسیم کرد.

  • document/billable_managed_delete_write_units : تعداد واحدهای نوشتن قابل پرداخت از سرویس های حذف مدیریت شده مانند TTL .

معیارهای شاخص

نرخ‌های نوشتن فهرست را می‌توان با متریک document/write_ops_count مقایسه کرد تا به بیرون آمدن نمایه‌سازی پی ببریم.

  • index/write_count : تعداد نوشته های شاخص.

معیارهای TTL

معیارهای TTL برای Cloud Firestore با معیارهای سازگاری MongoDB برای نظارت بر تأثیر سیاست TTL اعمال شده استفاده می‌شود.

  • document/ttl_deletion_count : تعداد کل اسناد حذف شده توسط سرویس های TTL.
  • document/ttl_expiration_to_deletion_delays : زمانی که یک سند با TTL منقضی می‌شود تا زمانی که واقعاً حذف شده است، زمان سپری شده است.

داشبوردهای از پیش تعریف شده را مشاهده کنید و داشبوردهای سفارشی ایجاد کنید

Cloud Firestore با سازگاری MongoDB از داشبوردهای از پیش تعریف شده ای پشتیبانی می کند که از معیارهای Cloud Monitoring استفاده می کنند. همچنین می توانید داشبوردهای سفارشی ایجاد کنید.

مشاهده معیارهای استفاده از پایگاه داده

برای مشاهده خواندن، نوشتن و حذف اسناد در طول زمان، داشبوردهای استفاده را در کنسول Google Cloud باز کنید.

کنترل دسترسی

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

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

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

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

    به پایگاه داده بروید

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

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

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

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

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

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

مشاهده معیارهای عملکرد پایگاه داده

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

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

    به پایگاه داده بروید

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

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

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

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

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

یک خط مشی هشدار ایجاد کنید

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

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

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

کنسول

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

    به مانیتورینگ بروید

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

  3. معیار Request Latencies را از منبع Consumed API انتخاب کنید.

  4. یک فیلتر سرویس برای firestore.googleapis.com برای پایگاه داده استاندارد Cloud Firestore اضافه کنید.

  5. برای پیکربندی تریگر روی Next کلیک کنید.

  6. Condition Types را به عنوان آستانه انتخاب کنید.

    یک شرط آستانه روی مقدار آستانه 250 میلی‌ثانیه تنظیم شده است. هنگامی که مقدار تأخیر p99 برای کل دوره پنجره چرخان (5 دقیقه) ثابت بماند، هشدار ایجاد می شود.

  7. مقدار Threshold را 250 تنظیم کنید.

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

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

  10. تنظیمات هشدار را مرور کنید و روی ایجاد خط مشی کلیک کنید.

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'