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

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

هناك خطوتان لتحديد المشاكل وحلّها:

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

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

يمكنك اختياريًا اختبار الإجراء من خلال مشاركته مع مستخدمين آخرين. احرص على التعامل مع الأخطاء والاستثناءات بشكل مناسب.

تتبُّع الأخطاء

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

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

رموز الخطأ في المنصة

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

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

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

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

استخدِم requestId في خدمة "تسجيل الدخول" من Google Cloud Platform (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 للتحقّق من سجلّات خدمة المنزل الذكي.
RELINK_REQUIRED أشار الردّ إلى حدوث خطأ relinkRequired، ما يطلب من المستخدم إعادة ربط حسابَيه على Google وعلى الشريك.

لمزيد من المعلومات، اطّلِع على رموز الخطأ المتوافقة.
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، وهو يرشدك إلى كيفية اختبار التغييرات بفعالية.

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

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