इंटिग्रेशन की गड़बड़ियां ठीक करना

क्लाउड-टू-क्लाउड    मैटर

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

गड़बड़ियों को ठीक करने के दो तरीके हैं:

  1. स्मार्ट होम मेट्रिक की मदद से, अपने प्रोजेक्ट की स्थिति पर नज़र बनाए रखें.
  2. गड़बड़ी के लॉग में गड़बड़ी के बारे में ज़्यादा जानकारी देखकर, समस्याओं की जांच करें.

Local Home SDK का इस्तेमाल करके, स्थानीय इंटिग्रेशन के लिए भी यही प्रोसेस अपनाई जाती है. समस्या हल करने के तरीके में महारत हासिल करने के बाद, पर इनसाइट पाने के लिए अलग-अलग मेट्रिक और लॉग के बीच गड़बड़ियां हैं.

निगरानी से जुड़ी गड़बड़ियां

अपने प्रोजेक्ट की मेट्रिक ऐक्सेस करने के लिए, Google Cloud Monitoring dashboard का इस्तेमाल किया जा सकता है. कुछ ऐसे अहम चार्ट हैं जिन्हें गुणवत्ता और डीबगिंग की निगरानी करने के लिए उपयोगी:

  • सफलता दर चार्ट, अपने प्रोजेक्ट की भरोसेमंदता की निगरानी करते समय दिखने वाला पहला चार्ट है. इस चार्ट में गिरावट से अपने पूरे उपयोगकर्ता आधार या किसी हिस्से के लिए सेवा उपलब्ध न होने की जानकारी दें. हमारा सुझाव है कि आप: हर बार बदलाव होने के बाद, किसी भी अनियमितता पर, इस चार्ट पर बारीकी से नज़र रखी जा रही है या उसे अपडेट करें.
  • 95वें पर्सेंटाइल के हिसाब से इंतज़ार का समय चार्ट, यह बताने के लिए एक अहम इंडिकेटर है कि आपके उपयोगकर्ताओं के लिए, स्मार्ट होम ऐक्शन की परफ़ॉर्मेंस कैसी है. अचानक होने वाले उतार-चढ़ाव हो सकता है कि इस चार्ट में मौजूद डेटा का मतलब है कि आपके सिस्टम, को भी शामिल किया जा सकता है. समय-समय पर इस चार्ट को देखने की सलाह दी जाती है कि आप अनचाहे व्यवहार की जानकारी मिल सकती है.
  • गड़बड़ी का ब्रेकडाउन चार्ट तब सबसे ज़्यादा फ़ायदेमंद होते हैं, जब वे इंटिग्रेशन की समस्याओं को हल करने में मदद मिलती है. हर गड़बड़ी के लिए सफलता का प्रतिशत दिखाने वाले आपके चार्ट में, गड़बड़ी का कोड दिखाया जाएगा गड़बड़ी की पूरी जानकारी में. आपके पास, फ़्लैग की गई गड़बड़ियों को देखने का विकल्प होता है Google Home platform के मुताबिक और उन्हें हल करने का तरीका देखें.

प्लैटफ़ॉर्म से जुड़ी गड़बड़ी के कोड

यहां कुछ सामान्य गड़बड़ी के कोड दिए गए हैं जो आपको अपने प्रोजेक्ट लॉग में दिख सकते हैं, ताकि Google Home platform के ज़रिए पकड़ी गई समस्याओं की पहचान करें. कृपया इस टेबल में समस्या हल करने की जानकारी दी गई है.

गड़बड़ी कोड ब्यौरा
BACKEND_FAILURE_URL_ERROR Google को आपके सेवा.

स्मार्ट होम सेवा के लॉग देखने के लिए, 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 की ओर से किसी पेज को वापस पाने की कोशिश करने पर ऐक्सेस टोकन.

अगर आपको GCP लॉगिंग में इस गड़बड़ी की दर में बढ़ोतरी दिखती है, तो संपर्क करें ज़्यादा जानकारी के लिए हमसे संपर्क करें.
GAL_INVALID_ARGUMENT 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 Logging में 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 का इस्तेमाल करने के तरीके के बारे में उपयोगकर्ता गाइड उपलब्ध कराते हैं. इससे, आपको अपने बदलावों की असरदार तरीके से जांच करने में मदद मिलती है.

सीखने के लिए संसाधन

इस दस्तावेज़ में, स्मार्ट होम ऐक्शन में होने वाली गड़बड़ियों को ठीक करने का तरीका बताया गया है. डीबग करने के बारे में ज़्यादा जानने के लिए, हमारे कोडलैब (कोड बनाना सीखना) भी देखें: