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