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

من السحابة إلى السحابة    Matter

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 غير صالحة أو لا يمكن تحديثها، ما يمنع المصادقة والوص01}ول إلى خدمة الشريك.

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

يُرجى ربط الأخطاء الداخلية بقائمة الأخطاء الرسمية.
نعم
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، والذي يرشدك خلال عملية اختبار التغييرات بفعالية.

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

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