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

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

यहां कुछ ऐसी चीज़ों के बारे में बताया गया है जो आप क्लाउड लॉगिंग लॉग के साथ करते हैं. इस पेज के हर सेक्शन पर जाकर ज़्यादा जानकारी पाएं.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

फ़ील्ड जानकारी
Firebase होस्टिंग की सेवा, इन फ़ील्ड को लॉग एंट्री के httpRequest ऑब्जेक्ट में सेव करती है.
इन फ़ील्ड के बारे में एचटीटीपी स्पेसिफ़िकेशन में बताया गया है.
cacheHit होस्ट करने वाले सीडीएन के पास कैश मेमोरी में रिस्पॉन्स का संसाधन था या नहीं
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 होस्टिंग, लॉग एंट्री के jsonPayload ऑब्जेक्ट में अतिरिक्त फ़ील्ड सेव करता है.
acceptEncoding (एचटीटीपी अनुरोध से) क्लाइंट किस कॉन्टेंट एन्कोडिंग के साथ काम करता है, आम तौर पर यह एक कंप्रेशन एल्गोरिदम है (उदाहरण के लिए, gzip या compress)
billable आपके प्रोजेक्ट के लिए अनुरोध का बिल भेजा गया था या नहीं
customDomain अनुरोध, कस्टम डोमेन के लिए किया गया है या नहीं
hostname वह होस्टनेम जिसके लिए अनुरोध किया गया था
remoteIpCountry अनुरोध का मूल देश
remoteIpCity अनुरोध का मूल शहर

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

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

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

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

  • खास मैसेज वाली लॉग एंट्री की संख्या रिकॉर्ड करने या लॉग एंट्री में इंतज़ार के समय की जानकारी एक्सट्रैक्ट करने के लिए, क्लाउड मॉनिटरिंग का इस्तेमाल करें. फिर इन मेट्रिक का इस्तेमाल चार्ट और सूचना देने वाली नीतियों में किया जा सकता है.

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

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

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

    इस मेट्रिक में एचटीटीपी स्थिति का फ़ील्ड शामिल होता है. इसलिए, उदाहरण के तौर पर, स्थिति के हिसाब से एचटीटीपी रिस्पॉन्स दिखाए जा सकते हैं.

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

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

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

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

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