क्लाउड लॉगिंग से अपनी साइट के वेब अनुरोध लॉग देखें, खोजें और फ़िल्टर करें

आपके पास अपने Firebase प्रोजेक्ट को Cloud Logging से लिंक करने का विकल्प होता है. इससे, इन सुविधाओं को देखने, खोजने, और अपनी हर Hosting साइट के लिए अपने वेब अनुरोध लॉग को फ़िल्टर करें. ये लॉग हैं को Firebase से अपने-आप उपलब्ध कराया जाता है. इसलिए, आपके साइट और उससे जुड़े अनुरोध का डेटा लॉग किया जाता है.

Cloud Logging के लॉग का इस्तेमाल करके, ये काम किए जा सकते हैं. ज़्यादा जानकारी के लिए, इस पेज के हर सेक्शन पर जाएं.

अगर आपके प्रोजेक्ट में एक से ज़्यादा Hosting साइटें हैं, तो इनमें से वह साइट चुनें आपकी Hosting साइटें लॉग एक्सपोर्ट करेंगी. इसके बाद, Hosting साइट और डोमेन के हिसाब से अपने लॉग डेटा को फ़िल्टर करके देखा जा सकता है. खास Hosting को चुनकर साइटों का लॉग एक्सपोर्ट करना है, तो आपके पास यह कंट्रोल करने का विकल्प भी है कि प्रोजेक्ट.

  1. Cloud Logging में जाकर, लिंक करें पर क्लिक करें इंटिग्रेशन कार्ड Firebase कंसोल में कर सकते हैं.

    Cloud Logging को लिंक या अनलिंक करने के लिए, आपके पास इनमें से किसी भी भूमिका के लिए दी गई अनुमतियां होनी चाहिए: प्रोजेक्ट का मालिक या एडिटर या Firebase Develop एडमिन.

  2. अपनी Hosting साइटों में से किस साइट को चुनने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें लॉग को Cloud Logging में एक्सपोर्ट करना चाहिए.

    अगर आपकी एक या उससे ज़्यादा Hosting साइटें पहले से चालू हैं, तो लिंक की जा रही है वर्कफ़्लो में आपके हर ऐप्लिकेशन के लॉग के लिए, डेटा खर्च का अनुमानित लेवल दिखाया जाता है Hosting साइटें. इस वैल्यू का अनुमान पिछले 30 दिनों के आधार पर लगाया जाता है.

Cloud Logging से लिंक करने के बाद, आपकी Hosting साइटों पर किए गए किसी भी नए अनुरोध के लॉग, आम तौर पर अनुरोध किए जाने के 30 मिनट के अंदर दिखेंगे.

Cloud Logging से Firebase Hosting को अनलिंक भी किया जा सकता है. इससे, Cloud Logging में वेब अनुरोध लॉग एक्सपोर्ट होने बंद हो जाते हैं.

लॉग के लिए, अपने डेटा खर्च को मॉनिटर करना

Cloud Logging से लिंक करने के बाद, लॉग के लिए डेटा खर्च का लेवल देखा जा सकता है आपकी Hosting साइट से:

अपनी साइट को बेहतर तरीके से समझना

कॉन्टेंट बनाने Logs Viewer इंटरफ़ेस Google Cloud कंसोल में, आपको खास लॉग और डेटा देखने के लिए टूल मिलते हैं और पहले से मौजूद फ़िल्टर और डेटा पैनल का इस्तेमाल करके. फ़िल्टर करने के बारे में ज़्यादा जानें नीचे दिए गए अगले सेक्शन में क्वेरी के साथ अपने लॉग देखें.

  • अलग-अलग स्तर पर, आपकी साइट पर ट्रैफ़िक कहां से आ रहा है?
    हर अनुरोध की जानकारी देखी जा सकती है. इसमें सोर्स आईपी, रेफ़रर, शहर, और स्थिति.

  • उपयोगकर्ता आपकी साइट पर कब आते हैं?
    किसी तय समयसीमा के हिसाब से डिस्ट्रिब्यूशन देखने के लिए, हिस्टोग्राम पैनल का इस्तेमाल किया जा सकता है. इससे आपको अपने ऐप्लिकेशन के इस्तेमाल में होने वाले सामान्य उतार-चढ़ावों के बारे में अहम जानकारी मिल सकती है. साथ ही, ट्रैफ़िक में अचानक होने वाली बढ़ोतरी के बारे में भी पता चल सकता है.

  • असली उपयोगकर्ताओं के अनुरोधों की स्थिति क्या है?
    आपके पास हर अनुरोध का स्टेटस देखने का विकल्प होता है. साथ ही, उन अनुरोधों का भी विश्लेषण किया जा सकता है जिनमें गड़बड़ियां मिलती हैं. अपने लॉग को Critical, Error या Warning के हिसाब से फ़िल्टर किया जा सकता है.

  • आपकी साइट को किसी अनुरोध का जवाब देने में कितना समय लगता है?
    latency का इस्तेमाल करके, हर अनुरोध के लिए साइट को लोड होने में लगने वाला समय देखा जा सकता है हर लॉग में कैप्चर की गई वैल्यू.

  • क्या आपकी साइट, कॉन्टेंट कैश करने की सुविधा का फ़ायदा ले रही है?
    हर लॉग में एक cacheHit फ़ील्ड होता है. इससे आपको यह पता चलता है कि आपकी साइट का संसाधन, Hosting के सीडीएन कैश मेमोरी से तुरंत दिखाया गया था या उसे Hosting के बैकएंड पर पूरी तरह से ट्रिप करना पड़ा था. इससे आपको अपनी वेबसाइट के Firebase के ग्लोबल सीडीएन का ज़्यादा से ज़्यादा फ़ायदा पाकर, बेहतर परफ़ॉर्मेंस हासिल करें. उदाहरण के लिए, स्टैटिक ऐसेट और डाइनैमिक कॉन्टेंट को कैश मेमोरी में सेव करने की सुविधा को बेहतर बनाने के लिए, इस डेटा का इस्तेमाल किया जा सकता है.

  • आपके अलग-अलग डोमेन पर ट्रैफ़िक का बंटवारा क्या है?
    अगर आपके पास एक से ज़्यादा डोमेन या Hosting साइटें हैं, तो अपने लॉग को डोमेन या साइट के हिसाब से फ़िल्टर किया जा सकता है. इसकी मदद से, यह देखा जा सकता है कि आपकी वेबसाइट पर उपलब्ध हैं. डोमेन के हिसाब से फ़िल्टर करके, यह ट्रैक किया जा सकता है कि कौनसा डोमेन सबसे ज़्यादा बार विज़िट किए गए.

क्वेरी के हिसाब से लॉग फ़िल्टर करें

अपने लॉग को क्वेरी के साथ फ़िल्टर करने का तरीका जानने के लिए, यहां जाएं लॉग व्यूअर का इस्तेमाल करके की गई क्वेरी के सैंपल और बिल्डिंग लॉग क्वेरी. यहां दी गई टेबल में, उन क्वेरी के लिए उपलब्ध फ़ील्ड के बारे में बताया गया है.

Hosting के लिए, यहां किसी क्वेरी के लिए कुछ शुरुआती फ़िल्टर दिए गए हैं:

  • संसाधन (resource.type) — firebase_domain (Firebase Hosting साइट डोमेन)
  • लॉग नाम (logName) — webrequests (Firebase Hosting)

हर लॉग एंट्री का एक पहले से तय स्ट्रक्चर और क्वेरी करने लायक फ़ील्ड होता है (देखें LogEntry). Hosting के लिए, कुछ फ़ील्ड एचटीटीपी अनुरोध के लिए स्टैंडर्ड होते हैं, लेकिन कुछ फ़ील्ड ऐसे भी होते हैं अन्य फ़ील्ड वैल्यू, जो हर एक पर Hosting की प्रोसेस से आती हैं अनुरोध.

फ़ील्ड जानकारी
Firebase Hosting, लॉग एंट्री के httpRequest ऑब्जेक्ट में ये फ़ील्ड सेव करता है.
इन फ़ील्ड के बारे में एचटीटीपी स्पेसिफ़िकेशन में बताया गया है.
cacheHit Hosting सीडीएन के पास रिस्पॉन्स का संसाधन था या नहीं कैश मेमोरी
latency अनुरोध की अवधि, s पोस्टफ़िक्स के साथ सेकंड में (इसके लिए उदाहरण, 1.256s)
protocol अनुरोध के लिए इस्तेमाल किया जाने वाला प्रोटोकॉल (उदाहरण के लिए, HTTP/1.1, HTTP/2, websocket)
referer पिछले वेब पेज का पता, जहां से फ़िलहाल अनुरोध किया गया पेज फ़ॉलो किया गया था (अगर मौजूद है)
remoteIp अनुरोध करने वाले क्लाइंट का आईपी
requestMethod अनुरोध का तरीका (GET, POST, PUT वगैरह)
requestSize अनुरोध का साइज़ (बाइट में)
requestUrl अनुरोध का पूरा यूआरएल (उदाहरण के लिए,
https://foo.web.app/bar या https://custom.domain.com?query=param)
responseSize एचटीटीपी रिस्पॉन्स का साइज़, बाइट में
serverIp जानकारी नहीं भरी गई
status एचटीटीपी रिस्पॉन्स की स्थिति (उदाहरण के लिए, 200 या 404)
userAgent अनुरोध का उपयोगकर्ता-एजेंट हेडर
Firebase Hosting इसमें अतिरिक्त फ़ील्ड सेव करता है: इसका jsonPayload ऑब्जेक्ट लॉग एंट्री.
acceptEncoding (एचटीटीपी अनुरोध से) किस तरह की कॉन्टेंट एन्कोडिंग, आम तौर पर कंप्रेशन एल्गोरिदम, क्लाइंट इस्तेमाल किया जा सकता है (उदाहरण के लिए, gzip या compress)
billable अनुरोध के लिए आपके प्रोजेक्ट को बिल भेजा गया है या नहीं
customDomain अनुरोध, कस्टम डोमेन के ख़िलाफ़ किया गया है या नहीं
hostname वह होस्टनेम जिसके लिए अनुरोध किया गया था
remoteIpCountry वह देश जहां से अनुरोध किया गया है
remoteIpCity वह शहर जहां से अनुरोध किया गया है

लॉग पर आधारित मेट्रिक का इस्तेमाल करना

लॉग पर आधारित मेट्रिक देखी और बनाई जा सकती हैं. इसके बाद, चार्ट और सूचना देने वाली नीतियां बनाने के लिए, Cloud Monitoring में इन मेट्रिक का इस्तेमाल किया जा सकता है.

  • फ़ायदा पहले से तय सिस्टम मेट्रिक जो अपने-आप रिकॉर्ड हो जाती हैं. जैसे, लॉग इन करने वाले इवेंट की संख्या किसी ख़ास समयावधि में हुआ.

  • नया कॉन्टेंट बनाएं उपयोगकर्ता की तय की गई मेट्रिक आपके प्रोजेक्ट के लिए. किसी क्वेरी से मैच करने वाली लॉग एंट्री की संख्या गिनी जा सकती है. इसके अलावा, मैच करने वाली लॉग एंट्री की मदद से खास वैल्यू का ट्रैक भी रखा जा सकता है. रेगुलर एक्सप्रेशन का इस्तेमाल करके, डेटा को फ़िल्टर किया जा सकता है.

  • Cloud Monitoring का इस्तेमाल करके विशेष संदेशों वाली लॉग एंट्री की संख्या रिकॉर्ड करें या निकालें लॉग एंट्री में इंतज़ार के समय की जानकारी. इसके बाद, इन मेट्रिक का इस्तेमाल से जुड़ी नीतियों के बारे में ज़्यादा जानें.

Firebase Hosting, Hosting के लिए इस लॉग को भी जनरेट करता है मेट्रिक. ये मेट्रिक किसी लॉग एंट्री के लिए नहीं, बल्कि खास Hosting साइट पर.

  • log_bytes: हर साइट के लिए, डेटा खर्च की कुल बाइट

  • response_count: साइट के लिए लिखे गए जवाबों की कुल संख्या

    इस मेट्रिक में एचटीटीपी स्टेटस वाला फ़ील्ड शामिल होता है. इसलिए, आपके पास एचटीटीपी रिस्पॉन्स को प्लॉट करने का विकल्प होता है का उपयोग करें (उदाहरण के लिए).

लॉग को दूसरे Google Cloud टूल में एक्सपोर्ट करना

अपनी साइट के लॉग को Google Cloud या BigQuery जैसे अन्य Cloud Monitoring टूल में भी एक्सपोर्ट किया जा सकता है. उदाहरण के लिए:

  • Cloud Monitoring का इस्तेमाल करके, लॉग-आधारित मेट्रिक बनाई जा सकती हैं. इनका इस्तेमाल चार्ट में और की नीतियों के बारे में ज़्यादा जानें.

  • BigQuery का इस्तेमाल करके, इनमें से कोई भी काम किया जा सकता है निम्न:

    • अपने Hosting डेटा के डैशबोर्ड जनरेट करने के लिए, Data Studio का इस्तेमाल करें.
    • अपने अनुरोधों के बारे में ज़्यादा जानकारी पाने के लिए क्वेरी चलाएं. जैसे, जवाब का औसत साइज़, कैश मेमोरी में हिट बनाम मिस वगैरह.
    • जानें कि आपके उपयोगकर्ता असल में किन यूआरएल के लिए अनुरोध करते हैं.
    • अपने Hosting डेटा को, ऐसे दूसरे Firebase डेटा के साथ जोड़ें जिनमें आपने एक्सपोर्ट किया था BigQuery और नए तरीकों से क्वेरी करें.