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" للاطّلاع على سجلّات خدمة
المنزل الذكي.
|
BACKEND_FAILURE_URL_TIMEOUT |
انتهت مهلة طلب Google عند محاولة الوصول إلى خدمتك.
تأكَّد من أنّ خدمتك متاحة على الإنترنت وأنّها تقبل عمليات الربط وأنّها لا تتجاوز طاقتها الاستيعابية. بالإضافة إلى ذلك، تأكَّد من أنّ الجهاز المستهدف مشغّل ومتّصل بالإنترنت ومزامن. |
BACKEND_FAILURE_URL_UNREACHABLE |
تلقّت Google رمز خطأ HTTP 5xx من خدمتك.
استخدِم requestId في "تسجيلات Google Cloud Platform" للاطّلاع على سجلّات خدمة
المنزل الذكي.
|
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.
تحقّق من جميع الحقول في ردّ الطلب بحثًا عن أحرف غير مقصودة أو brackets (قوسَين) غير متطابقَين أو أخطاء في التنسيق. قد تكون بعض أحرف يونيكود غير متوافقة. تأكَّد أيضًا من أنّ الاستجابة منسَّقة بشكلٍ صحيح على هيئة عنصر JSON. |
PROTOCOL_ERROR |
تعذّرت معالجة الطلب.
استخدِم requestId في "تسجيلات Google Cloud" للاطّلاع على
سجلات خدمة المنزل الذكي.
|
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، والذي يرشدك خلال اختبار التغييرات بفعالية.
موارد التعلُّم
يقدّم هذا المستند خطوات تحديد وحلّ المشاكل المتعلّقة بالأخطاء في تطبيق "العمل" في "المنزل الذكي". يمكنك أيضًا الاطّلاع على ورشات عمل الترميز لمعرفة المزيد من المعلومات عن تصحيح الأخطاء:
- درس تطبيقي حول تصحيح أخطاء الأجهزة المنزلية الذكية: دليل البدء السريع لتصحيح أخطاء دمج الأجهزة المنزلية الذكية مع السحابة الإلكترونية
- تصحيح أخطاء Local Home Codelab: دليل البدء السريع لتصحيح أخطاء الدمج المحلي للأجهزة المنزلية الذكية