تحديد مشاكل الدمج وحلّها

السحابة الإلكترونية إلى السحابة الإلكترونية    المسألة القانونية

Google Cloud يوفّر لك الأدوات اللازمة لمراقبة موثوقية مشاريعك باستخدام Google Cloud Monitoring وتصحيح الأخطاء المتعلقة بسجلات أخطاء Google Cloud Logging. عندما يحدث إخفاق عند تحقيق نوايا المستخدم، يسجل مسار إحصاءات Google Home هذا الفشل في المقاييس، وينشر سجل خطأ في سجلات مشروعك.

هناك خطوتان لتحديد الأخطاء وحلّها:

  1. يمكنك مراقبة حالة مشاريعك باستخدام مقاييس المنزل المزوّد بأجهزة ذكية.
  2. قم بالتحقيق في المشكلات من خلال التحقق من أوصاف الأخطاء التفصيلية في سجلات الخطأ.

وتتشابه هذه العملية مع الدمج المحلي باستخدام السمة Local Home SDK. بمجرد إتقان سير عملية استكشاف الأخطاء وإصلاحها، يمكنك التنقل بسهولة بين المقاييس والسجلات للحصول على رؤى حول أخطائك.

رصد الأخطاء

يمكنك استخدام Google Cloud Monitoring dashboard للوصول إلى مقاييس مشروعك. هناك بعض المخططات الرئيسية المفيدة بشكل خاص لمراقبة الجودة وتصحيح الأخطاء:

  • مخطط معدل النجاح هو أول مخطط يبدأ من وقت مراقبة موثوقية مشروعاتك. يمكن أن تشير الانخفاضات في هذا المخطط إلى انقطاع في الخدمة لجزء من أو كل قاعدة المستخدمين لديك. نوصي بمراقبة هذا المخطط عن كثب بحثًا عن أي مخالفات بعد كل تغيير أو تحديث لمشروعك.
  • يُعدّ مخطط وقت استجابة الشريحة المئوية الـ 95 مؤشرًا مهمًا لمستوى أداء إجراء المنزل المزوّد بأجهزة ذكية للمستخدمين. قد تشير التقلبات المفاجئة في هذا المخطط إلى أن أنظمتك قد تكون غير قادرة على تلبية الطلبات. يُنصح بالتحقق بشكل دوري من هذا المخطط لمعرفة أي سلوك غير متوقع.
  • يمكنك الاستفادة الأكثر فائدة من الرسوم البيانية لتقسيم الأخطاء في حال تحديد المشاكل في عمليات الدمج وحلّها. لكل خطأ تم تمييزه في مخطط النسبة المئوية للنجاح، يتم عرض رمز خطأ في تفاصيل الأخطاء. يمكنك الاطّلاع على الأخطاء التي تم وضع علامة عليها بواسطة Google Home platform وكيفية تحديد المشاكل وحلّها في الجدول أدناه.

رموز الخطأ في النظام الأساسي

إليك بعض رموز الخطأ الشائعة التي قد تراها في سجلات المشروع لتحديد المشاكل التي تم رصدها من خلال Google Home platform. يرجى الرجوع إلى الجدول التالي للحصول على معلومات استكشاف الأخطاء وإصلاحها.

رمز الخطأ الوصف
BACKEND_FAILURE_URL_ERROR تلقّى محرّك بحث Google رمز خطأ HTTP 4xx غير 401 من خدمتك.

يمكنك استخدام requestId في "تسجيل الدخول في GCP" للتحقُّق من سجلّات الخدمات المنزلية الذكية.
BACKEND_FAILURE_URL_TIMEOUT انتهت مهلة طلب Google عند محاولة الوصول إلى الخدمة.

تأكَّد من أنّ الخدمة متصلة بالإنترنت وأنّها تقبل عمليات الربط وأنّها لم تتجاوز الحدّ الأقصى للسعة. إضافةً إلى ذلك، تحقّق من أنّ الجهاز المستهدف قيد التشغيل ومتّصل بالإنترنت ومتزامن.
BACKEND_FAILURE_URL_UNREACHABLE تلقى Google رمز خطأ HTTP 5xx من الخدمة.

يمكنك استخدام requestId في "تسجيل الدخول في GCP" للتحقُّق من سجلّات الخدمات المنزلية الذكية.
DEVICE_NOT_FOUND الجهاز غير متوفر من خلال خدمة الشركاء.

يشير هذا عادةً إلى حدوث إخفاق في مزامنة البيانات أو إلى حالة سباق.
GAL_BAD_3P_RESPONSE يتعذّر على Google تحليل الرد من خدمة ربط الحسابات بسبب التنسيق أو القيم غير الصالحة في الحمولة.

يمكنك استخدام requestId في تسجيل الدخول إلى Google Cloud Platform للتحقّق من سجلات الأخطاء في خدمة ربط الحساب.
GAL_INTERNAL حدث خطأ داخلي في Google عندما حاول محرّك بحث Google استرداد رمز الدخول.

إذا رصدت زيادة في معدّل هذا الخطأ عند تسجيل الدخول إلى Google Cloud Platform، يُرجى التواصل معنا للحصول على المزيد من المعلومات.
GAL_INVALID_ARGUMENT حدث خطأ داخلي في Google عندما حاول محرّك بحث Google استرداد رمز الدخول.

إذا رصدت زيادة في معدّل هذا الخطأ عند تسجيل الدخول إلى Google Cloud Platform، يُرجى التواصل معنا للحصول على المزيد من المعلومات.
GAL_NOT_FOUND يتم إبطال صلاحية رموز الدخول والرموز المميزة لإعادة التحميل الخاصة بالمستخدم المخزّنة في Google، ولا يمكن إعادة تحميلها بعد ذلك. يحتاج المستخدم إلى إعادة ربط حسابه لمواصلة استخدام الخدمة.

إذا رصدت زيادة في معدّل هذا الخطأ عند تسجيل الدخول إلى Google Cloud Platform، يُرجى التواصل معنا للحصول على المزيد من المعلومات.
GAL_PERMISSION_DENIED حدث خطأ داخلي في Google عندما تكون مشاركة الرمز المميّز غير مسموح بها.

إذا رصدت زيادة في معدّل هذا الخطأ عند تسجيل الدخول إلى Google Cloud Platform، يُرجى التواصل معنا للحصول على المزيد من المعلومات.
GAL_REFRESH_IN_PROGRESS انتهت صلاحية رمز الدخول الخاص بالمستخدم، وتجري حاليًا محاولة أخرى متزامنة لإعادة التحميل.

هذه ليست مشكلة وليس عليك اتخاذ أي إجراء.
INVALID_AUTH_TOKEN تلقى Google رمز الخطأ HTTP 401 من الخدمة.

لم تنته صلاحية رمز الدخول، ولكن أبطلته الخدمة. يمكنك استخدام "requestId" في ميزة "تسجيل الدخول في Google Cloud Platform" للاطّلاع على سجلّات الخدمات المنزلية الذكية.
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 للتحقق من سجلات الخدمات المنزلية الذكية.
RESPONSE_TIMEOUT انتهت مهلة الطلب أثناء انتظار الردّ.

تقع المهلة الزمنية لإرسال ردّ على 9 ثوانٍ من وقت إرسال الطلب. احرص على إرسال ردّ خلال هذه الفترة الزمنية.
RESPONSE_UNAVAILABLE لم يتم تلقي أي رد، أو أن الرد لا يشير إلى الحالة.

يجب تنظيم الردود على طلبات تحقيق النية بالشراء وفقًا لمستندات المنزل المزوّد بأجهزة ذكية والإشارة إلى الحالة.
TRANSIENT_ERROR الخطأ العابر هو خطأ يتم حله تلقائيًا.

تظهر هذه الأخطاء عادةً كاتصال بجهاز أو خدمة يتم قطعها. وأيضًا في حال تعذَّر فتح الاتصالات الجديدة بخادم.

سجلات البحث

بعد التعرّف على كيفية رصد عمليات الدمج باستخدام المقاييس، عليك أولاً تحديد مشاكل معيّنة وحلّها باستخدام Cloud Logging. سجلّ الأخطاء هو إدخال يشبه JSON مع حقول تحتوي على معلومات مفيدة مثل الوقت ورمز الخطأ والتفاصيل المتعلقة بالنية الأساسية للمنزل المزوّد بأجهزة ذكية.

هناك أنظمة متعددة ضمن Google Cloud ترسل السجلات إلى مشروعك في جميع الأوقات. يجب كتابة طلبات بحث لفلترة سجلّاتك والعثور على تلك التي تحتاج إليها. ويمكن أن تستند طلبات البحث إلى النطاق الزمني أو المورد أو سجلّ درجة الخطورة أو الإدخالات المخصّصة.

سجلات السحابة الإلكترونية لطلب البحث

يمكنك استخدام أزرار الاستعلام لمساعدتك في إنشاء فلاتر مخصصة.

إنشاء طلبات بحث سجلّ 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، الذي يرشدك خلال اختبار التغييرات بفعالية.

موارد التعلُّم

يقدّم هذا المستند خطوات تحديد وحلّ المشاكل في إجراءات المنزل المزوّد بأجهزة ذكية. يمكنك أيضًا الاطّلاع على الدروس التطبيقية حول الترميز لمعرفة المزيد من المعلومات حول تصحيح الأخطاء: