Google Cloud ابزارهایی را برای پایش قابلیت اطمینان پروژههایتان با Google Cloud Monitoring و اشکالزدایی مشکلات با گزارشهای خطای Google Cloud Logging دراختیارتان قرار میدهد. هرگاه هنگام برآورده کردن هدف کاربر خطایی رخ دهد، خط لوله Google Home Analytics آن خطا را در سنجههای شما ثبت میکند و گزارش خطایی در گزارشهای پروژه شما منتشر میکند.
دو مرحله برای عیبیابی خطاهای شما وجود دارد:
- وضعیت پروژههایتان را با سنجههای خانه هوشمند پایش کنید.
- با بررسی شرحهای دقیق خطا در گزارشهای خطا، مشکلات را بررسی کنید.

بهصورت اختیاری، میتوانید «کنش» خود را با همرسانی کردن آن با کاربران دیگر آزمایش کنید. مطمئن شوید که خطاها و استثناها را بهدرستی مدیریت میکنید.
خطاهای پایش
برای دسترسی به سنجههای پروژه، میتوانید از Google Cloud Monitoring dashboards استفاده کنید. چند نمودار کلیدی وجود دارد که بهویژه برای پایش کیفیت و اشکالزدایی مفید هستند:
- نمودار نرخ موفقیت اولین نموداری است که هنگام نظارت بر قابلیت اطمینان پروژههایتان باید از آن شروع کنید. افت در این نمودار میتواند نشاندهنده قطعی برای بخشی یا کل پایگاه کاربر شما باشد. توصیه میکنیم پساز هر تغییر یا بهروزرسانی در پروژه خود، این نمودار را بهدقت برای هرگونه بینظمی زیر نظر بگیرید.
- نمودار تأخیر صدک ۹۵ شاخص مهمی برای نحوه عملکرد ادغام Cloud-to-cloud برای کاربران شما است. نوسانات ناگهانی در این نمودار ممکن است نشان دهد که سیستمهای شما نمیتوانند با درخواستها همگام شوند. توصیه میشود این نمودار را بهطور دورهای بررسی کنید تا رفتارهای غیرمنتظره را ببینید.
- نمودارهای تفکیک خطا برای عیبیابی مشکلات در ادغامهای شما بسیار مفید هستند. برای هر خطایی که در نمودار درصد موفقیت شما برجسته شده است، یک کد خطا در تفکیک خطا نمایش داده میشود. میتوانید خطاهای پرچمگذاریشده توسط Google Home platform و نحوه عیبیابی آنها را در جدول زیر ببینید.
کدهای خطای رایج پلاتفرم
در اینجا چند کد خطای رایج که ممکن است در گزارشهای پروژه خود مشاهده کنید آمده است تا مشکلات شناساییشده توسط Google Home platform را تشخیص دهید. برای اطلاعات عیبیابی، به جدول زیر مراجعه کنید. برای مشاهده فهرست کامل کدهای خطا، به خطاها و استثناها مراجعه کنید.
| کد خطا | شرح | شریک اقدامپذیر |
|---|---|---|
AGENT_ISSUE |
مشکلی کلی با عامل ابری شریک پیش آمد.
استثناها یا خرابیهای مدیریتنشده را در گزارشهای انجام تعهد بررسی کنید. |
بله |
AGENT_UNAVAILABLE_ERROR |
Google نتوانست به نشانی وب اجرای شریک دسترسی پیدا کند.
مطمئن شوید که سرور شما آنلاین است، دیوار آتش Google را مسدود نمیکند، و نشانی وب صحیح است. |
بله |
COMMAND_FAILED |
هنگام اجرای فرمان، خطای عمومی رخ داد.
گزارشهای انجام تعهد خود را برای requestId
خاص بررسی کنید تا علت ریشهای را پیدا کنید.
|
بله |
EXECUTION_BACKEND_FAILURE_URL_ERROR |
Google از اجرای شما خطای HTTP 4xx (بهجز ۴۰۱) دریافت کرد.
گزارشهای سرور وب خود را برای پاسخهای 403، 404، یا 400 بررسی کنید. |
بله |
EXECUTION_BACKEND_FAILURE_URL_TIMEOUT |
وقتی Google سعی میکرد به سرویس شما دسترسی پیدا کند، مهلت زمانی درخواستش تمام شد.
تأیید کنید که سرویس شما آنلاین است، اتصالها را میپذیرد، و ظرفیت آن تکمیل نشده است. علاوهبراین، مطمئن شوید دستگاه مقصد روشن، آنلاین، و همگامسازیشده باشد. |
بله |
EXECUTION_BACKEND_FAILURE_URL_ROBOTED |
نشانی وب اجرای تعهد توسط robots.txt یا فیلترهای امنیتی مسدود شده است.
مطمئن شوید که نقطه پایانی انجام تعهد شما برای خزنده/سرویسهای Google دردسترس باشد. |
بله |
EXECUTION_BACKEND_FAILURE_URL_UNREACHABLE |
Google از سرویس انجام تعهد شما خطای HTTP 5xx دریافت کرد.
مطمئن شوید سرویس نشانی وب نقطه پایان پایدار، صحیح، و برای عموم قابلدسترس باشد و سرویس درحال اجرا باشد. برای بررسی گزارشهای سرویس خانه هوشمند، از requestId در
Google Cloud Logging استفاده کنید.
بررسیهای سلامت و مدیریت تلاش مجدد را اضافه کنید.
خرابیهای سرور، پایان مهلت زمانی، یا خطاهای دروازه ۵۰۲/۵۰۳ را بررسی کنید.
|
بله |
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 شریک بهدرستی به refresh_token درخواستهای Google برای صدور بیوقفه
رمزهای دسترسی جدید پاسخ میدهد.
|
بله |
EXECUTION_INVALID_JSON |
پایهبار پاسخ JSON توسط Google تجزیه نشد.
پاسختان را ازنظر خطاهای نحوی، نبودن قلاب، یا نویسههای نامعتبر بررسی کنید. |
بله |
INVALID_AUTH_TOKEN |
Google کد خطای HTTP 401 از سرویس شما دریافت کرده است.
کد دسترسی منقضی نشده است اما سرویس شما آن را نامعتبر کرده است. برای بررسی گزارشهای سرویس خانه هوشمند، از requestId در Google Cloud Logging استفاده کنید.
|
|
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 تجزیه نشد.
نویسههای انتهایی یا محتوای غیر JSON را در بدنه پاسخ HTTP بررسی کنید. مطمئن شوید payload.commands[] شیء JSON
مناسبی با شناسهها، وضعیت، و وضعیتهای اختیاری باشد.
|
بله |
REQUEST_ID_NOT_FOUND |
Google نتوانست شناسه پیگیری داخلی را برای درخواست پیدا کند.
معمولاً خطای پلاتفرم داخلی است؛ برای جهشها نظارت کنید و با پشتیبانی تماس بگیرید. |
بله |
RESOURCE_UNAVAILABLE |
منبع درخواستشده (دستگاه یا ویژگی) دردسترس نیست.
بررسی کنید دستگاه «مشغول» نباشد یا موقتاً غیرفعال نشده باشد. |
بله |
RESPONSE_TIMEOUT |
سرویس انجام تعهد نتوانست ظرف ۹ ثانیه پاسخ دهد.
تأخیر زیرینه را بهینهسازی کنید؛ پُرسمانهای پایگاه داده کند یا تأخیر شبکه منطقهای را بررسی کنید. |
بله |
RESPONSE_UNAVAILABLE |
پاسخی از نشانی وب اجرای شریک دریافت نشد.
تأیید کنید که سرویس شما درحال اجرا است و نقطه پایانی ازکار نمیافتد. |
بله |
TIMEOUT |
هنگام پردازش هدف، زمان کلی پایان یافت.
گزارشهای مربوط به زمانهای اتمام سرویس داخلی بین ابر و مرکزهای دستگاه را بررسی کنید. |
بله |
جستجوی گزارشها
وقتی با پایش یکپارچهسازیهایتان بااستفاده از سنجهها راحت شدید، مرحله بعدی عیبیابی خطاهای خاص بااستفاده از 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 ارائه میدهیم که شما را در آزمایش مؤثر تغییراتتان راهنمایی میکند.
منابع یادگیری
این سند مراحل عیبیابی خطاهای «کنش خانه هوشمند» را ارائه میدهد. همچنین میتوانید برای کسب اطلاعات بیشتر درباره اشکالزدایی، codelabs ما را بررسی کنید:
- اشکالزدایی Codelab خانه هوشمند: راهنمای شروع سریع برای اشکالزدایی یکپارچهسازی ابری خانه هوشمند.
- اشکالزدایی Codelab خانه هوشمند: راهنمای شروع سریع برای اشکالزدایی ادغام محلی خانه هوشمند.