अपने Firebase प्रोजेक्ट को Cloud Logging से लिंक किया जा सकता है. इससे, अपनी हर Hosting साइट के लिए, वेब अनुरोध के लॉग देखे, खोजे, और फ़िल्टर किए जा सकते हैं. ये लॉग, Firebase के ज़रिए अपने-आप उपलब्ध कराए जाने वाले सीडीएन से मिलते हैं. इसलिए, आपकी साइट पर किए गए हर अनुरोध और उससे जुड़े अनुरोध के डेटा को लॉग किया जाता है.
Cloud Logging लॉग की मदद से, ये काम किए जा सकते हैं. इनके बारे में ज़्यादा जानने के लिए, इस पेज के हर सेक्शन पर जाएं.
अपनी साइट के बारे में बेहतर तरीके से समझना — यह जानें कि आपकी साइट पर विज़िटर कहां से और कब आते हैं, आपकी साइट के रिस्पॉन्स स्टेटस क्या हैं, असली उपयोगकर्ताओं के अनुरोधों में कितनी देरी होती है वगैरह.
क्वेरी की मदद से अपने लॉग फ़िल्टर करना — हर अनुरोध या आपकी साइट से जुड़े डेटा को फ़िल्टर करने और प्लॉट करने के लिए, अपने-आप इकट्ठा हुए डेटा का इस्तेमाल करें.
लॉग पर आधारित मेट्रिक का इस्तेमाल करना — पहले से तय की गई सिस्टम मेट्रिक या उपयोगकर्ता की तय की गई मेट्रिक की मदद से, Cloud Monitoring के चार्ट और चेतावनियां देने वाली नीतियां बनाएं.
लॉग को अन्य Google Cloud टूल में एक्सपोर्ट करना — ज़्यादा बेहतर तरीके से विश्लेषण करने और कोरिलेशन के लिए, लॉग डेटा का इस्तेमाल अन्य टूल (जैसे, BigQuery और Data Studio) में करें.
अगर आपके प्रोजेक्ट में एक से ज़्यादा Hosting साइटें हैं, तो यह चुना जा सकता है कि आपकी किन Hosting साइटों के लॉग एक्सपोर्ट किए जाएंगे. इसके बाद, अपनी साइट और डोमेन के हिसाब से, लॉग डेटा को फ़िल्टर और देखा जा सकता है.Hosting लॉग एक्सपोर्ट करने के लिए, खास Hosting साइटें चुनकर, अपने प्रोजेक्ट के लिए प्रोसेस किए जाने वाले डेटा की मात्रा को भी कंट्रोल किया जा सकता है.
Cloud Logging से लिंक करना और अपने डेटा खर्च की निगरानी करना
Cloud Logging से लिंक करना और वेब अनुरोध के लॉग एक्सपोर्ट करना
Firebase console में, Cloud Logging इंटिग्रेशन कार्ड में मौजूद लिंक करें पर क्लिक करें.
Cloud Logging को लिंक या अनलिंक करने के लिए, आपके पास इनमें से किसी भी भूमिका से जुड़ी अनुमतियां होनी चाहिए: प्रोजेक्ट का मालिक या एडिटर या Firebase का डेवलपर एडमिन.
स्क्रीन पर दिए गए निर्देशों का पालन करके, यह चुनें कि आपकी किन Hosting साइटों के लॉग, Cloud Logging में एक्सपोर्ट किए जाने चाहिए.
अगर आपके पास पहले से ही एक या उससे ज़्यादा चालू Hosting साइटें हैं, तो लिंक करने के वर्कफ़्लो में, आपकी हर Hosting साइट के लॉग के लिए, डेटा खर्च के अनुमानित लेवल की जानकारी दिखती है. यह वैल्यू, पिछले 30 दिनों के डेटा के आधार पर अनुमानित होती है.
Cloud Logging से लिंक करने के बाद, आपकी Hosting साइटों पर किए गए नए अनुरोधों के लॉग, आम तौर पर अनुरोध किए जाने के 30 मिनट के अंदर दिख जाते हैं.
आप को Firebase Hosting से Cloud Logging अलग भी कर सकते हैं. इससे, वेब के अनुरोध के लॉग, Cloud Logging में एक्सपोर्ट नहीं किए जाते.
लॉग के लिए, अपने डेटा खर्च की निगरानी करें
Cloud Logging से लिंक करने के बाद, अपनी Hosting साइटों के लॉग के लिए, डेटा खर्च का लेवल देखा जा सकता है:
Cloud Logging इंटिग्रेशन कार्ड Firebase console में
में, Logs Viewer इंटरफ़ेस Google Cloud कंसोल में (
log_bytesमेट्रिक)
अपनी साइट के बारे में बेहतर तरीके से समझना
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 Cloud Monitoring का इस्तेमाल करके, खास मैसेज वाली लॉग एंट्री की संख्या रिकॉर्ड की जा सकती है. इसके अलावा, लॉग एंट्री में रिपोर्ट की गई लेटेन्सी की जानकारी भी निकाली जा सकती है. इसके बाद, चार्ट और चेतावनियां देने वाली नीतियों में इन मेट्रिक का इस्तेमाल किया जा सकता है.
Firebase Hosting निम्नलिखित Hosting के लिए खास लॉगिंग मेट्रिक भी जनरेट करता है. ये मेट्रिक, किसी लॉग एंट्री के लिए खास नहीं होती हैं. बल्कि, ये पूरी Hosting साइट के लिए होती हैं.
log_bytes: हर साइट के लिए, डेटा खर्च की कुल बाइटresponse_count: साइट के लिए लिखे गए रिस्पॉन्स की कुल संख्याइस मेट्रिक में, एचटीटीपी स्टेटस का फ़ील्ड शामिल होता है. इसलिए, एचटीटीपी रिस्पॉन्स को स्टेटस के हिसाब से प्लॉट किया जा सकता है (उदाहरण के तौर पर).
लॉग को अन्य Google Cloud टूल में एक्सपोर्ट करना
अपनी साइट के लॉग को अन्य Google Cloud टूल में भी एक्सपोर्ट किया जा सकता है. जैसे, Cloud Monitoring या BigQuery. उदाहरण के लिए:
BigQuery का इस्तेमाल करके, इनमें से कोई भी काम किया जा सकता है:
- Data Studio का इस्तेमाल करके, अपने Hosting डेटा के डैशबोर्ड जनरेट करना.
- क्वेरी चलाकर, अपने अनुरोधों के बारे में ज़्यादा जानकारी पाना (रिस्पॉन्स का औसत साइज़, कैश हिट बनाम कैश मिस वगैरह).
- यह जानना कि आपके उपयोगकर्ता असल में किन यूआरएल का अनुरोध करते हैं.
- अपने Hosting डेटा को, Firebase के अन्य डेटा के साथ जोड़ना. इसके बाद, इसे BigQuery में एक्सपोर्ट करना और नए तरीकों से क्वेरी करना.