Google Cloud आपको अपने प्रोजेक्ट की परफ़ॉर्मेंस को मॉनिटर करने के लिए टूल उपलब्ध कराता है Google Cloud Monitoring की मदद से, और Google Cloud Logging गड़बड़ी लॉग की मदद से, समस्याओं को डीबग करने की सुविधा देता है. जब उपयोगकर्ता के इरादे पूरे करने में कोई गड़बड़ी होती है, तो Google Home Analytics पाइपलाइन, आपकी मेट्रिक पर उस गड़बड़ी को रिकॉर्ड करती है. साथ ही, आपके प्रोजेक्ट लॉग में गड़बड़ी का लॉग पब्लिश करती है.
गड़बड़ियों को ठीक करने के लिए, ये दो चरण पूरे करें:
- स्मार्ट होम मेट्रिक की मदद से, अपने प्रोजेक्ट की स्थिति को मॉनिटर करें.
- गड़बड़ी के लॉग में, गड़बड़ी के बारे में दी गई पूरी जानकारी देखकर समस्याओं की जांच करें.

आपके पास अपनी कार्रवाई को अन्य उपयोगकर्ताओं के साथ शेयर करके, उसे टेस्ट करने का विकल्प होता है. पक्का करें कि गड़बड़ियों और अपवादों को सही तरीके से हैंडल किया जाए.
गड़बड़ियों को मॉनिटर करना
अपने प्रोजेक्ट की मेट्रिक ऐक्सेस करने के लिए, Google Cloud Monitoring dashboards का इस्तेमाल किया जा सकता है. यहां कुछ अहम चार्ट दिए गए हैं. ये चार्ट, क्वालिटी को मॉनिटर करने और डीबग करने के लिए खास तौर पर काम के होते हैं:
- सक्सेस रेट चार्ट, आपके प्रोजेक्ट की परफ़ॉर्मेंस को मॉनिटर करने के लिए सबसे पहला चार्ट होता है. इस चार्ट में गिरावट आने से, आपके उपयोगकर्ता आधार के किसी हिस्से या सभी के लिए, सेवा में रुकावट का पता चल सकता है. हमारा सुझाव है कि अपने प्रोजेक्ट में हर बदलाव या अपडेट के बाद, इस चार्ट को ध्यान से मॉनिटर करें, ताकि किसी भी तरह की अनियमितता का पता लगाया जा सके.
- 95वें पर्सेंटाइल की लेटेंसी चार्ट, यह जानने के लिए एक अहम इंडिकेटर है कि आपके उपयोगकर्ताओं के लिए, Cloud-to-cloud इंटिग्रेशन कैसा काम कर रहा है. इस चार्ट में अचानक होने वाले उतार-चढ़ाव से पता चल सकता है कि आपके सिस्टम, अनुरोधों को पूरा नहीं कर पा रहे हैं. किसी भी अनचाहे व्यवहार को देखने के लिए, समय-समय पर इस चार्ट की जांच करने का सुझाव दिया जाता है.
- आपके इंटिग्रेशन में समस्याओं को ठीक करने के लिए, गड़बड़ी के ब्रेकडाउन चार्ट सबसे ज़्यादा काम के होते हैं. सक्सेस रेट चार्ट में हाइलाइट की गई हर गड़बड़ी के लिए, गड़बड़ी के ब्रेकडाउन में गड़बड़ी का कोड दिखता है. नीचे दी गई टेबल में, Google Home platform से फ़्लैग की गई गड़बड़ियां और उन्हें ठीक करने का तरीका देखा जा सकता है.
प्लैटफ़ॉर्म की गड़बड़ियों के सामान्य कोड
यहां गड़बड़ी के कुछ सामान्य कोड दिए गए हैं. ये कोड, Google Home platform से पकड़ी गई समस्याओं की पहचान करने के लिए, आपके प्रोजेक्ट लॉग में दिख सकते हैं. समस्या हल करने से जुड़ी जानकारी के लिए, यहां दी गई टेबल देखें. गड़बड़ी के कोड की पूरी सूची देखने के लिए, देखें गड़बड़ियां और अपवाद.
| गड़बड़ी कोड | ब्यौरा | पार्टनर के लिए ज़रूरी कार्रवाई |
|---|---|---|
AGENT_ISSUE |
पार्टनर के क्लाउड एजेंट में कोई सामान्य समस्या हुई.
अपने फ़ुलफ़िलमेंट लॉग में, हैंडल न किए गए अपवादों या क्रैश की जांच करें. |
हां |
AGENT_UNAVAILABLE_ERROR |
Google, पार्टनर के फ़ुलफ़िलमेंट यूआरएल तक नहीं पहुंच सका.
पक्का करें कि आपका सर्वर ऑनलाइन हो, फ़ायरवॉल Google को ब्लॉक न कर रहा हो, और यूआरएल सही हो. |
हां |
BACKEND_FAILURE_URL_TIMEOUT |
आपकी सेवा तक पहुंचने की कोशिश करते समय, Google के अनुरोध का समय खत्म हो गया.
पक्का करें कि आपकी सेवा ऑनलाइन हो, कनेक्शन स्वीकार कर रही हो, और उसकी क्षमता से ज़्यादा अनुरोध न आ रहे हों. इसके अलावा, यह भी पक्का करें कि टारगेट डिवाइस चालू हो, ऑनलाइन हो, और सिंक हो. |
|
BACKEND_FAILURE_URL_UNREACHABLE |
Google को आपकी सेवा से, एचटीटीपी 5xx गड़बड़ी का कोड मिला है.
अपने स्मार्ट होम सेवा के लॉग की जांच करने के लिए, Google Cloud Logging में requestId का इस्तेमाल करें. सर्वर क्रैश, टाइम आउट,
या 502/503 गेटवे की गड़बड़ियों की जांच करें.
|
|
COMMAND_FAILED |
किसी निर्देश को पूरा करते समय, सामान्य गड़बड़ी हुई.
गड़बड़ी की असली वजह जानने के लिए, अपने फ़ुलफ़िलमेंट लॉग में, requestId
की जानकारी देखें.
|
हां |
EXECUTION_BACKEND_FAILURE_URL_ERROR |
Google को आपके
फ़ुलफ़िलमेंट से, एचटीटीपी 4xx गड़बड़ी (401 के अलावा) मिली.
403, 404 या 400 रिस्पॉन्स के लिए, अपने वेब सर्वर लॉग देखें. |
हां |
EXECUTION_BACKEND_FAILURE_URL_ROBOTED |
फ़ुलफ़िलमेंट यूआरएल को robots.txt या सुरक्षा फ़िल्टर ने ब्लॉक कर दिया है.
पक्का करें कि Google के क्रॉलर/सेवाएं, आपके फ़ुलफ़िलमेंट एंडपॉइंट को ऐक्सेस कर सकती हों. |
हां |
EXECUTION_BACKEND_FAILURE_URL_UNREACHABLE |
Google को आपकी फ़ुलफ़िलमेंट सेवा से, एचटीटीपी 5xx गड़बड़ी मिली.
पक्का करें कि एंडपॉइंट यूआरएल सेवा स्थिर हो, सही हो, और सार्वजनिक तौर पर ऐक्सेस की जा सकती हो. साथ ही, सेवा चालू हो. हेल्थ चेक और फिर से कोशिश करने की सुविधा जोड़ें. सर्वर क्रैश, टाइम आउट या 502/503 गेटवे की गड़बड़ियों की जांच करें. |
हां |
EXECUTION_BAILOUT_INVALID_RESPONSE |
JSON रिस्पॉन्स में इतनी गड़बड़ियां थीं कि उसे प्रोसेस नहीं किया जा सका.
JSON वैलिडेटर का इस्तेमाल करके, पक्का करें कि आपका रिस्पॉन्स, इंटेंट स्कीमा के मुताबिक हो. |
हां |
EXECUTION_GAL_BAD_3P_RESPONSE |
टोकन रिस्पॉन्स में गलत फ़ॉर्मैट की वजह से, खाता लिंक नहीं हो सका.
पक्का करें कि आपके OAuth सर्वर का रिस्पॉन्स फ़ॉर्मैट, Google की ज़रूरी शर्तों के मुताबिक हो. |
हां |
EXECUTION_GAL_INSUFFICIENT_CAPABILITIES |
उपयोगकर्ता के खाते के पास, इस कार्रवाई के लिए ज़रूरी अनुमतियां नहीं हैं.
OAuth के दौरान अनुरोध किए गए स्कोप की जांच करें और पक्का करें कि वे ज़रूरी एट्रिब्यूट से मेल खाते हों. |
हां |
EXECUTION_GAL_MAYBE_UNLINKED_BY_3P |
पार्टनर क्लाउड से पता चलता है कि उपयोगकर्ता ने अपना खाता अनलिंक कर दिया है.
पक्का करें कि आपकी agentUserId मैपिंग स्थिर हो और उसे मिटाया न गया हो.
|
हां |
EXECUTION_GAL_NOT_FOUND |
Google में सेव किए गए उपयोगकर्ता के ऐक्सेस और रीफ़्रेश टोकन अमान्य हैं या
उन्हें रीफ़्रेश नहीं किया जा सकता. इस वजह से, पुष्टि नहीं हो पाती और पार्टनर की सेवा को ऐक्सेस नहीं किया जा सकता.
पक्का करें कि टोकन मान्य और सिंक रहें. साथ ही, खाते की स्थिति में होने वाले बदलावों को सही तरीके से हैंडल करें. अगर यह पुष्टि हो जाती है कि टोकन रद्द कर दिए गए हैं, तो उपयोगकर्ताओं से खाता फिर से लिंक करने के लिए कहें. |
|
EXECUTION_GAL_READ_ONLY_MODE_FOR_3P |
इंटिग्रेशन, पार्टनर की ओर से सिर्फ़ पढ़ने वाले मोड में है.
देखें कि उपयोगकर्ता का खाता निलंबित है या "सिर्फ़ देखने" वाले रखरखाव मोड में है. |
हां |
EXECUTION_GAL_UNLINKED_BY_3P |
तीसरे पक्ष की सेवा ने, खाते को पहले से ही अनलिंक कर दिया था.
इसकी जांच करें कि उपयोगकर्ता का कनेक्शन क्यों टूटा (उदाहरण के लिए, सुरक्षा रीसेट). पक्का करें कि पार्टनर का OAuth सर्वर, Google के refresh_token अनुरोधों का सही जवाब दे, ताकि नए ऐक्सेस टोकन
आसानी से जारी किए जा सकें.
|
हां |
EXECUTION_INVALID_JSON |
Google, JSON रिस्पॉन्स पेलोड को पार्स नहीं कर सका.
अपने रिस्पॉन्स में सिंटैक्स की गड़बड़ियां, ब्रैकेट मौजूद न होना या अमान्य वर्ण देखें. |
हां |
INVALID_AUTH_TOKEN |
Google को आपकी सेवा से, एचटीटीपी 401 गड़बड़ी का कोड मिला है.
ऐक्सेस टोकन की समय-सीमा खत्म नहीं हुई है, लेकिन आपकी सेवा ने इसे अमान्य कर दिया है. अपनी स्मार्ट होम सेवा के लॉग की जांच करने के लिए, Google Cloud Logging में requestId का इस्तेमाल करें.
|
|
INVALID_JSON |
रिस्पॉन्स का स्ट्रक्चर अमान्य है. उदाहरण के लिए, ज़रूरी फ़ील्ड मौजूद नहीं हैं
.
इंटेंट JSON स्कीमा के हिसाब से, अपने रिस्पॉन्स की पुष्टि करें. |
हां |
MALFORMED_JSON |
JSON स्ट्रक्चर में गड़बड़ी है. उदाहरण के लिए, स्ट्रिंग या
ऑब्जेक्ट बंद नहीं किए गए हैं.
पक्का करें कि आपका फ़ुलफ़िलमेंट, रिस्पॉन्स को क्रम से लगाने के लिए, स्टैंडर्ड JSON लाइब्रेरी का इस्तेमाल करता हो. |
हां |
NOT_IMPLEMENTED |
पार्टनर ने, अनुरोध किए गए इंटेंट या एट्रिब्यूट को लागू नहीं किया है.
अपने SYNC रिस्पॉन्स में सिर्फ़ वे एट्रिब्यूट शामिल करें जिन्हें आपने
पूरी तरह से लागू किया है.
|
हां |
OPEN_AUTH_FAILURE |
उपयोगकर्ता के ऐक्सेस टोकन की समय-सीमा खत्म हो गई है और Google इसे रीफ़्रेश नहीं कर पा रहा है,
या Google को आपकी सेवा से, एचटीटीपी 401 गड़बड़ी का कोड मिला है.
अगर आपको इस कोड की दर में बढ़ोतरी दिखती है, तो देखें कि आपको स्मार्ट होम इंटेंट या रीफ़्रेश टोकन के अनुरोधों से जुड़ी गड़बड़ियों की दर में भी बढ़ोतरी दिखती है या नहीं. |
|
PARTNER_RESPONSE_INVALID_ERROR_CODE |
दिखाया गया errorCode स्ट्रिंग, Google की मान्य सूची में शामिल नहीं है.
अपनी इंटरनल गड़बड़ियों को, गड़बड़ियों की आधिकारिक सूची में मैप करें. |
हां |
PARTNER_RESPONSE_INVALID_PAYLOAD |
रिस्पॉन्स में मौजूद payload फ़ील्ड, मान्य JSON
ऑब्जेक्ट नहीं है.
अपने फ़ुलफ़िलमेंट रिस्पॉन्स के रूट स्ट्रक्चर की पुष्टि करें. |
हां |
PARTNER_RESPONSE_INVALID_STATUS |
रिस्पॉन्स का status, SUCCESS, ERROR या OFFLINE नहीं था.
पक्का करें कि आपके रिस्पॉन्स में हर डिवाइस के नतीजे में, मान्य स्टेटस स्ट्रिंग शामिल हो. |
हां |
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES |
रिस्पॉन्स में, अनुरोध किए गए सभी
निर्देश/डिवाइस के नतीजे शामिल नहीं थे.
Google Home डेवलपर दस्तावेज़ के हिसाब से, अपने रिस्पॉन्स स्ट्रक्चर की पुष्टि करें. पक्का करें कि इंटरनल सर्वर की गड़बड़ी की वजह से, रिस्पॉन्स छोटा न किया जा रहा हो या खाली बॉडी न दिख रही हो. अनुरोध के commands कलेक्शन में मौजूद हर आइटम
के लिए, उससे जुड़ी रिस्पॉन्स एंट्री होनी चाहिए.
|
हां |
PARTNER_RESPONSE_MISSING_DEVICE |
Google ने जिस डिवाइस का अनुरोध किया था उसे रिस्पॉन्स से हटा दिया गया.
पक्का करें कि आपके रिस्पॉन्स में, अनुरोध पेलोड में दिया गया हर ID शामिल हो.
|
हां |
PARTNER_RESPONSE_MISSING_PAYLOAD |
रिस्पॉन्स में, ज़रूरी payload फ़ील्ड मौजूद नहीं है.
पक्का करें कि आपके टॉप-लेवल JSON ऑब्जेक्ट में, payload कुंजी शामिल हो.
|
हां |
PARTNER_RESPONSE_NOT_OBJECT |
पूरे रिस्पॉन्स को JSON ऑब्जेक्ट के तौर पर पार्स नहीं किया जा सका.
अपने एचटीटीपी रिस्पॉन्स बॉडी में, आखिर में मौजूद वर्ण या गैर-JSON कॉन्टेंट देखें. पक्का करें कि payload.commands[] एक सही JSON
ऑब्जेक्ट हो, जिसमें आईडी, स्टेटस, और वैकल्पिक स्थितियां शामिल हों.
|
हां |
REQUEST_ID_NOT_FOUND |
Google को अनुरोध के लिए, इंटरनल ट्रैकिंग आईडी नहीं मिला.
आम तौर पर, यह प्लैटफ़ॉर्म की इंटरनल गड़बड़ी होती है. इस पर नज़र रखें और सहायता टीम से संपर्क करें. |
हां |
RESOURCE_UNAVAILABLE |
अनुरोध किया गया संसाधन (डिवाइस या एट्रिब्यूट) उपलब्ध नहीं है.
देखें कि डिवाइस "बिज़ी" है या उसे अस्थायी तौर पर बंद कर दिया गया है. |
हां |
RESPONSE_TIMEOUT |
फ़ुलफ़िलमेंट सेवा, नौ सेकंड के अंदर जवाब नहीं दे पाई.
बैकएंड की लेटेंसी को ऑप्टिमाइज़ करें. साथ ही, डीबी की धीमी क्वेरी या इलाके के हिसाब से नेटवर्क की समस्या देखें. |
हां |
RESPONSE_UNAVAILABLE |
पार्टनर के फ़ुलफ़िलमेंट यूआरएल से कोई रिस्पॉन्स नहीं मिला.
पक्का करें कि आपकी सेवा चालू हो और एंडपॉइंट क्रैश न हो रहा हो. |
हां |
TIMEOUT |
इंटेंट को प्रोसेस करते समय, सामान्य टाइम आउट हुआ.
अपने क्लाउड और डिवाइस हब के बीच, इंटरनल सेवा के टाइम आउट के लिए लॉग देखें. |
हां |
खोज लॉग
मेट्रिक का इस्तेमाल करके, अपने इंटिग्रेशन को मॉनिटर करने के बाद, अगला चरण गड़बड़ियों को ठीक करने के लिए Cloud Loggingका इस्तेमाल करना है. गड़बड़ी का लॉग, JSON जैसी एंट्री होती है. इसमें समय, गड़बड़ी का कोड, और स्मार्ट होम इंटेंट की जानकारी जैसे काम की जानकारी वाले फ़ील्ड शामिल होते हैं.
Google Cloud में कई ऐसे सिस्टम हैं जो हर समय आपके प्रोजेक्ट को लॉग भेजते हैं. आपको अपने लॉग को फ़िल्टर करने और ज़रूरी लॉग ढूंढने के लिए, क्वेरी लिखनी होंगी. क्वेरी, समय की सीमा, संसाधन, लॉग की गंभीरता या कस्टम एंट्री के आधार पर हो सकती हैं.
कस्टम फ़िल्टर बनाने के लिए, क्वेरी बटन का इस्तेमाल किया जा सकता है.
_समय की सीमा_ तय करने के लिए, समय की सीमा चुनने वाले बटन पर क्लिक करें और दिए गए विकल्पों में से कोई एक चुनें. इससे लॉग फ़िल्टर हो जाएंगे और चुने गए समय की सीमा में जनरेट हुए लॉग दिखेंगे.
संसाधन तय करने के लिए, संसाधन ड्रॉपडाउन पर क्लिक करें. इसके बाद, Google Assistant Action Project चुनें. इससे आपकी क्वेरी में एक फ़िल्टर जुड़ जाएगा, ताकि आपके प्रोजेक्ट से जनरेट हुए लॉग दिख सकें.
गंभीरता बटन का इस्तेमाल करके, आपातकालीन, जानकारी, डीबग, और गंभीरता के अन्य लॉग लेवल के हिसाब से फ़िल्टर करें.
कस्टम एंट्री डालने के लिए, 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
सीखने के लिए संसाधन
इस दस्तावेज़ में, स्मार्ट होम ऐक्शन में गड़बड़ियों को ठीक करने का तरीका बताया गया है. डीबग करने के बारे में ज़्यादा जानने के लिए, हमारे कोडलैब भी देखे जा सकते हैं:
- स्मार्ट होम कोडलैब को डीबग करना: स्मार्ट होम क्लाउड इंटिग्रेशन को डीबग करने के लिए, क्विक स्टार्ट गाइड.
- लोकल होम कोडलैब को डीबग करना: स्मार्ट होम लोकल इंटिग्रेशन को डीबग करने के लिए, क्विक स्टार्ट गाइड.