refresh_date: 2023-01-06
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 को आपकी सेवा से 401 के अलावा, एचटीटीपी 4xx गड़बड़ी का कोड मिला है.
स्मार्ट होम सेवा के लॉग देखने के लिए, GCP लॉगिंग में requestId का इस्तेमाल करें.
|
BACKEND_FAILURE_URL_TIMEOUT |
आपकी सेवा तक पहुंचने के दौरान, Google के अनुरोध का टाइम आउट हो गया.
पुष्टि करें कि आपकी सेवा ऑनलाइन है, कनेक्शन स्वीकार कर रही है, और उसकी क्षमता से ज़्यादा कनेक्शन नहीं हैं. इसके अलावा, पुष्टि करें कि टारगेट डिवाइस चालू हो, इंटरनेट से कनेक्ट हो, और सिंक हो. |
BACKEND_FAILURE_URL_UNREACHABLE |
Google को आपकी सेवा से एचटीटीपी 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 को आपकी सेवा से HTTP 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 का इस्तेमाल करके, खास गड़बड़ियों को हल करना है. गड़बड़ी का लॉग, जेएसओएन जैसी एंट्री होती है. इसमें समय, गड़बड़ी कोड, और स्मार्ट होम इंटेंट के बारे में जानकारी देने वाले फ़ील्ड होते हैं.
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 को इस्तेमाल करने के तरीके के बारे में एक गाइड उपलब्ध कराते हैं. इसमें आपको अपने बदलावों को असरदार तरीके से टेस्ट करने के बारे में जानकारी मिलती है.
सीखने के लिए संसाधन
इस दस्तावेज़ में स्मार्ट होम ऐक्शन में होने वाली गड़बड़ियों को ठीक करने का तरीक़ा बताया गया है. डीबग करने के बारे में ज़्यादा जानने के लिए, हमारे कोडलैब भी देखे जा सकते हैं:
- स्मार्ट होम कोडलैब (कोड बनाना सीखना) को डीबग करना: स्मार्ट होम क्लाउड इंटिग्रेशन को डीबग करने के लिए आसानी से सिखाने वाली गाइड.
- लोकल होम कोडलैब (कोड बनाना सीखना) को डीबग करना: स्मार्ट होम के लोकल इंटिग्रेशन को डीबग करने के लिए क्विक स्टार्ट गाइड.