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

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

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

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

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

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

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

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

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

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

लॉग के लिए अपने डेटा के इस्तेमाल पर नज़र रखना

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

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

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

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

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

  • असली उपयोगकर्ताओं के अनुरोधों की स्थिति क्या है?
    आपके पास हर अनुरोध का स्टेटस देखने का विकल्प होता है. साथ ही, उन अनुरोधों का भी विश्लेषण किया जा सकता है जिनमें गड़बड़ियां मिलती हैं. अपने लॉग को 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 डेटा को, BigQuery में एक्सपोर्ट किए गए अन्य Firebase डेटा के साथ जोड़ें और उस पर नए तरीके से क्वेरी करें.