نظارت بر استفاده از پایگاه داده

به عنوان بخشی از مدیریت پروژه‌های Firebase خود، باید میزان استفاده از منابع Realtime Database خود (مثلاً تعداد کاربران متصل، میزان فضای ذخیره‌سازی پایگاه داده شما) و نحوه تأثیر این میزان استفاده بر صورتحساب خود را بررسی کنید.

برای بررسی میزان استفاده از صورتحساب Realtime Database خود، داشبورد Usage and Billing را بررسی کنید. برای اطلاعات بیشتر در مورد صورتحساب، به بخش «درک صورتحساب Realtime Database مراجعه کنید.

برای میزان استفاده از منابع، هم تب Usage در کنسول Firebase و هم معیارهای موجود از طریق Cloud Monitoring می‌توانند به شما در نظارت بر میزان استفاده Realtime Database کمک کنند.

دریافت هشدارهای فایربیس

شما می‌توانید انتخاب کنید که وقتی میزان مصرف Realtime Database شما به یکی از محدودیت‌های طرح قیمت‌گذاری‌تان نزدیک می‌شود، هشدارهای ایمیلی دریافت کنید. به‌طور پیش‌فرض، Firebase وقتی به محدودیت طرح رسیده‌اید یا از آن عبور کرده‌اید، هشدارهای ایمیلی ارسال می‌کند، اما می‌توانید برای تنظیم طرح یا میزان مصرف خود و جلوگیری از هرگونه اختلال در سرویس، این اعلان‌های قبلی را انتخاب کنید.

این هشدارهای فایربیس و تنظیمات آنها در سطح پروژه هستند. این بدان معناست که به طور پیش‌فرض، هر عضو پروژه که مجوزهای لازم برای دریافت هشدارها را داشته باشد، هنگام فعال شدن هشدار Realtime Database ، ایمیلی دریافت خواهد کرد. ایمیل‌ها به آدرس‌های ایمیل شخصی ارسال می‌شوند (نه به گروه‌های حساب‌ها مانند گروه‌های گوگل یا حساب‌های گوگل ورک‌اسپیس).

روشن/خاموش کردن هشدارها برای حساب کاربری خودتان

برای حساب کاربری خودتان، می‌توانید هشدارهای Realtime Database را بدون تأثیر بر سایر اعضای پروژه فعال/غیرفعال کنید. توجه داشته باشید که برای دریافت هشدارها، همچنان به مجوزهای لازم نیاز دارید.

برای فعال یا غیرفعال کردن هشدارهای Realtime Database ، این مراحل را دنبال کنید:

  1. در کنسول Firebase ، در گوشه بالا سمت راست، به مسیر زیر بروید: هشدارهای فایربیس .
  2. سپس، به تنظیمات و اولویت حساب خود را برای هشدارهای Realtime Database تنظیم کنید.

نظارت بر میزان استفاده در کنسول Firebase

برای مشاهده اتصالات فعلی Realtime Database و میزان مصرف داده، به تب Usage در کنسول Firebase مراجعه کنید. می‌توانید میزان مصرف را در دوره صورتحساب فعلی، 30 روز گذشته یا 24 ساعت گذشته بررسی کنید.

فایربیس آمار استفاده را برای معیارهای زیر نشان می‌دهد:

  • اتصالات: تعداد اتصالات همزمان، در حال حاضر باز و بلادرنگ به پایگاه داده شما. این شامل اتصالات بلادرنگ زیر می‌شود: WebSocket، long polling و رویدادهای ارسال شده از سرور HTML. این شامل درخواست‌های RESTful نمی‌شود.
  • فضای ذخیره‌سازی: چه مقدار داده در پایگاه داده شما ذخیره می‌شود. این شامل میزبانی فایربیس یا داده‌های ذخیره شده از طریق سایر محصولات فایربیس نمی‌شود.
  • دانلودها: تمام بایت‌های دانلود شده از پایگاه داده شما، شامل سربار پروتکل و رمزگذاری.
  • بارگذاری: این نمودار نشان می‌دهد که چه مقدار از پایگاه داده شما در حال استفاده است و درخواست‌ها را در یک بازه زمانی ۱ دقیقه‌ای پردازش می‌کند. ممکن است با نزدیک شدن پایگاه داده به ۱۰۰٪، مشکلات عملکردی را مشاهده کنید.

تب قوانین (Rules) برای پایگاه داده بلادرنگ (Realtime Database) در کنسول فایربیس (Firebase).

علاوه بر این، کنسول Firebase یک داشبورد ارزیابی Firebase Security Rules ارائه می‌دهد که نمایی مفید و اجمالی از فراخوانی قوانین ارائه می‌دهد. همچنین می‌توانید از طریق Cloud Monitoring بر استفاده از Firebase Security Rules نظارت کنید. این ابزار همان معیارهای ارزیابی قوانین را به همراه امکان ساخت داشبوردهای سفارشی، تجزیه و تحلیل روندها و پیکربندی هشدارها (به عنوان مثال، هنگامی که درخواست‌های رد شده افزایش می‌یابند) ارائه می‌دهد. برای لیست کامل معیارهای موجود ، به مرجع معیارهای Cloud Monitoring مراجعه کنید.

برای اطلاعات بیشتر به بخش «نظارت بر قوانین امنیتی در Cloud Monitoring مراجعه کنید.

تب Usage برای Realtime Database در کنسول Firebase.

نظارت بر میزان استفاده با Cloud Monitoring

معیارهای استفاده

برای استفاده از Cloud Monitoring جهت نظارت بر میزان مصرف صورتحساب خود، معیارهای زیر را پیگیری کنید. توجه داشته باشید که نام همه نوع معیارها با پیشوند firebasedatabase.googleapis.com/ شروع می‌شود.

نام متریک توضیحات
تعداد بایت‌های بار مفید ارسالی

network/sent_payload_bytes_count . این معیار، اندازه داده‌های درخواستی از طریق عملیات پایگاه داده (شامل دریافت‌ها، پرس‌وجوها، نوشتن‌ها، به‌روزرسانی‌های شنونده‌های بلادرنگ و پخش‌ها) را نشان می‌دهد. این معیار شامل هیچ سربار اتصال (پروتکل یا رمزگذاری) نمی‌شود. `sent_payload_bytes_count` در هزینه‌های پهنای باند خروجی شما نقش دارد، اما کل هزینه‌های صورتحساب را در نظر نمی‌گیرد. این یک تخمین از داده‌های ارسال شده از پایگاه داده شما در پاسخ به درخواست‌ها است، اما از آنجایی که اندازه بار داده درخواستی را اندازه‌گیری می‌کند، نه داده‌هایی که واقعاً ارسال شده‌اند، ممکن است همیشه دقیق نباشد.

تعداد بایت‌های ارسالی و پروتکل ارسالی

network/sent_payload_and_protocol_bytes_count . این معیار، اندازه‌ی داده‌های payload که در بالا توضیح داده شد و سربار پروتکل مورد نیاز اتصال (برای مثال، هدرهای 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 را مشاهده کنید.

ایجاد یک فضای کاری مانیتورینگ ابری

برای نظارت بر Realtime Database با نظارت ابری، باید یک فضای کاری برای پروژه خود تنظیم کنید. یک فضای کاری، اطلاعات نظارت را از یک یا چند پروژه سازماندهی می‌کند. پس از تنظیم یک فضای کاری، می‌توانید داشبوردها و سیاست‌های هشدار سفارشی ایجاد کنید.

  1. صفحه نظارت بر ابر را باز کنید

    اگر پروژه شما از قبل بخشی از یک فضای کاری است، صفحه نظارت بر ابر باز می‌شود. در غیر این صورت، یک فضای کاری برای پروژه خود انتخاب کنید.

  2. گزینه فضای کاری جدید را انتخاب کنید یا یک فضای کاری موجود را انتخاب کنید.

  3. روی افزودن کلیک کنید. پس از ساخت فضای کاری، صفحه نظارت بر ابر باز می‌شود.

ایجاد داشبورد و اضافه کردن نمودار

معیارهای Realtime Database جمع‌آوری‌شده از Cloud Monitoring را در نمودارها و داشبوردهای خود نمایش دهید.

قبل از ادامه، مطمئن شوید که پروژه شما بخشی از یک فضای کاری Cloud Monitoring است.

  1. در صفحه نظارت بر فضای ابری، فضای کاری خود را باز کنید و به صفحه داشبوردها بروید.

    به صفحه داشبوردها بروید

  2. روی ایجاد داشبورد کلیک کنید و نام داشبورد را وارد کنید.

  3. در گوشه بالا سمت راست، روی «افزودن نمودار» کلیک کنید.

  4. در پنجره‌ی «افزودن نمودار» ، عنوان نمودار را وارد کنید. روی تب «متریک» کلیک کنید.

  5. در فیلد «یافتن نوع منبع و معیار» ، عبارت Firebase Realtime Database را وارد کنید. از منوی کشویی که به صورت خودکار پر می‌شود، یکی از معیارهای Realtime Database را انتخاب کنید.

  6. برای افزودن معیارهای بیشتر به همان نمودار، روی افزودن معیار کلیک کنید و مرحله قبل را تکرار کنید.

  7. در صورت نیاز، می‌توانید نمودار خود را سفارشی کنید. برای مثال، در فیلد فیلتر ، روی + افزودن فیلتر کلیک کنید. به پایین اسکرول کنید، سپس یک مقدار یا محدوده برای معیار مورد نظر خود که می‌خواهید نمودار را بر اساس آن فیلتر کنید، انتخاب کنید.

  8. روی ذخیره کلیک کنید.

برای اطلاعات بیشتر در مورد نمودارهای مانیتورینگ ابری، به بخش «کار با نمودارها» مراجعه کنید.

ایجاد یک سیاست هشداردهنده

شما می‌توانید بر اساس معیارهای Realtime Database ، یک سیاست هشدار ایجاد کنید. مراحل زیر را دنبال کنید تا یک سیاست هشدار ایجاد کنید که هر زمان که یک معیار خاص Realtime Database به آستانه خاصی برسد، به شما ایمیل ارسال کند.

قبل از ادامه، مطمئن شوید که پروژه شما بخشی از یک فضای کاری Cloud Monitoring است.

  1. در صفحه نظارت بر فضای ابری، فضای کاری خود را باز کنید و به صفحه هشدارها بروید.

    به صفحه ایجاد سیاست هشدار جدید بروید

  2. روی ایجاد خط‌مشی کلیک کنید.

  3. یک نام برای سیاست هشدار خود وارد کنید.

  4. بر اساس یکی از معیارهای Realtime Database ، یک وضعیت هشدار اضافه کنید. روی افزودن وضعیت کلیک کنید.

  5. یک هدف انتخاب کنید. در فیلد « یافتن نوع منبع و معیار» ، عبارت «پایگاه داده‌ی زمان واقعی» (Realtime Database ) را وارد کنید. از منوی کشویی که به صورت خودکار پر می‌شود، یکی از معیارهای Realtime Database را انتخاب کنید.

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

  7. یک کانال اعلان به سیاست هشدار خود اضافه کنید. در قسمت اعلان‌ها ، روی افزودن کانال اعلان کلیک کنید. ایمیل را از منوی کشویی انتخاب کنید.

  8. ایمیل خود را در فیلد آدرس ایمیل وارد کنید. روی افزودن کلیک کنید.

  9. در صورت تمایل، فیلد مستندات را پر کنید تا اطلاعات اضافی در اعلان ایمیل شما لحاظ شود.

  10. روی ذخیره کلیک کنید.

اگر میزان استفاده از Realtime Database شما از آستانه پیکربندی شده فراتر رود، یک هشدار ایمیل دریافت خواهید کرد.

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

قدم بعدی چیست؟