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

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

هناك خطوتان لتحديد المشاكل وحلّها في ما يتعلّق بالأخطاء:

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

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

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

مراقبة الأخطاء

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

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

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

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