گزارش های درخواست وب سایت خود را با Cloud Logging مشاهده، جستجو و فیلتر کنید

شما می‌توانید پروژه Firebase خود را به Cloud Logging پیوند دهید تا گزارش‌های درخواست وب خود را برای هر یک از سایت‌های Hosting خود مشاهده، جستجو و فیلتر کنید. این گزارش‌ها از CDN که به طور خودکار توسط Firebase ارائه می‌شود، تهیه می‌شوند، بنابراین هر درخواست به سایت شما و داده‌های درخواست مرتبط با آن ثبت می‌شوند.

در اینجا برخی از کارهایی که باید با گزارش‌های Cloud Logging انجام دهید، آورده شده است. برای کسب اطلاعات بیشتر، از هر بخش از این صفحه دیدن کنید.

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

  1. روی لینک در کارت ادغام Cloud Logging در کنسول Firebase کلیک کنید.

    برای اتصال یا قطع اتصال Cloud Logging ، به مجوزهایی که در هر یک از نقش‌های زیر وجود دارد نیاز دارید: مالک یا ویرایشگر پروژه یا مدیر توسعه Firebase .

  2. دستورالعمل‌های روی صفحه را دنبال کنید تا انتخاب کنید کدام یک از سایت‌های Hosting شما باید گزارش‌ها را به Cloud Logging صادر کنند.

    اگر از قبل یک یا چند سایت Hosting فعال دارید، گردش کار پیوند، میزان مصرف داده تخمینی را برای گزارش‌های هر یک از سایت‌های Hosting شما نمایش می‌دهد. این مقدار از 30 روز گذشته تخمین زده شده است.

پس از اتصال به Cloud Logging ، گزارش‌های مربوط به هرگونه درخواست جدید به سایت‌های Hosting شما معمولاً ظرف 30 دقیقه پس از ارسال درخواست نمایش داده می‌شوند.

همچنین می‌توانید Firebase Hosting از Cloud Logging جدا کنید، که این کار صادرات گزارش‌های درخواست وب به Cloud Logging را متوقف می‌کند.

نظارت بر میزان مصرف داده برای گزارش‌ها

پس از اتصال به Cloud Logging ، می‌توانید سطح استفاده از داده برای گزارش‌های سایت‌های Hosting خود را مشاهده کنید:

سایت خود را بهتر بشناسید

رابط کاربری Logs Viewer در کنسول Google Cloud ابزارهایی را برای مشاهده گزارش‌ها و داده‌های خاص شما با استفاده از کوئری‌ها و فیلترهای داخلی و پنل‌های داده ارائه می‌دهد. در بخش بعدی در زیر درباره فیلتر کردن گزارش‌های خود با کوئری‌ها بیشتر بیاموزید.

  • ترافیک سایت شما به صورت جزئی از کجا می‌آید؟
    شما می‌توانید اطلاعات مربوط به هر درخواست، از جمله IP منبع، ارجاع‌دهنده، شهر و وضعیت را مشاهده کنید.

  • کاربران چه زمانی از سایت شما بازدید می‌کنند؟
    شما می‌توانید از پنل هیستوگرام برای مشاهده توزیع بر اساس بازه‌های زمانی خاص استفاده کنید. این می‌تواند به شما بینشی در مورد اوج و فرودهای معمول استفاده از برنامه‌تان بدهد و همچنین هرگونه افزایش غیرمنتظره در ترافیک را آشکار کند.

  • توزیع وضعیت درخواست‌های کاربر نهایی چگونه است؟
    شما می‌توانید وضعیت هر درخواست را مشاهده کنید و حتی درخواست‌هایی که خطا دریافت می‌کنند را تشخیص دهید. می‌توانید گزارش‌های خود را بر اساس Critical ، Error یا Warning فیلتر کنید.

  • چقدر طول می‌کشد تا سایت شما به یک درخواست پاسخ دهد؟
    شما می‌توانید با استفاده از مقدار latency ثبت‌شده در هر گزارش، تأخیر سایت خود را برای هر درخواست مشاهده کنید.

  • آیا سایت شما از قابلیت ذخیره‌سازی محتوا (cache) بهره می‌برد؟
    هر لاگ شامل یک فیلد cacheHit است که به شما می‌گوید آیا منبع سایت شما به سرعت از حافظه پنهان CDN Hosting ارائه شده است یا اینکه مجبور بوده است کل مسیر را به بک‌اند Hosting طی کند. این می‌تواند به شما کمک کند تا با استفاده حداکثری از CDN سراسری فایربیس، عملکرد وب‌سایت خود را بهبود بخشید. به عنوان مثال، می‌توانید از این داده‌ها برای تنظیم دقیق عادات ذخیره‌سازی فایل‌های استاتیک و محتوای پویای خود استفاده کنید.

  • توزیع ترافیک در دامنه‌های مختلف شما چگونه است؟
    اگر چندین دامنه یا سایت Hosting دارید، می‌توانید گزارش‌های خود را بر اساس دامنه یا سایت فیلتر کنید. این به شما امکان می‌دهد نحوه توزیع ترافیک خود را ببینید. وقتی بر اساس دامنه فیلتر می‌کنید، می‌توانید پیگیری کنید که کدام دامنه بیشتر بازدید می‌شود.

فیلتر کردن لاگ‌ها با استفاده از کوئری‌ها

برای آشنایی با نحوه فیلتر کردن گزارش‌های خود با استفاده از کوئری‌ها، به نمونه‌هایی از کوئری‌ها با استفاده از Logs Viewer و Building log queries مراجعه کنید. جدول زیر فیلدهای موجود برای این کوئری‌ها را شرح می‌دهد.

برای Hosting ، در اینجا چند فیلتر اولیه برای یک پرس و جو آورده شده است:

  • منبع ( resource.type ) — firebase_domain (دامنه سایت Firebase Hosting )
  • نام لاگ ( logName ) — webrequests ( Firebase Hosting )

هر ورودی لاگ دارای یک ساختار از پیش تعریف شده و فیلدهای قابل پرس و جو است (به LogEntry مراجعه کنید). برای Hosting ، برخی از فیلدها برای یک درخواست HTTP استاندارد هستند، اما مقادیر فیلدهای دیگری نیز وجود دارند که از پردازشی که Hosting روی هر درخواست اجرا می‌کند، حاصل می‌شوند.

میدان توضیحات
Firebase Hosting فیلدهای زیر را در شیء httpRequest از ورودی لاگ ذخیره می‌کند.
این فیلدها در مشخصات HTTP تعریف شده‌اند.
cacheHit اینکه آیا CDN Hosting ، منبع پاسخ را در حافظه پنهان (cache) داشته است یا خیر.
latency مدت زمان درخواست، بر حسب ثانیه با پسوند s (برای مثال، 1.256s )
protocol پروتکل مورد استفاده برای درخواست (برای مثال، HTTP/1.1 ، HTTP/2 ، websocket )
referer آدرس صفحه وب قبلی که از آن پیوندی به صفحه درخواستی فعلی دنبال شده است (در صورت وجود)
remoteIp IP کلاینت مبدا برای درخواست
requestMethod روش درخواست ( GET ، POST ، PUT و غیره)
requestSize اندازه درخواست بر حسب بایت
requestUrl آدرس اینترنتی کامل درخواست (برای مثال،
https://foo.web.app/bar یا https://custom.domain.com?query=param )
responseSize اندازه پاسخ HTTP بر حسب بایت
serverIp پرجمعیت نیست
status وضعیت پاسخ HTTP (برای مثال، 200 یا 404 )
userAgent هدر user-Agent درخواست
Firebase Hosting فیلدهای اضافی را در شیء jsonPayload از ورودی گزارش ذخیره می‌کند.
acceptEncoding (از درخواست HTTP) کلاینت از کدام کدگذاری محتوا، معمولاً یک الگوریتم فشرده‌سازی، پشتیبانی می‌کند (برای مثال، gzip یا compress )
billable اینکه آیا هزینه درخواست شما برای پروژه محاسبه شده است یا خیر
customDomain اینکه آیا درخواست علیه یک دامنه سفارشی انجام شده است یا خیر
hostname نام میزبانی که درخواست علیه آن ارسال شده است
remoteIpCountry کشور مبدا درخواست
remoteIpCity شهر مبدا درخواست

از معیارهای مبتنی بر لاگ استفاده کنید

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

  • از معیارهای از پیش تعریف‌شده سیستم که به‌طور خودکار ثبت می‌شوند، مانند تعداد رویدادهای ثبت‌شده که در یک دوره زمانی خاص رخ داده‌اند، استفاده کنید.

  • معیارهای تعریف‌شده توسط کاربر را برای پروژه خود ایجاد کنید. می‌توانید تعداد ورودی‌های لاگ که با یک پرس‌وجوی مشخص مطابقت دارند را بشمارید یا مقادیر خاص را با ورودی‌های لاگ منطبق پیگیری کنید. می‌توانید با استفاده از عبارات منظم فیلتر کنید.

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

Firebase Hosting همچنین معیارهای ثبت وقایع مختص Hosting زیر را تولید می‌کند. این معیارها مختص یک ورودی گزارش نیستند، بلکه به طور کلی به یک سایت Hosting خاص مربوط می‌شوند.

  • log_bytes : کل بایت‌های مصرف داده برای هر سایت

  • response_count : تعداد کل پاسخ‌های نوشته شده برای سایت

    این معیار شامل فیلد وضعیت HTTP است، بنابراین می‌توانید پاسخ‌های HTTP را بر اساس وضعیت (به عنوان مثال) ترسیم کنید.

صادر کردن گزارش‌ها به سایر ابزارهای Google Cloud

همچنین می‌توانید گزارش‌های سایت خود را به سایر ابزارهای Google Cloud ، مانند Cloud Monitoring یا BigQuery، صادر کنید، به عنوان مثال:

  • با استفاده از Cloud Monitoring ، می‌توانید معیارهای مبتنی بر گزارش ایجاد کنید که می‌توانید در نمودارها و سیاست‌های هشداردهی از آنها استفاده کنید.

  • با استفاده از BigQuery می‌توانید هر یک از موارد زیر را انجام دهید:

    • از Data Studio برای ایجاد داشبوردهایی از داده‌های Hosting خود استفاده کنید.
    • برای کسب اطلاعات بیشتر در مورد درخواست‌های خود (میانگین اندازه پاسخ، تعداد بازدیدها در حافظه پنهان در مقابل تعداد بازدیدهای ناموفق و غیره) کوئری‌ها را اجرا کنید.
    • بفهمید که کاربران شما واقعاً کدام URLها را درخواست می‌کنند.
    • داده‌های Hosting خود را با سایر داده‌های فایربیس که به بیگ‌کوئری صادر کرده‌اید ترکیب کنید و به روش‌های جدید از آنها پرس‌وجو کنید.