रीफ़्रेश करने की तारीख: 06-01-2023
Google Cloud आपको ऐसे टूल देता है जिनकी मदद से, Google Cloud Monitoring के साथ अपने प्रोजेक्ट की विश्वसनीयता को मॉनिटर किया जा सकता है. साथ ही, Google Cloud Logging गड़बड़ी के लॉग से, समस्याओं को डीबग किया जा सकता है. उपयोगकर्ता के इंटेंट पूरा करने पर जब भी कोई गड़बड़ी होती है, तो Google Home Analytics पाइपलाइन उस गड़बड़ी को आपकी मेट्रिक पर रिकॉर्ड कर लेता है. साथ ही, आपके प्रोजेक्ट लॉग में गड़बड़ी का लॉग पब्लिश कर देता है.
गड़बड़ियों को ठीक करने के दो तरीके हैं:
- स्मार्ट होम मेट्रिक की मदद से, अपने प्रोजेक्ट की स्थिति पर नज़र बनाए रखें.
- गड़बड़ी लॉग में गड़बड़ी की पूरी जानकारी देखकर, समस्याओं की जांच करें.
निगरानी से जुड़ी गड़बड़ियां
अपने प्रोजेक्ट की मेट्रिक ऐक्सेस करने के लिए, Google Cloud Monitoring dashboard का इस्तेमाल किया जा सकता है. यहां कुछ ऐसे अहम चार्ट दिए गए हैं जो क्वालिटी मॉनिटर करने और डीबग करने के लिए खास तौर पर काम के हैं:
- सफलता की दर वाला चार्ट, अपने प्रोजेक्ट की विश्वसनीयता पर नज़र रखने के दौरान शुरू होने वाला पहला चार्ट है. इस चार्ट में गिरावट दिखने से, आपके पूरे उपयोगकर्ता आधार या किसी हिस्से के लिए सेवा उपलब्ध होने में रुकावट आ सकती है. हमारा सुझाव है कि अपने प्रोजेक्ट में किए गए हर बदलाव या अपडेट के बाद, आप इस चार्ट पर नज़र रखें और देखें कि इसमें किसी भी तरह की गड़बड़ी तो नहीं है.
- गड़बड़ी का ब्रेकडाउन चार्ट तब सबसे ज़्यादा काम का होता है, जब इंटिग्रेशन की समस्याओं को हल करना हो. सफलता के प्रतिशत के चार्ट में हाइलाइट की गई हर गड़बड़ी के लिए, गड़बड़ी के ब्रेकडाउन में एक गड़बड़ी का कोड दिखाया जाता है. इस टेबल में, Google Home platform के ज़रिए फ़्लैग की गई गड़बड़ियां और उन्हें ठीक करने का तरीका देखा जा सकता है.
प्लैटफ़ॉर्म के गड़बड़ी कोड
यहां कुछ सामान्य गड़बड़ी के कोड दिए गए हैं जो आपको अपने प्रोजेक्ट लॉग में दिख सकते हैं. इनसे Google Home platform से मिली समस्याओं की पहचान की जा सकती है. समस्या हल करने के बारे में जानकारी के लिए, कृपया यहां दी गई टेबल देखें.
गड़बड़ी कोड | ब्यौरा |
---|---|
BACKEND_FAILURE_URL_ERROR |
Google को आपकी सेवा से, एचटीटीपी 4xx गड़बड़ी कोड के अलावा 401 कोड वाला कोई अन्य
कोड मिला है.
अपने स्मार्ट होम सर्विस लॉग देखने के लिए, GCP के लॉग इन में requestId का इस्तेमाल करें.
|
BACKEND_FAILURE_URL_TIMEOUT |
आपकी सेवा तक पहुंचने का प्रयास करते समय Google के अनुरोध का समय खत्म हो गया.
पुष्टि करें कि आपकी सेवा ऑनलाइन है, आपके साथ कनेक्शन इस्तेमाल किए जा रहे हैं, और उसकी क्षमता पूरी हो चुकी है. इसके अलावा, पुष्टि करें कि टारगेट डिवाइस चालू है, ऑनलाइन है, और सिंक है. |
BACKEND_FAILURE_URL_UNREACHABLE |
Google को आपकी सेवा से एक HTTP 5xx गड़बड़ी कोड मिला है.
अपने स्मार्ट होम सर्विस लॉग देखने के लिए, GCP के लॉग इन में requestId का इस्तेमाल करें.
|
DEVICE_NOT_FOUND |
डिवाइस, पार्टनर सेवा की ओर मौजूद नहीं है.
यह आम तौर पर, डेटा सिंक न होने या रेस की स्थिति को दिखाता है. |
GAL_BAD_3P_RESPONSE |
पेलोड में गलत फ़ॉर्मैट या वैल्यू की वजह से, Google खाता लिंक करने वाली सेवा से मिले रिस्पॉन्स को पार्स नहीं कर सकता.
खाता लिंक करने की सेवा में गड़बड़ी के लॉग देखने के लिए, GCP के लॉग इन में requestId का इस्तेमाल करें.
|
GAL_INTERNAL |
जब Google ने ऐक्सेस टोकन पाने की कोशिश की, तब
Google की कोई अंदरूनी गड़बड़ी हुई.
अगर आपको GCP लॉग करते समय इस गड़बड़ी की दर में बढ़ोतरी दिखती है, तो ज़्यादा जानकारी के लिए हमसे संपर्क करें. |
GAL_INVALID_ARGUMENT |
जब Google ने ऐक्सेस टोकन पाने की कोशिश की, तब
Google की कोई अंदरूनी गड़बड़ी हुई.
अगर आपको GCP लॉग करते समय इस गड़बड़ी की दर में बढ़ोतरी दिखती है, तो ज़्यादा जानकारी के लिए हमसे संपर्क करें. |
GAL_NOT_FOUND |
Google में सेव किए गए उपयोगकर्ता के ऐक्सेस टोकन और रीफ़्रेश टोकन
अमान्य हो गए हैं. इन्हें रीफ़्रेश नहीं किया जा सकता. आपकी सेवा का इस्तेमाल जारी रखने के लिए, उपयोगकर्ता को अपना खाता फिर से लिंक करना होगा.
अगर आपको GCP लॉग करते समय इस गड़बड़ी की दर में बढ़ोतरी दिखती है, तो ज़्यादा जानकारी के लिए हमसे संपर्क करें. |
GAL_PERMISSION_DENIED |
टोकन शेयर करने की अनुमति न होने की वजह से, Google में कोई अंदरूनी गड़बड़ी हुई.
अगर आपको GCP लॉग करते समय इस गड़बड़ी की दर में बढ़ोतरी दिखती है, तो ज़्यादा जानकारी के लिए हमसे संपर्क करें. |
GAL_REFRESH_IN_PROGRESS |
उपयोगकर्ता के ऐक्सेस टोकन की समयसीमा खत्म हो गई है. इसे रीफ़्रेश करने की एक ही बार में कोशिश की जा रही है.
यह कोई समस्या नहीं है और आपको कुछ करने की ज़रूरत नहीं है. |
INVALID_AUTH_TOKEN |
Google को आपकी सेवा से एचटीटीपी 401 गड़बड़ी कोड मिला है.
ऐक्सेस टोकन की समयसीमा खत्म नहीं हुई है, लेकिन आपकी सेवा ने उसे अमान्य कर दिया है. अपने स्मार्ट होम सर्विस लॉग को देखने के लिए, GCP के लॉग इन में requestId का इस्तेमाल करें.
|
INVALID_JSON |
JSON के जवाब को पार्स नहीं किया जा सकता या समझा नहीं जा सकता.
अमान्य सिंटैक्स का पता लगाने के लिए, JSON फ़ॉर्म के जवाब के स्ट्रक्चर की जांच करें. उदाहरण के लिए, मेल न खाने वाले ब्रैकेट, कॉमा न होना, अमान्य वर्ण. |
OPEN_AUTH_FAILURE |
उपयोगकर्ता के ऐक्सेस टोकन की समयसीमा खत्म हो गई है. साथ ही, Google इसे रीफ़्रेश नहीं कर पा रहा है या Google को आपकी सेवा से एचटीटीपी 401 गड़बड़ी कोड मिला है.
अगर आपको इस कोड के लिए बढ़ी हुई दर दिखती है, तो देखें कि क्या स्मार्ट होम इंटेंट या टोकन के अनुरोधों को रीफ़्रेश करने से जुड़ी गड़बड़ियों की दर में भी बढ़ोतरी हुई है. |
PARTNER_RESPONSE_INVALID_ERROR_CODE |
जवाब एक अनजान गड़बड़ी कोड दिखाता है.
अगर आपके अनुरोध के जवाब में कोई गड़बड़ी दिखती है, तो पक्का करें कि आप काम करने वाले गड़बड़ी कोड में से किसी एक का इस्तेमाल करें. |
PARTNER_RESPONSE_INVALID_PAYLOAD |
रिस्पॉन्स payload फ़ील्ड को JSON
ऑब्जेक्ट के तौर पर पार्स नहीं किया जा सकता.
देखें कि क्या आपके अनुरोध के जवाब में दिए गए पेलोड फ़ील्ड में, एक जैसे ब्रैकेट मौजूद हैं. साथ ही, यह भी देखें कि उसे JSON फ़ील्ड के तौर पर सही तरीके से बनाया गया है या नहीं. |
PARTNER_RESPONSE_INVALID_STATUS |
जवाब में किसी स्टेटस या गलत स्थिति के बारे में नहीं बताया गया है.
इंटेंट पूरा करने के अनुरोधों के जवाब में SUCCESS, OFFLINE, ERROR, EXCEPTIONS में से किसी एक की स्थिति
बताई जानी चाहिए. आपको
गड़बड़ियों और अपवादों को मैनेज करने के बारे में ज़्यादा जानकारी मिल सकती है.
|
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES |
अनुरोध में मौजूद एक या उससे ज़्यादा इंटेंट, जवाब में मौजूद नहीं हैं.
पुष्टि करें कि एक्ज़ीक्यूशन का जवाब सही तरीके से तैयार किया गया है. साथ ही, यह भी पक्का करें कि अनुरोध के सभी इंटेंट के नतीजे आपके जवाब में मौजूद हों. |
PARTNER_RESPONSE_MISSING_DEVICE |
अनुरोध में मौजूद एक या उससे ज़्यादा डिवाइस, जवाब में मौजूद नहीं हैं.
पुष्टि करें कि एक्ज़ीक्यूशन का जवाब सही तरीके से तैयार किया गया है. साथ ही, यह भी पक्का करें कि अनुरोध के सभी डिवाइस आईडी आपके जवाब में मौजूद हों. |
PARTNER_RESPONSE_MISSING_PAYLOAD |
जवाब में payload फ़ील्ड शामिल नहीं है.
अपने अनुरोध के जवाब में पेलोड फ़ील्ड ज़रूर शामिल करें. एक्ज़ीक्यूशन रिस्पॉन्स को सही तरीके से बनाने के बारे में ज़्यादा जानें. |
PARTNER_RESPONSE_NOT_OBJECT |
जवाब को JSON ऑब्जेक्ट के तौर पर पार्स नहीं किया जा सकता.
अनुरोध के जवाब में मौजूद सभी फ़ील्ड में अनचाहे वर्णों, ब्रैकेट के मेल न खाने या फ़ॉर्मैटिंग से जुड़ी गड़बड़ियों की जांच करें. कुछ यूनिकोड वर्ण काम नहीं कर सकते. यह भी पक्का करें कि आपका जवाब, JSON ऑब्जेक्ट के तौर पर सही तरीके से तैयार किया गया हो. |
PROTOCOL_ERROR |
अनुरोध को प्रोसेस नहीं किया जा सका.
अपने स्मार्ट होम सर्विस लॉग देखने के लिए, Google Cloud के लॉग इन में requestId का इस्तेमाल करें.
|
RESPONSE_TIMEOUT |
जवाब का इंतज़ार करते हुए अनुरोध का समय खत्म हो गया है.
अनुरोध का जवाब भेजने के बाद, उसे 9 सेकंड तक भेजा जा सकता है. इस अवधि में जवाब भेजना न भूलें. |
RESPONSE_UNAVAILABLE |
कोई जवाब नहीं मिला या जवाब में स्टेटस नहीं बताया गया है.
इंटेंट पूरा करने के अनुरोधों के जवाबों को स्मार्ट होम दस्तावेज़ के हिसाब से तैयार किया जाना चाहिए और उनकी स्थिति के बारे में बताया जाना चाहिए. |
TRANSIENT_ERROR |
कुछ समय के लिए होने वाली गड़बड़ी, ऐसी गड़बड़ी होती है जो अपने-आप ठीक हो जाती है.
आम तौर पर, ये गड़बड़ियां किसी डिवाइस या सेवा के बंद होने की वजह से दिखती हैं. ऐसा तब भी होता है, जब किसी सर्वर से नए कनेक्शन न खोले जा सकें. |
खोज लॉग
मेट्रिक का इस्तेमाल करके अपने इंटिग्रेशन पर नज़र रखने के बाद, अगला चरण Cloud Logging का इस्तेमाल करके खास गड़बड़ियों को ठीक करना है. गड़बड़ी का लॉग, JSON की तरह दिखने वाली एंट्री होती है. इसमें समय, गड़बड़ी का कोड, और ओरिजनल स्मार्ट होम इंटेंट से जुड़ी जानकारी जैसी काम की जानकारी होती है.
Google Cloud में ऐसे कई सिस्टम हैं जो हर समय आपके प्रोजेक्ट के लिए लॉग भेजते हैं. अपने लॉग को फ़िल्टर करने के लिए क्वेरी लिखें और अपनी ज़रूरत के हिसाब से लॉग ढूंढें. क्वेरी, समय सीमा, संसाधन, लॉग गंभीरता या कस्टम एंट्री पर आधारित हो सकती हैं.
अपने कस्टम फ़िल्टर बनाने के लिए क्वेरी बटन का इस्तेमाल किया जा सकता है.
समयसीमा तय करने के लिए, समयसीमा चुनने के बटन
पर क्लिक करें. इसके बाद, दिए गए विकल्पों में से कोई एक चुनें. इससे लॉग फ़िल्टर हो जाएंगे और चुनी गई समयसीमा से शुरू होने वाले लॉग दिखेंगे.किसी संसाधन के बारे में बताने के लिए, संसाधन ड्रॉपडाउन पर क्लिक करें. फिर, Google Assistant का ऐक्शन प्रोजेक्ट चुनें. इससे आपके प्रोजेक्ट से जनरेट होने वाले लॉग दिखाने के लिए, आपकी क्वेरी में एक फ़िल्टर जुड़ जाता है.
आपातकाल, जानकारी, डीबग, और गंभीरता के दूसरे लॉग लेवल के हिसाब से फ़िल्टर करने के लिए गंभीरता बटन का इस्तेमाल करें.
अपने हिसाब से जानकारी डालने के लिए, Logs Explorer में क्वेरी फ़ील्ड का इस्तेमाल भी किया जा सकता है. इस फ़ील्ड में इस्तेमाल किया जाने वाला क्वेरी इंजन, स्ट्रिंग मैचिंग जैसी बेसिक क्वेरी के साथ-साथ ज़्यादा ऐडवांस टाइप की क्वेरी के साथ काम करता है. इनमें तुलना करने वाले (<, >=, !=
) और बूलियन ऑपरेटर (AND, OR, NOT
) भी शामिल हैं.
उदाहरण के लिए, नीचे दी गई कस्टम एंट्री ऐसे गड़बड़ियां दिखेंगी जो किसी LIGHT
डिवाइस टाइप से शुरू होती हैं:
resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"
लॉग से क्वेरी करने के ज़्यादा उदाहरण देखने के लिए, क्वेरी लाइब्रेरी पर जाएं.
टेस्टिंग से जुड़े सुधार
हमारा सुझाव है कि गड़बड़ियों की पहचान करने और उन्हें ठीक करने के लिए अपडेट लागू करने के बाद, Google Home Test Suite की मदद से यह जांच लें कि आपने उन्हें ठीक कर लिया है या नहीं. हम Test Suite को इस्तेमाल करने के तरीके के बारे में एक गाइड उपलब्ध कराते हैं. इसमें आपको अपने बदलावों की जांच करने का असरदार तरीका बताया गया है.
सीखने के लिए संसाधन
इस दस्तावेज़ में स्मार्ट होम ऐक्शन में होने वाली गड़बड़ियों को ठीक करने का तरीक़ा बताया गया है. डीबग करने के बारे में ज़्यादा जानने के लिए, हमारे कोडलैब (कोड बनाना सीखना) भी देखें:
- स्मार्ट होम कोडलैब (कोड बनाना सीखना) को डीबग करना: स्मार्ट होम क्लाउड इंटिग्रेशन को डीबग करने के लिए आसानी से सिखाने वाली गाइड.
- लोकल होम कोडलैब (कोड बनाना सीखना) को डीबग करना: स्मार्ट होम के लोकल इंटिग्रेशन को डीबग करने के लिए आसानी से सिखाने वाली गाइड.