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 ছাড়া অন্য একটি HTTP 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 আপনার পরিষেবা থেকে একটি 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 ক্লাউড লগিং-এ requestId ব্যবহার করুন। |
RESPONSE_TIMEOUT | প্রতিক্রিয়ার জন্য অপেক্ষা করার সময় অনুরোধের সময় শেষ হয়েছে৷ একটি প্রতিক্রিয়া পাঠানোর সময়সীমা হল অনুরোধ পাঠানো হওয়ার পর থেকে 9 সেকেন্ড। এই সময়ের মধ্যে একটি প্রতিক্রিয়া পাঠাতে ভুলবেন না. |
RESPONSE_UNAVAILABLE | কোন প্রতিক্রিয়া পাওয়া যায় না, বা প্রতিক্রিয়া স্থিতি নির্দেশ করে না. উদ্দেশ্য পূরণের অনুরোধের প্রতিক্রিয়াগুলি স্মার্ট হোম ডক্স অনুযায়ী গঠন করা উচিত এবং অবস্থা নির্দেশ করা উচিত। |
TRANSIENT_ERROR | একটি ক্ষণস্থায়ী ত্রুটি এমন একটি ত্রুটি যা নিজেই সমাধান করবে। সাধারণত এই ত্রুটিগুলি একটি ডিভাইস বা পরিষেবার সাথে সংযোগ বাদ দেওয়া হিসাবে প্রকাশ পায়। এছাড়াও যদি একটি সার্ভারে নতুন সংযোগ খোলা যাবে না। |
অনুসন্ধান লগ
একবার আপনি মেট্রিক্স ব্যবহার করে আপনার ইন্টিগ্রেশনগুলি নিরীক্ষণ করতে স্বাচ্ছন্দ্য বোধ করলে, পরবর্তী ধাপ হল Cloud Logging ব্যবহার করে নির্দিষ্ট ত্রুটির সমস্যা সমাধান করা। একটি ত্রুটি লগ হল একটি JSON-এর মতো এন্ট্রি যাতে সময়, ত্রুটি কোড এবং স্মার্ট হোমের উদ্ভব সম্পর্কিত বিশদ বিবরণের মতো দরকারী তথ্য থাকে।
Google Cloud মধ্যে একাধিক সিস্টেম রয়েছে যেগুলি সর্বদা আপনার প্রকল্পে লগ পাঠায়। আপনার লগগুলি ফিল্টার করতে এবং আপনার প্রয়োজনীয়গুলি খুঁজে পেতে আপনাকে প্রশ্নগুলি লিখতে হবে৷ প্রশ্নগুলি একটি সময় পরিসীমা , সংস্থান , লগের তীব্রতা বা কাস্টম এন্ট্রিগুলির উপর ভিত্তি করে করা যেতে পারে।
আপনি আপনার কাস্টম ফিল্টার তৈরি করতে সাহায্য করার জন্য ক্যোয়ারী বোতাম ব্যবহার করতে পারেন।
একটি সময় পরিসীমা নির্দিষ্ট করতে, সময় সীমা নির্বাচন বোতামের
ক্লিক করুন এবং প্রদত্ত বিকল্পগুলির মধ্যে একটি বেছে নিন। এটি লগগুলিকে ফিল্টার করবে এবং নির্বাচিত সময় সীমাতে উৎপন্ন হওয়াগুলিকে দেখাবে৷একটি রিসোর্স নির্দিষ্ট করতে, রিসোর্স ড্রপডাউনে ক্লিক করুন, তারপর Google অ্যাসিস্ট্যান্ট অ্যাকশন প্রজেক্ট বেছে নিন। এটি আপনার প্রোজেক্ট থেকে উদ্ভূত লগগুলি দেখাতে আপনার ক্যোয়ারীতে একটি ফিল্টার যোগ করে।
জরুরী , তথ্য , ডিবাগ , এবং অন্যান্য তীব্রতা লগ স্তর দ্বারা ফিল্টার করতে তীব্রতা বোতামটি ব্যবহার করুন৷
আপনি কাস্টম এন্ট্রি প্রবেশ করতে 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 কীভাবে ব্যবহার করবেন সে সম্পর্কে আমরা একটি ব্যবহারকারীর নির্দেশিকা প্রদান করি, যা আপনার পরিবর্তনগুলি কার্যকরভাবে পরীক্ষা করার মাধ্যমে আপনাকে নিয়ে যায়।
শেখার সম্পদ
এই দস্তাবেজটি আপনার স্মার্ট হোম অ্যাকশনে ত্রুটিগুলি সমাধান করার পদক্ষেপগুলি প্রদান করে৷ আপনি ডিবাগিং সম্পর্কে আরও জানতে আমাদের কোডল্যাবগুলি পরীক্ষা করতে পারেন:
- ডিবাগিং স্মার্ট হোম কোডল্যাব : স্মার্ট হোম ক্লাউড ইন্টিগ্রেশন ডিবাগ করার জন্য দ্রুত স্টার্ট গাইড।
- স্থানীয় হোম কোডল্যাব ডিবাগিং : স্মার্ট হোম স্থানীয় ইন্টিগ্রেশন ডিবাগ করার জন্য দ্রুত শুরু নির্দেশিকা।