المقاييس المستنِدة إلى السجلّ للمنزل المزوّد بأجهزة ذكية

1. قبل البدء

كما أوضحنا في دورة تعلم الترميز Debugging the Smart Home، ننشر المقاييس والسجلات في مشاريعك المتعلقة بالمنزل الذكي. تساعدك المقاييس في تحديد المشاكل التي تواجهها "الإجراء الذكي للمنزل"، كما تكون السجلات مفيدة عند إجراء تحليل معمّق لحلّ هذه المشاكل.

848f483bfcd2997a.png

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

المتطلبات الأساسية

ما ستتعرّف عليه

  • كيفية كتابة طلبات بحث فعّالة لفلترة سجلّات أخطاء "المنزل الذكي"
  • كيفية إنشاء مقاييس مستندة إلى السجلّات لإنشاء مقاييس من طلبات البحث
  • كيفية إنشاء الرسوم البيانية ولوحات البيانات من المقاييس المستندة إلى السجلّات للتتبّع

2. العمل باستخدام السجلات

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

الوصول إلى السجلّات

الخطوة الأولى للوصول إلى السجلات هي تسجيل الدخول إلى Google Cloud واختيار مشروعك. انتقِل إلى مستكشف السجلات باستخدام القائمة الجانبية، من خلال الانتقال إلى العمليات > التسجيل > مستكشف السجلات. بعد فتح الأداة، من المفترض أن يظهر لك هذا العرض:

78982d8b6d19b827.png

يتألّف "مستكشف السجلات" من قسمَين رئيسيَّين: قسم لكتابة طلبات البحث في أعلى الصفحة (أداة إنشاء طلبات البحث) ومساحة لعرض النتائج المطابقة (نتائج طلبات البحث).

تكتب العديد من المكوّنات المختلفة في Google السجلات في مشروعك تلقائيًا. للعثور على السجلات الواردة من عملية دمج "المنزل الذكي" واستخدامها، عليك كتابة طلبات بحث مخصّصة.

كتابة طلبات البحث

يتم نشر السجلات في المشاريع ضمن نوع مورد. يمثّل كل نوع من أنواع الموارد منصة مختلفة ضمن Google. تتوفّر السجلات الواردة من منصة Smart Home لمشروعك ضمن نوع المورد assistant_action_project.

بالإضافة إلى ذلك، يتم تحديد مستوى خطورة لجميع السجلّات عند إنشائها. في سجلّات "المنزل الذكي"، نستخدم المستوى ERROR للسجلّات التي تمثّل الأخطاء والاستثناءات، والمستوى DEBUG لكل شيء آخر.

في المثال التالي، سنكتب طلب بحث لفلترة السجلات الواردة من منصتنا فقط والتي تمثّل أخطاء، على النحو التالي:

753bfe72a9f8e959.png

بعد الانتهاء من كتابة طلب البحث، انقر على الزر تشغيل طلب البحث لبدء طلب البحث. من المفترض أن يؤدي ذلك إلى عرض الأخطاء الناتجة عن دمج الأجهزة المنزلية الذكية:

3ef42da5a6c322e1.png

كما ترى، واجهنا عددًا من الأخطاء في أوقات مختلفة خلال الساعة الماضية. يمثّل كلّ سطر سجلّ أخطاء واحدًا. يمكنك أيضًا النقر على السجلات الفردية وتوسيع الحقول المُدمجة للاطّلاع على المعلومات الواردة فيها.

استخدام مخطّط المدرّج التكراري

يوفّر "مستكشف السجلّات" ميزة "المخطّط البياني للتردد" المفيدة للاطّلاع على التوزيع الزمني للسجلّات التي تتطابق مع طلب البحث. لتفعيل المخطّط البياني، انقر على تنسيق الصفحة من الأزرار في أعلى يسار الصفحة وضَع علامة في المربّع بجانب المخطّط البياني لتفعيل الميزة.

10eaf1d204decf3c.png

بعد تفعيل هذه الميزة، ستظهر لك توزيعة للسجلّات التي تتطابق مع طلب البحث:

dd3410e65a83cf5d.png

كما هو موضّح في الصورة أعلاه، لدينا العديد من الأخطاء التي تم تجميعها بشكل متفرق على مدار الساعة الماضية. يبدو أنّها تشكّل ثلاث مجموعات في حوالي الساعة 1:45 و2:00 و2:15 مساءً. يمكن أن يساعدك المخطّط البياني في رصد أنماط يصعب الاطّلاع عليها من خلال التحقّق من قيم الطوابع الزمنية فقط.

في الوقت الحالي، لا يُميّز طلب البحث الذي نستخدمه بين السجلات ويعرض لنا جميع الأخطاء الواردة من ميزة "دمج المنزل الذكي". هناك العديد من الحالات التي قد تحتاج فيها إلى التفريق بين الأخطاء، على سبيل المثال لتتبُّع أنماط الأخطاء التي تأتي من أنواع أو سمات معيّنة للأجهزة. لإجراء ذلك، سنلقي نظرة على كتابة طلبات بحث متقدّمة.

طلبات البحث المتقدّمة

عند فحص سجلّ أحداث "المنزل الذكي"، ستلاحظ أنّ هناك حقولًا مختلفة يمكنك جمع المعلومات منها:

825c57c36800844e.png

action

  • trait: استهداف سمة الجهاز التي يحدّدها المستخدم (على سبيل المثال، OnOff أو StartStop أو Brightness)
  • actionType: الحالة الدقيقة للسمة (على سبيل المثال، "تفعيل" أو "إيقاف" أو "إيقاف مؤقت" أو "إيقاف" أو "استئناف")

device

  • deviceType: استهداف نوع الجهاز الذي يحدّده المستخدم (على سبيل المثال، مصباح أو مفتاح أو غسّالة)

status

  • isSuccess: ما إذا كانت نتيجة الإجراء ناجحة (صحيح / خطأ)
  • statusType: رمز الحالة لنتيجة الإجراء (يشير إلى رمز خطأ في حال عدم النجاح)
  • externalDebugString: سلسلة تصحيح الأخطاء للإجراء (تصف الخطأ بالتفصيل)

الحقول الأخرى

هناك أيضًا حقول إضافية يمكنك استخراج معلومات منها:

  • requestId: معرّف فريد مرتبط بالطلب (تنشئه Google)
  • executionType: المسار المستخدَم في الطلب (يشير إلى ما إذا كان على السحابة الإلكترونية أو على الجهاز)
  • latencyMsec: وقت الاستجابة المُلاحظ للطلب على خوادم Google (بالملي ثانية)
  • locale: ثنائية اللغة/المنطقة التي تم إرسال الطلب منها (على سبيل المثال، en-US أو fr-FR)

باستخدام حقل السمة من القائمة أعلاه، سنعدّل طلب البحث ليتضمّن فقط الأخطاء الناتجة عن سمة OnOff على النحو التالي:

resource.type="assistant_action_project" AND severity=ERROR AND
jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"

بعد تنفيذ طلب البحث المعدَّل، يحدِّد النظام السجلات ويعرض لنا النتيجة المقابلة:

76176d7a41962341.png

لقد أجرينا حتى الآن جميع طلبات البحث يدويًا. هذه طريقة رائعة للتحقّق سريعًا من حالة الأخطاء، ولكنّها ليست مناسبة كثيرًا لتتبُّع التغيُّرات في أنماط الأخطاء بمرور الوقت. لتشغيل هذه العملية تلقائيًا وتسجيل البيانات من فترات زمنية أطول، سننشئ مقاييس مستندة إلى السجلّات.

3- المقاييس المستندة إلى السجلّات

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

إنشاء مقياس مستند إلى السجلّ

لإنشاء مقياس مستند إلى السجلّات، انتقِل إلى العمليات > التسجيل > المقاييس المستندة إلى السجلّات. سيؤدي ذلك إلى عرض قائمة بالمقاييس المستندة إلى السجلّات المتوفّرة حاليًا في مشروعك. بعد النقر على الزر إنشاء مقياس، ستظهر لك شاشة إنشاء المقياس المستنِد إلى السجلّ:

296af6e7d8dcf6cf.png

هناك نوعان أساسيان من المقاييس: مقياس العدّ يحصّل عدد السجلات التي تتطابق مع طلب البحث. يتتبّع مقياس التوزيع التوزيع الأساسي ويسمح بإجراء عمليات إحصائية، مثل المتوسط والوسيط والنسبة المئوية التسعون.

عند الانتقال للأسفل، سيظهر لك قسم الفلترة حيث يمكنك كتابة طلب البحث.

f7f2093fa1bce2ac.png

سنلصق طلب البحث من القسم السابق في منطقة نص إنشاء فلتر.

​​resource.type="assistant_action_project" AND severity=ERROR AND
jsonPayload.executionLog.executionResults.actionResults.action.trait="TRAIT_ON_OFF"

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

عرض بيانات المقاييس المستندة إلى السجلّ

بعد إنشاء المقياس المستنِد إلى السجلّات، سيكون متوفّرًا في قسم المقاييس التي يحدّدها المستخدِم في صفحة "المقاييس المستنِدة إلى السجلّات".

1b2c88c18533fbcd.png

من القائمة المقابلة للمقياس المستنِد إلى السجلّ (3 نقاط)، اختَر عرض في "مستكشف المقاييس" للاطّلاع على البيانات التي تم جمعها في المقياس المستنِد إلى السجلّ:

54a836fdc3a666a3.png

بعد ظهور خطأ جديد، سيتم تسجيله من خلال المقياس المستنِد إلى السجلّ وسيتم عرضه في نافذة الرسم البياني في مستكشف المقاييس.

التتبّع من خلال لوحات البيانات المخصّصة

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

52329085f841782e.png

بعد حفظ الرسم البياني في لوحة بيانات، يمكننا الوصول إليه بسهولة من ذلك الحين فصاعدًا. للوصول إلى قائمة لوحات البيانات المتاحة في مشروعك، انتقِل إلى العمليات > المراقبة > لوحات البيانات.

44961e7cb3663341.png

لقد حفظنا الرسم البياني في لوحة بيانات باسم "لوحة بيانات Codelab". سيؤدي فتحها إلى عرض العرض التالي:

f7e025c27f30f996.png

كما هو موضّح، يتم عرض الرسم البياني الذي يمثّل المقياس المستنِد إلى السجلّات هنا، إلى جانب البيانات التي تم جمعها حديثًا. يتم نشر سجلات المنزل الذكي في مشروعك في الوقت الفعلي. عندما يتوفّر سجلّ جديد، سترى أنّه يتم احتسابه على الفور حسب المقياس المستنِد إلى السجلّ.

4. تهانينا

674c4f4392e98c1.png

تهانينا! لقد تعلّمت بنجاح كيفية تحويل طلبات البحث إلى مقاييس مستندة إلى السجلّات وحفظها في لوحات بيانات مخصّصة للتتبّع.

الخطوات التالية

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

  • اطّلِع على دليل إنشاء مقاييس التوزيع لإنشاء مقاييس مستندة إلى السجلّات في الحقول الرقمية، مثل وقت الاستجابة.
  • راجِع مكتبة نماذج طلبات البحث التي تقدّمها Google Cloud للاطّلاع على بعض الفلاتر المعقدة التي يمكنك استخدامها للمقاييس المستندة إلى السجلّات.