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 الوصول إلى عنوان URL لتلبية الطلبات الخاص بالشريك.
يُرجى التأكّد من أنّ الخادم متصل بالإنترنت وأنّ جدار الحماية لا يحظر Google وأنّ عنوان URL صحيح. |
نعم |
BACKEND_FAILURE_URL_TIMEOUT |
انتهت مهلة طلب Google أثناء محاولة الوصول إلى خدمتك.
يُرجى التأكّد من أنّ خدمتك متصلة بالإنترنت وتقبل الاتصالات، وليست فوق طاقتها. بالإضافة إلى ذلك، يُرجى التأكّد من أنّ الجهاز المستهدَف قيد التشغيل ومتصل بالإنترنت ومتزامن. |
|
BACKEND_FAILURE_URL_UNREACHABLE |
تلقّت Google رمز خطأ HTTP 5xx من خدمتك.
يُرجى استخدام requestId في Google Cloud Logging للاطّلاع على
سجلّات خدمة المنزل المزوّد بأجهزة ذكية. يُرجى التحقيق في أعطال الخادم أو انتهاء المهلة،
أو أخطاء البوابة 502/503.
|
|
COMMAND_FAILED |
حدث عطل عام أثناء تنفيذ أمر.
يُرجى الاطّلاع على سجلّات تلبية الطلبات لمعرفة requestId
للعثور على السبب الجذري.
|
نعم |
EXECUTION_BACKEND_FAILURE_URL_ERROR |
تلقّت Google خطأ HTTP 4xx (غير 401) من عملية تلبية الطلبات.
يُرجى الاطّلاع على سجلّات خادم الويب بحثًا عن الردود 403 أو 404 أو 400. |
نعم |
EXECUTION_BACKEND_FAILURE_URL_ROBOTED |
تم حظر عنوان URL لتلبية الطلبات من قِبل ملف robots.txt أو فلاتر الأمان.
يُرجى التأكّد من إمكانية وصول برامج الزحف/الخدمات من Google إلى نقطة نهاية تلبية الطلبات. |
نعم |
EXECUTION_BACKEND_FAILURE_URL_UNREACHABLE |
تلقّت Google خطأ HTTP 5xx من خدمة تلبية الطلبات.
يُرجى التأكّد من أنّ خدمة عنوان URL لنقطة النهاية مستقرة وصحيحة ويمكن الوصول إليها علنًا وأنّ الخدمة قيد التشغيل. يُرجى إضافة عمليات التحقّق من الحالة ومعالجة عمليات إعادة المحاولة. يُرجى التحقيق في أعطال الخادم أو انتهاء المهلة أو أخطاء البوابة 502/503. |
نعم |
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 |
تعذّر على Google تحليل حمولة استجابة JSON.
يُرجى التحقّق من وجود أخطاء في البنية أو أقواس ناقصة أو أحرف غير صالحة في استجابتك. |
نعم |
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's.
يُرجى ربط الأخطاء الداخلية بقائمة الأخطاء الرسمية. |
نعم |
PARTNER_RESPONSE_INVALID_PAYLOAD |
الحقل payload في الاستجابة ليس كائن JSON
صالحًا.
يُرجى التحقّق من البنية الأساسية لاستجابة تلبية الطلبات. |
نعم |
PARTNER_RESPONSE_INVALID_STATUS |
لم تكن status في الاستجابة SUCCESS أو ERROR أو OFFLINE.
يُرجى التأكّد من أنّ كل نتيجة جهاز في استجابتك تتضمّن سلسلة حالة صالحة. |
نعم |
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 |
تعذّر على خدمة تلبية الطلبات الردّ في غضون 9 ثوانٍ.
يُرجى تحسين وقت استجابة الخادم، والتحقّق من بطء طلبات قاعدة البيانات أو تأخّر الشبكة الإقليمية. |
نعم |
RESPONSE_UNAVAILABLE |
لم يتم تلقّي أي ردّ من عنوان URL لتلبية الطلبات الخاص بالشريك.
يُرجى التأكّد من أنّ خدمتك قيد التشغيل وأنّ نقطة النهاية لا تتعطّل. |
نعم |
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، الذي يرشدك خلال عملية اختبار التغييرات بشكل فعّال.
موارد التعلُّم
توفّر هذه المستندات خطوات تحديد المشاكل وحلّها في إجراء المنزل المزوّد بأجهزة ذكية. يمكنك أيضًا الاطّلاع على الدروس التطبيقية لمعرفة المزيد عن تحديد المشاكل وحلّها:
- الدرس التطبيقي حول تحديد المشاكل وحلّها في المنزل المزوّد بأجهزة ذكية: دليل البدء السريع لتحديد المشاكل وحلّها في عملية التكامل السحابي للمنزل المزوّد بأجهزة ذكية
- الدرس التطبيقي حول تحديد المشاكل وحلّها في Local Home: دليل البدء السريع لتحديد المشاكل وحلّها في عملية التكامل المحلي للمنزل المزوّد بأجهزة ذكية