توفّر لك Google Cloud الأدوات اللازمة لمراقبة موثوقية مشاريعك باستخدام Google Cloud Monitoring وتحديد المشاكل وحلّها باستخدام سجلات الأخطاء في Google Cloud Logging. عند حدوث خطأ أثناء تنفيذ طلبات المستخدمين، يسجّل مسار بيانات "إحصاءات Google Home" هذا الخطأ في مقاييسك، وينشر سجلّ خطأ في سجلّات مشروعك.
هناك خطوتان لتحديد المشاكل وحلّها:
- تتبُّع حالة مشاريعك باستخدام مقاييس المنزل الذكي
- يمكنك التحقيق في المشاكل من خلال الاطّلاع على أوصاف الأخطاء التفصيلية في سجلّات الأخطاء.
يمكنك اختياريًا اختبار الإجراء من خلال مشاركته مع مستخدمين آخرين. احرص على التعامل مع الأخطاء والاستثناءات بشكل مناسب.
تتبُّع الأخطاء
يمكنك استخدام 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 ترسل السجلات إلى مشروعك في جميع الأوقات. عليك كتابة طلبات بحث لفلترة سجلّاتك والعثور على السجلّات التي تحتاج إليها. يمكن أن تستند طلبات البحث إلى نطاق زمني أو مورد أو مستوى خطورة السجل أو إدخالات مخصّصة.

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

لتحديد نطاق زمني، انقر على زر اختيار النطاق الزمني
واختَر أحد الخيارات المتاحة. سيؤدي ذلك إلى فلترة السجلات وعرض السجلات التي تم إنشاؤها في النطاق الزمني المحدّد.لتحديد مرجع، انقر على القائمة المنسدلة المرجع، ثم اختَر مشروع إجراء "مساعد 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. يمكنك أيضًا الاطّلاع على دروسنا البرمجية لمعرفة المزيد حول تصحيح الأخطاء:
- تصحيح أخطاء الدرس التطبيقي حول الترميز الخاص بالمنزل الذكي: دليل البدء السريع لتصحيح أخطاء عملية دمج السحابة الإلكترونية الخاصة بالمنزل الذكي
- تصحيح أخطاء Local Home Codelab: دليل البدء السريع لتصحيح أخطاء عملية الدمج المحلية للمنزل الذكي