Google Cloud ابزارهایی را برای نظارت بر قابلیت اطمینان پروژه های خود با Google Cloud Monitoring و مشکلات اشکال زدایی با سیاهههای خطای Google Cloud Logging فراهم می کند. هر زمان که هنگام تحقق اهداف کاربر، شکستی رخ دهد، خط لوله Google Home Analytics آن شکست را در معیارهای شما ثبت میکند و یک گزارش خطا در گزارشهای پروژه شما منتشر میکند.
دو مرحله برای عیب یابی خطا وجود دارد:
- وضعیت پروژه های خود را با معیارهای خانه هوشمند نظارت کنید.
- با بررسی توضیحات خطای دقیق در سیاهههای خطا ، مسائل را بررسی کنید.
به صورت اختیاری، میتوانید Action خود را با اشتراکگذاری آن با سایر کاربران آزمایش کنید. اطمینان حاصل کنید که خطاها و استثناها را به درستی مدیریت می کنید .
خطاهای نظارت
برای دسترسی به معیارهای پروژه خود می توانید از Google Cloud Monitoring dashboard استفاده کنید. چند نمودار کلیدی وجود دارد که به ویژه برای نظارت بر کیفیت و اشکال زدایی مفید هستند:
- نمودار نرخ موفقیت اولین نموداری است که از زمانی شروع می شود که شما قابلیت اطمینان پروژه های خود را نظارت می کنید. افت در این نمودار می تواند نشان دهنده قطعی برای بخشی یا کل پایگاه کاربر شما باشد. توصیه می کنیم پس از هر تغییر یا به روز رسانی پروژه خود، این نمودار را از نظر هرگونه بی نظمی به دقت زیر نظر داشته باشید.
- نمودار 95 درصد تاخیر یک شاخص مهم برای عملکرد یکپارچه سازی Cloud-to-cloud شما برای کاربران شما است. نوسانات ناگهانی در این نمودار ممکن است نشان دهد که سیستم شما ممکن است نتواند به درخواست ها پاسخ دهد. توصیه می شود به طور دوره ای این نمودار را بررسی کنید تا رفتار غیرمنتظره ای را مشاهده کنید.
- نمودارهای شکست خطا هنگام عیب یابی مشکلات ادغام های شما بسیار مفید هستند. برای هر خطای برجسته شده در نمودار درصد موفقیت شما، یک کد خطا در تفکیک خطا نمایش داده می شود. در جدول زیر می توانید خطاهای پرچم گذاری شده توسط Google Home platform و نحوه عیب یابی آنها را مشاهده کنید.
کدهای خطای بستر
در اینجا برخی از کدهای خطای رایج وجود دارد که ممکن است در گزارشهای پروژه خود مشاهده کنید تا مشکلاتی را که توسط Google Home platform شناسایی میشوند، شناسایی کنید. لطفاً برای اطلاعات عیب یابی به جدول زیر مراجعه کنید.
کد خطا | توضیحات |
---|---|
BACKEND_FAILURE_URL_ERROR | Google یک کد خطای HTTP 4xx غیر از 401 از سرویس شما دریافت کرده است. از requestId در GCP Logging برای بررسی گزارش های خدمات خانه هوشمند خود استفاده کنید. | BACKEND_FAILURE_URL_TIMEOUT | زمان درخواست Google هنگام تلاش برای دسترسی به سرویس شما تمام شد. بررسی کنید که سرویس شما آنلاین است، اتصالات را می پذیرد، و ظرفیت آن بیش از حد نیست. علاوه بر این، بررسی کنید که دستگاه مورد نظر روشن، آنلاین و همگامسازی شده باشد. |
BACKEND_FAILURE_URL_UNREACHABLE | Google یک کد خطای HTTP 5xx از سرویس شما دریافت کرده است. برای بررسی سیاهههای مربوط به خدمات خانگی هوشمند خود از requestId در GCP Logging استفاده کنید. |
DEVICE_NOT_FOUND | دستگاه در سمت سرویس شریک وجود ندارد. این معمولاً نشان دهنده نقص در همگام سازی داده ها یا وضعیت مسابقه است. |
GAL_BAD_3P_RESPONSE | به دلیل فرمت یا مقادیر نامعتبر در بار، Google نمی تواند پاسخ سرویس پیوند حساب شما را تجزیه کند. برای بررسی خطای خطای در سرویس پیوند حساب خود ، از requestId در GCP Logging استفاده کنید. |
GAL_INTERNAL | هنگامی که Google سعی کرد یک نشانه دسترسی را بازیابی کند، یک خطای داخلی Google رخ داد. در صورت مشاهده افزایش نرخ این خطا در GCP Logging، برای اطلاعات بیشتر با ما تماس بگیرید. |
GAL_INVALID_ARGUMENT | یک خطای داخلی Google هنگامی رخ داد که Google سعی در بازیابی یک نشانه دسترسی داشت. در صورت مشاهده افزایش نرخ این خطا در GCP Logging، برای اطلاعات بیشتر با ما تماس بگیرید. |
GAL_NOT_FOUND | نشانه های دسترسی کاربر و نشانه های تازه شده در Google باطل می شوند و دیگر نمی توان آنها را تازه کرد. کاربر برای ادامه استفاده از سرویس شما باید حساب خود را مجدداً پیوند دهد. در صورت مشاهده افزایش نرخ این خطا در GCP Logging، برای اطلاعات بیشتر با ما تماس بگیرید. |
GAL_PERMISSION_DENIED | وقتی اشتراکگذاری رمز مجاز نیست، یک خطای داخلی Google روی داد. در صورت مشاهده افزایش نرخ این خطا در GCP Logging، برای اطلاعات بیشتر با ما تماس بگیرید. |
GAL_REFRESH_IN_PROGRESS | رمز دسترسی کاربر منقضی شده است و تلاش همزمان دیگری برای بهروزرسانی آن در حال انجام است. این یک موضوع نیست و نیازی به اقدامی نیست. |
INVALID_AUTH_TOKEN | گوگل کد خطای HTTP 401 را از سرویس شما دریافت کرده است. رمز دسترسی منقضی نشده است اما سرویس شما آن را باطل کرده است. از requestId در GCP Logging برای بررسی گزارش های خدمات خانه هوشمند خود استفاده کنید. |
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 | عدم رسیدگی به درخواست از requestId در Google Cloud Logging برای بررسی گزارش های خدمات خانه هوشمند خود استفاده کنید. |
RELINK_REQUIRED | Response یک خطای relinkRequired را نشان میدهد که از کاربر میخواهد حسابهای Google و شریک خود را دوباره پیوند دهد.برای اطلاعات بیشتر به کدهای خطای پشتیبانی شده مراجعه کنید. |
RESPONSE_TIMEOUT | زمان درخواست در انتظار پاسخ به پایان رسیده است. بازه زمانی ارسال پاسخ 9 ثانیه از زمان ارسال درخواست است. مطمئن شوید که در این بازه زمانی پاسخ ارسال کنید. |
RESPONSE_UNAVAILABLE | پاسخی دریافت نمی شود یا پاسخ وضعیت را نشان نمی دهد. پاسخ به درخواست های تحقق قصد باید مطابق اسناد خانه هوشمند ساختار یافته و وضعیت را نشان دهد. |
TRANSIENT_ERROR | خطای گذرا خطایی است که خود به خود برطرف می شود. به طور معمول این خطاها به عنوان اتصال به یک دستگاه یا سرویس در حال کاهش است. همچنین اگر اتصالات جدید به سرور قابل باز شدن نباشد. |
گزارش های جستجو
هنگامی که با استفاده از معیارها به راحتی بر ادغامهای خود نظارت میکنید، گام بعدی عیبیابی خطاهای خاص با استفاده از Cloud Logging است. خطای خطای یک ورودی JSON مانند با زمینه هایی است که حاوی اطلاعات مفیدی مانند زمان ، کد خطا و جزئیات مربوط به هدف اصلی خانه هوشمند است.
چندین سیستم در Google Cloud وجود دارد که همیشه گزارشها را به پروژه شما ارسال میکنند. برای فیلتر کردن گزارش های خود و پیدا کردن موارد مورد نیاز، باید پرس و جوهایی بنویسید . پرس و جوها می توانند بر اساس محدوده زمانی ، منبع ، شدت گزارش یا ورودی های سفارشی باشند.

می توانید از دکمه های پرس و جو برای کمک به ساخت فیلترهای سفارشی خود استفاده کنید.

برای تعیین محدوده زمانی ،
دکمه انتخاب محدوده زمانی کلیک کنید و یکی از گزینه های ارائه شده را انتخاب کنید. این گزارشها را فیلتر میکند و مواردی را که در محدوده زمانی انتخابشده منشا میگیرند نشان میدهد.برای مشخص کردن یک منبع ، روی کشویی منبع کلیک کنید ، سپس پروژه اقدام Google Assistant را انتخاب کنید. این یک فیلتر را به درخواست شما اضافه می کند تا گزارش های مربوط به پروژه شما را نشان دهد.
از دکمه شدت برای فیلتر کردن در مواقع اضطراری ، اطلاعات ، اشکال زدایی و سایر سطح ورود به سیستم استفاده کنید.
همچنین می توانید از قسمت Query در 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 آزمایش کنید. We provide a user guide on how to use Test Suite , which walks you through testing your changes effectively.
منابع یادگیری
این سند مراحل عیب یابی خطاها را در عمل خانه هوشمند شما ارائه می دهد. همچنین می توانید CodeLabs ما را بررسی کنید تا در مورد اشکال زدایی بیشتر بدانید:
- اشکال زدایی Codelab خانه هوشمند : راهنمای شروع سریع برای رفع اشکال ادغام ابر خانه هوشمند.
- اشکال زدایی CodeLab خانگی محلی : راهنمای شروع سریع برای اشکال زدایی در خانه هوشمند ادغام محلی.