Google Cloud आपको Google Cloud Monitoring से अपने प्रोजेक्ट की विश्वसनीयता पर नज़र रखने और Google Cloud Logging गड़बड़ी लॉग की मदद से समस्याओं को डीबग करने के टूल देता है. जब भी उपयोगकर्ता के इंटेंट को पूरा करते समय कोई गड़बड़ी होती है, तो Google Home Analytics पाइपलाइन आपकी मेट्रिक में उस गड़बड़ी को रिकॉर्ड कर लेता है और आपके प्रोजेक्ट लॉग में गड़बड़ी का लॉग पब्लिश करता है.
गड़बड़ियों को ठीक करने के दो चरण होते हैं:
- स्मार्ट होम मेट्रिक की मदद से अपने प्रोजेक्ट की स्थिति पर नज़र रखें.
- गड़बड़ी की जांच-पड़ताल करने के लिए गड़बड़ी के लॉग में गड़बड़ी की पूरी जानकारी देखें.
गड़बड़ियों की निगरानी करना
अपने प्रोजेक्ट की मेट्रिक ऐक्सेस करने के लिए, Google Cloud Monitoring dashboard का इस्तेमाल किया जा सकता है. यहां कुछ प्रमुख चार्ट दिए गए हैं, जो खास तौर पर क्वालिटी पर नज़र रखने और डीबग करने में मददगार हैं:
- सफलता दर चार्ट, अपने प्रोजेक्ट की विश्वसनीयता बनाए रखने से शुरू होने वाला पहला चार्ट है. इस चार्ट में गिरावट का यह मतलब हो सकता है कि आपके पूरे उपयोगकर्ता या एक हिस्से के लिए, सेवा कुछ समय के लिए उपलब्ध नहीं होगी. हमारा सुझाव है कि अपने प्रोजेक्ट में किए गए हर बदलाव या अपडेट के बाद, किसी भी अनियमितता का पता लगाने के लिए, इस चार्ट पर बारीकी से नज़र रखें.
- 95वां पर्सेंटाइल चार्ट से पता चलता है कि स्मार्ट होम ऐक्शन, उपयोगकर्ताओं के लिए कैसा परफ़ॉर्म कर रहा है. इस चार्ट में अचानक होने वाले उतार-चढ़ावों से पता चलता है कि शायद आपके सिस्टम, अनुरोधों को पूरा नहीं कर पा रहे हैं. किसी भी अनचाहे व्यवहार के बारे में जानने के लिए, समय-समय पर इस चार्ट को देखते रहें.
- गड़बड़ी का ब्रेकडाउन चार्ट सबसे ज़्यादा तब काम आता है, जब आपके इंटिग्रेशन में समस्याएं हल करने की बात हो. सफलता के प्रतिशत चार्ट में हाइलाइट की गई हर गड़बड़ी के लिए, गड़बड़ी के ब्रेकडाउन में एक गड़बड़ी कोड दिखाया जाता है. नीचे दी गई टेबल में आपको 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 को आपकी सेवा से एक 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 को आपकी सेवा से एक HTTP 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 |
जवाब का इंतज़ार करते समय अनुरोध का समय खत्म हो गया.
अनुरोध भेजे जाने के बाद, जवाब भेजने की समयावधि नौ सेकंड होती है. पक्का करें कि आप इस समयावधि में जवाब भेज दें. |
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 को इस्तेमाल करने के तरीके के बारे में उपयोगकर्ता गाइड दी है. इसमें, अपने बदलावों की जांच को असरदार तरीके से करने के बारे में बताया गया है.
सीखने के लिए संसाधन
इस दस्तावेज़ में स्मार्ट होम ऐक्शन में आ रही गड़बड़ियों को ठीक करने का तरीक़ा बताया गया है. डीबग करने के बारे में ज़्यादा जानने के लिए, हमारे कोडलैब भी देखें:
- स्मार्ट होम कोडलैब को डीबग करना: स्मार्ट होम क्लाउड इंटिग्रेशन को डीबग करने के लिए क्विक स्टार्ट गाइड.
- लोकल होम कोडलैब को डीबग करना: स्मार्ट होम लोकल इंटिग्रेशन को डीबग करने के लिए, आसानी से सिखाने वाली गाइड.