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

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

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

  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 صحيح.
نعم
COMMAND_FAILED حدث خطأ عام أثناء تنفيذ أحد الأوامر.

يُرجى مراجعة سجلّات التنفيذ بحثًا عن requestId المحدّد لمعرفة السبب الأساسي.
نعم
EXECUTION_BACKEND_FAILURE_URL_ERROR تلقّى محرّك بحث Google خطأ HTTP 4xx (غير 401) من عملية التنفيذ.

تحقَّق من سجلّات خادم الويب بحثًا عن الردود 403 أو 404 أو 400.
نعم
EXECUTION_BACKEND_FAILURE_URL_TIMEOUT انتهت مهلة طلب Google عند محاولة الوصول إلى خدمتك.

يُرجى التأكّد من أنّ الخدمة متصلة بالإنترنت وتقبل الاتصالات ولم تتجاوز السعة المحددة. بالإضافة إلى ذلك، تأكَّد من أنّ الجهاز المستهدَف قيد التشغيل ومتصل بالإنترنت ومتزامن.
نعم
EXECUTION_BACKEND_FAILURE_URL_ROBOTED تم حظر عنوان URL الخاص بالتنفيذ باستخدام ملف robots.txt أو فلاتر الأمان.

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

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

يمكنك ربط الأخطاء الداخلية بقائمة الأخطاء الرسمية.
نعم
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 Logs الخاصة بطلبات البحث

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

إنشاء طلبات بحث في سجلّات 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، وهو يوضّح لك كيفية اختبار التغييرات بفعالية.

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

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