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

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

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

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

  1. Firebase console में, Cloud Logging इंटिग्रेशन कार्ड में मौजूद लिंक करें पर क्लिक करें.

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

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

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

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

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

लॉग के लिए, अपने डेटा के इस्तेमाल की निगरानी करना

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

अपनी साइट के बारे में ज़्यादा जानकारी पाना

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

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

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

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

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

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

  • response_count: साइट के लिए लिखे गए रिस्पॉन्स की कुल संख्या

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

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

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