Matter ইন্টিগ্রেশন সংক্রান্ত সমস্যার সমাধান করা

refresh_date: 2023-01-06

Google Cloud আপনাকে Google Cloud Monitoring-এর মাধ্যমে আপনার প্রজেক্টের নির্ভরযোগ্যতা মনিটর করার টুল প্রদান করে এবং Google Cloud Logging সমস্যার লগ থেকে সমস্যা ডিবাগ করে। ব্যবহারকারীর উদ্দেশ্য পূরণ করার সময় কোনও সমস্যা হলে, Google Home Analytics পাইপলাইন আপনার মেট্রিক্সের উপর সেই সমস্যা রেকর্ড করে এবং আপনার প্রোজেক্ট লগে একটি সমস্যার লগ প্রকাশ করে।

সমস্যার সমাধান করার দুটি ধাপ রয়েছে:

  1. স্মার্ট হোম মেট্রিকের সাহায্যে আপনার প্রোজেক্টের অবস্থা মনিটর করুন।
  2. সমস্যার লগ থেকে সমস্যার বিস্তারিত বিবরণ চেক করে সমস্যার তদন্ত করুন।

মনিটরিং সংক্রান্ত সমস্যা

আপনার প্রোজেক্ট মেট্রিক অ্যাক্সেস করতে, আপনি Google Cloud Monitoring dashboards ব্যবহার করতে পারবেন। কিছু গুরুত্বপূর্ণ চার্ট আছে যা বিশেষ করে কোয়ালিটি মনিটর করা এবং সমস্যা সমাধান করার জন্য উপযোগী:

  • আপনার প্রজেক্টের নির্ভরযোগ্যতা মনিটর করার সময়, সফলতার হার চার্ট হল প্রথম চার্ট যা থেকে শুরু করতে হয়। এই চার্টে হঠাৎ করে কমে যাওয়া আপনার ব্যবহারকারীর একটি অংশ বা সকলের ক্ষেত্রে পরিষেবা বন্ধ হয়ে যাওয়াকে ইঙ্গিত করতে পারে। আমরা সাজেস্ট করি যে আপনার প্রোজেক্টে প্রতিটি পরিবর্তন বা আপডেটের পরে কোনও অনিয়মিত ঘটনা ঘটছে কিনা তা এই চার্ট থেকে ভালোভাবে মনিটর করুন।
  • আপনার ইন্টিগ্রেশনে সমস্যা সমাধানের ক্ষেত্রে সমস্যার ব্রেকডাউন চার্ট সবচেয়ে বেশি কাজে লাগে। আপনার সাফল্যের শতাংশের চার্টে হাইলাইট করা প্রতিটি সমস্যার জন্য আপনার সমস্যা ব্রেকডাউনে একটি সমস্যা কোড দেখানো হয়। নিচের সারণীতে আপনি Google Home platform-এর দ্বারা ফ্ল্যাগ করা সমস্যা এবং কীভাবে সেগুলি সমাধান করবেন তা দেখতে পাবেন।

সাধারণ প্ল্যাটফর্ম সমস্যার কোড

Google Home platform-এর মাধ্যমে শনাক্ত করা সমস্যাগুলি শনাক্ত করতে, আপনার প্রোজেক্ট লগে আপনি যেসব সাধারণ সমস্যা কোড দেখতে পেতে পারেন সেগুলি এখানে দেওয়া হল। সমস্যার সমাধান সংক্রান্ত তথ্যের জন্য নিচের সারণী দেখুন। সমস্যার কোডের সম্পূর্ণ তালিকা পেতে, সমস্যা ও ব্যতিক্রম দেখুন।

সমস্যার কোড বিবরণ পার্টনারের অ্যাকশনযোগ্য
AGENT_ISSUE পার্টনারের ক্লাউড এজেন্টের সাথে একটি সাধারণ সমস্যা হয়েছে।

আপনার ফুলফিলমেন্ট লগে আনহ্যান্ডেলড ব্যতিক্রম বা ক্র্যাশ হয়েছে কিনা তা চেক করুন।
হ্যাঁ
AGENT_UNAVAILABLE_ERROR Google পার্টনারের ফুলফিলমেন্ট URL-এ পৌঁছাতে পারেনি।

আপনার সার্ভার অনলাইন আছে কিনা, ফায়ারওয়াল Google-কে ব্লক করছে কিনা এবং URL সঠিক কিনা তা নিশ্চিত করুন।
হ্যাঁ
COMMAND_FAILED কমান্ড এক্সিকিউট করার সময় সাধারণ সমস্যা হয়েছে।

নির্দিষ্ট requestId এর জন্য আপনার ফুলফিলমেন্ট লগ চেক করুন, যাতে মূল কারণ খুঁজে পাওয়া যায়।
হ্যাঁ
EXECUTION_BACKEND_FAILURE_URL_ERROR Google আপনার ফুলফিলমেন্ট থেকে HTTP 4xx সংক্রান্ত সমস্যা (401 ছাড়া অন্য কোনও সমস্যা) পেয়েছে।

403, 404 বা 400 উত্তরের জন্য আপনার ওয়েব সার্ভার লগ চেক করুন।
হ্যাঁ
EXECUTION_BACKEND_FAILURE_URL_TIMEOUT আপনার পরিষেবায় পৌঁছানোর চেষ্টা করার সময় Google-এর অনুরোধের টাইম-আউট হয়ে গেছে।

আপনার পরিষেবা অনলাইন আছে, কানেকশন গ্রহণ করছে এবং সেটির ধারণক্ষমতা পূর্ণ হয়ে যায়নি কিনা তা যাচাই করুন। এছাড়াও, টার্গেট ডিভাইস চালু, অনলাইন ও সিঙ্ক করা আছে কিনা তা যাচাই করুন।
হ্যাঁ
EXECUTION_BACKEND_FAILURE_URL_ROBOTED robots.txt বা নিরাপত্তা ফিল্টার দ্বারা ফুলফিলমেন্ট URL ব্লক করা আছে।

আপনার ফুলফিলমেন্ট এন্ডপয়েন্ট যাতে Google-এর ক্রলার/পরিষেবা অ্যাক্সেস করতে পারে তা নিশ্চিত করুন।
হ্যাঁ
EXECUTION_BACKEND_FAILURE_URL_UNREACHABLE আপনার ফুলফিলমেন্ট পরিষেবা থেকে Google একটি HTTP 5xx সমস্যা সংক্রান্ত মেসেজ পেয়েছে।

নিশ্চিত করুন যে এন্ডপয়েন্ট URL পরিষেবা স্থিতিশীল, সঠিক এবং সর্বজনীনভাবে অ্যাক্সেসযোগ্য, পরিষেবা চলছে। আপনার স্মার্ট হোম পরিষেবার লগ চেক করতে, Google Cloud Logging-এ requestId ব্যবহার করুন। হেলথ চেক ও আবার চেষ্টা করার সুবিধা যোগ করুন। সার্ভার ক্র্যাশ, টাইম-আউট বা 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 JSON রেসপন্স পেলোড Google-এর মাধ্যমে পার্স করা যায়নি।

আপনার উত্তরে সিনট্যাক্স সংক্রান্ত সমস্যা, ব্র্যাকেট বাদ পড়া বা ভুল অক্ষর আছে কিনা তা চেক করুন।
হ্যাঁ
INVALID_AUTH_TOKEN আপনার পরিষেবা থেকে Google HTTP 401 সমস্যার কোড পেয়েছে।

অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে যায়নি, কিন্তু আপনার পরিষেবা এটি বাতিল করে দিয়েছে। আপনার স্মার্ট হোম পরিষেবা লগ চেক করতে, Google Cloud Logging-এ requestId ব্যবহার করুন।
INVALID_JSON উত্তরের স্ট্রাকচারটি ভুল (যেমন, আবশ্যিক ফিল্ড নেই)।

আপনার উত্তর ইন্টেন্ট JSON স্কিমা অনুযায়ী সঠিক কিনা তা যাচাই করুন।
হ্যাঁ
MALFORMED_JSON JSON স্ট্রাকচার ভেঙে গেছে (যেমন, ক্লোজ না করা স্ট্রিং বা অবজেক্ট)।

আপনার ফুলফিলমেন্ট যেন রেসপন্স সিরিয়ালাইজ করার জন্য একটি স্ট্যান্ডার্ড JSON লাইব্রেরি ব্যবহার করে তা নিশ্চিত করুন।
হ্যাঁ
NOT_IMPLEMENTED অনুরোধ করা ইনটেন্ট বা ট্রেট পার্টনার প্রয়োগ করেনি।

আপনার SYNC উত্তরে শুধুমাত্র সেইসব বৈশিষ্ট্য অন্তর্ভুক্ত করুন যেগুলি আপনি সম্পূর্ণভাবে প্রয়োগ করেছেন।
হ্যাঁ
OPEN_AUTH_FAILURE ব্যবহারকারীর অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়ে গেছে এবং Google সেটি রিনিউ করতে পারছে না, অথবা Google আপনার পরিষেবা থেকে HTTP 401 সমস্যার কোড পেয়েছে।

আপনি এই কোডের হার বৃদ্ধি পেতে দেখলে, আপনি স্মার্ট হোম ইনটেন্ট বা রিফ্রেশ টোকেন অনুরোধ সম্পর্কিত সমস্যার হার বৃদ্ধি পেতে দেখেছেন কিনা তা চেক করুন।
PARTNER_RESPONSE_INVALID_ERROR_CODE errorCode স্ট্রিংটি Google-এর কাজ করে এমন তালিকায় নেই।

আপনার ইন্টার্নাল সমস্যাকে অফিসিয়াল সমস্যার তালিকার সাথে ম্যাপ করুন।
হ্যাঁ
PARTNER_RESPONSE_INVALID_PAYLOAD রেসপন্সের payload ফিল্ডটি সঠিক JSON অবজেক্ট নয়।

আপনার ফুলফিলমেন্ট উত্তরের রুট স্ট্রাকচার যাচাই করুন।
হ্যাঁ
PARTNER_RESPONSE_INVALID_STATUS উত্তর status 'সফল', 'সমস্যা' বা 'অফলাইন' ছিল না।

আপনার উত্তরে প্রতিটি ডিভাইসের ফলাফলে যেন একটি সঠিক স্ট্যাটাস স্ট্রিং থাকে তা নিশ্চিত করুন।
হ্যাঁ
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 অবজেক্ট হিসেবে পার্স করা যায়নি।

আপনার HTTP রেসপন্স বডিতে ট্রেলিং অক্ষর বা JSON নয় এমন কন্টেন্ট আছে কিনা চেক করুন। নিশ্চিত করুন যে payload.commands[] হল আইডি, স্ট্যাটাস ও ঐচ্ছিক স্টেট সহ একটি সঠিক JSON অবজেক্ট।
হ্যাঁ
REQUEST_ID_NOT_FOUND অনুরোধের জন্য Google ইন্টার্নাল ট্র্যাকিং আইডি খুঁজে পায়নি।

সাধারণত ইন্টার্নাল প্ল্যাটফর্ম সংক্রান্ত সমস্যা; স্পাইক মনিটর করুন এবং সহায়তা টিমের সাথে যোগাযোগ করুন।
হ্যাঁ
RESOURCE_UNAVAILABLE অনুরোধ করা রিসোর্স (ডিভাইস বা trait) উপলভ্য নেই।

ডিভাইস "ব্যস্ত" আছে কিনা বা সাময়িকভাবে বন্ধ করা হয়েছে কিনা তা চেক করুন।
হ্যাঁ
RESPONSE_TIMEOUT ৯ সেকেন্ডের মধ্যে ফুলফিলমেন্ট পরিষেবা উত্তর দিতে পারেনি।

ব্যাকএন্ড লেটেন্সি অপ্টিমাইজ করুন; ধীরে ধীরে DB কোয়েরি বা আঞ্চলিক নেটওয়ার্ক ল্যাগ চেক করুন।
হ্যাঁ
RESPONSE_UNAVAILABLE পার্টনারের ফুলফিলমেন্ট URL থেকে কোনও উত্তর পাওয়া যায়নি।

আপনার পরিষেবা চলছে কিনা এবং এন্ডপয়েন্ট ক্র্যাশ করছে কিনা তা যাচাই করুন।
হ্যাঁ
TIMEOUT ইন্টেন্ট প্রসেস করার সময় সাধারণ টাইম-আউট হয়েছে।

আপনার ক্লাউড ও ডিভাইস হাবের মধ্যে ইন্টার্নাল পরিষেবা টাইম-আউট হচ্ছে কিনা তা লগ থেকে চেক করুন।
হ্যাঁ

সার্চ লগ

মেট্রিক্স ব্যবহার করে ইন্টিগ্রেশন মনিটর করার ব্যাপারে আপনি স্বচ্ছন্দ হয়ে গেলে, পরবর্তী ধাপ হল, Cloud Logging ব্যবহার করে নির্দিষ্ট সমস্যার সমাধান করা। সমস্যার লগ হল JSON-এর মতো এন্ট্রি, এতে সময়, সমস্যার কোড এবং অরিজিনেটিং স্মার্ট হোম ইনটেন্ট সংক্রান্ত বিবরণের মতো দরকারী তথ্য থাকে।

Google Cloud-এর মধ্যে একাধিক সিস্টেম আছে যেগুলি আপনার প্রোজেক্টে সব সময় লগ পাঠায়। আপনাকে লগ ফিল্টার করার জন্য কোয়েরি লিখতে হবে এবং আপনার প্রয়োজনীয় লগ খুঁজে নিতে হবে। কোয়েরি সময়সীমা, রিসোর্স, লগ গুরুত্বপূর্ণ বা কাস্টম এন্ট্রির উপর ভিত্তি করে হতে পারে।

Cloud লগ কোয়েরি করা

আপনার কাস্টম ফিল্টার তৈরি করতে সাহায্য করার জন্য আপনি কোয়েরি বোতাম ব্যবহার করতে পারেন।

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 কীভাবে ব্যবহার করতে হয়Test Suite সেই বিষয়ে আমরা একটি ব্যবহারকারীর নির্দেশিকা প্রদান করি, যা আপনার পরিবর্তনগুলি কার্যকরভাবে পরীক্ষা করার প্রক্রিয়াতে আপনাকে সাহায্য করে।

লার্নিং রিসোর্স

এই ডকুমেন্টে আপনার স্মার্ট হোম অ্যাকশনে হওয়া সমস্যার সমাধান করার ধাপগুলি দেওয়া আছে। এছাড়াও, ডিবাগিং সম্পর্কে আরও জানতে আমাদের কোডল্যাব চেক করতে পারেন: