מדדים מבוססי יומנים לבית החכם

1. לפני שמתחילים

כפי שציינו בניפוי באגים ב-Codelab של בית חכם, אנחנו מפרסמים מדדים ויומנים בפרויקטים שלך לבית חכם. מדדים עוזרים לקבוע איפה נתקלת בבעיות בפעולה של הבית החכם, ובעזרת היומנים אפשר לבצע ניתוח מעמיק של הבעיה כדי לפתור את הבעיות האלה.

848f483bfcd2997a.png

נוסף על המדדים שאנחנו מאפשרים להציג בפרויקט שלכם, תוכלו גם ליצור מדדים משלכם באמצעות המדדים מבוססי היומן מ-Google Cloud Platform. כך תוכלו לעקוב אחרי דפוסים מסוימים ביומנים ולנפות ביעילות באגים בבעיות איכות.

דרישות מוקדמות

מה תלמדו

  • איך לכתוב שאילתות אפקטיביות כדי לסנן את יומני השגיאות של הבית החכם
  • איך ליצור מדדים מבוססי-יומן כדי להפיק מדדים מהשאילתות
  • איך יוצרים תרשימים ולוחות בקרה ממדדים מבוססי יומן למעקב

2. עבודה עם יומנים

כמו שהסברנו בקצרה במאמר ניפוי באגים ב-Smart Home Codelab, עבודה עם יומנים היא המפתח להצלחת הפרויקט שלכם. יש ב-Google Cloud Platform כלים מעולים למעקב ולניתוח של יומנים. כדי לגשת לכל היומנים שזמינים לפרויקט שלכם, תוכלו להשתמש ב-Logs Explorer.

גישה ליומנים

השלב הראשון לגישה ליומנים הוא להתחבר ל-Google Cloud Platform ולבחור את הפרויקט. כדי לעבור אל Logs Explorer, לוחצים על תפריט הצד דרך פעולות > רישום ביומן > Logs Explorer. אחרי שתפתחו את הכלי, אתם אמורים לראות את התצוגה הבאה:

78982d8b6d19b827.png

Logs Explorer מורכב משני חלקים עיקריים: קטע שבו כתיבת השאילתות למעלה (הכלי ליצירת שאילתות), ואזור להצגת התוצאות התואמות (תוצאות של שאילתות).

הרבה רכיבים שונים ב-Google כותבים ביומני הפרויקט כברירת מחדל. כדי למצוא ולעבוד עם היומנים שמגיעים מהשילוב של הבית החכם, צריך לכתוב שאילתות מותאמות אישית.

שאילתות לכתיבה

היומנים מתפרסמים בפרויקטים לפי סוג משאב. כל סוג משאב מייצג פלטפורמה שונה ב-Google. היומנים שמגיעים מפלטפורמת הבית החכם זמינים לפרויקט שלכם בסוג המשאב assistant_action_project.

בנוסף, לכל היומנים מוקצית רמת חומרה בזמן היצירה שלהם. ביומנים של בית חכם, אנחנו משתמשים ברמת ERROR ביומנים שמייצגים שגיאות וחריגים, וברמה DEBUG לכל השאר.

בדוגמה הבאה נכתוב שאילתה כדי לסנן יומנים שמגיעים רק מהפלטפורמה שלנו, שמייצגים שגיאות, באופן הבא:

753bfe72a9f8e959.png

אחרי שמסיימים לכתוב את השאילתה, לוחצים על הלחצן Run query כדי ליצור את השאילתה. הפעולה הזו אמורה להציג שגיאות שנובעות מהשילוב של הבית החכם:

3ef42da5a6c322e1.png

כמו שאפשר לראות, נתקלנו במספר שגיאות שהתרחשו בזמנים שונים במהלך השעה האחרונה. כל שורה מייצגת יומן שגיאות אחד. אפשר ללחוץ גם על היומנים הספציפיים ולהרחיב את השדות המקוננים כדי לראות את המידע שכלול בהם.

שימוש בהיסטוגרמה

Logs Explorer מספק תכונת היסטוגרמה שימושית שמאפשרת לראות את התפלגות הזמן של יומנים שתואמים לשאילתה. כדי להפעיל את ההיסטוגרמה, לוחצים על פריסת דף בלחצנים שבפינה השמאלית העליונה, ומסמנים את התיבה היסטוגרמה כדי להפעיל את התכונה.

10eaf1d204decf3c.png

לאחר ההפעלה תוצג התפלגות של היומנים שתואמים לשאילתה:

dd3410e65a83cf5d.png

כפי שניתן לראות בתמונה שלמעלה, יש לנו כמה שגיאות שמקובצות בצפיפות במהלך השעה האחרונה. נראה שהם נוצרים בשלושה אשכולות בסביבות השעות 1:45, 14:00 ו-14:15. בעזרת ההיסטוגרמה אתם יכולים לבדוק רק את הערכים של חותמות הזמן כדי לזהות דפוסים שיהיה קשה לראות.

בשלב הזה, השאילתה שבה אנחנו משתמשים לא מבדילה בין יומנים ומציגה את כל השגיאות שנובעות מהשילוב שלנו לבית חכם. במקרים רבים כדאי להבחין בין שגיאות, למשל כדי לעקוב אחר דפוסי שגיאה שמקורם בתכונות או בסוגי מכשירים מסוימים. לשם כך נבחן כתיבת שאילתות מתקדמות.

שאילתות מתקדמות

כשתבדקו את יומן האירועים של הבית החכם, תראו שיש כמה שדות שאפשר לאסוף מהם מידע:

825c57c36800844e.png

action

  • trait: טירגוט של תכונת המכשיר לפי המשתמש (לדוגמה, OnOff, StartStop, Brightness)
  • actionType: מצב פרטני של התכונה (לדוגמה, הפעלה, כיבוי, השהיה, עצירה, המשך)

device

  • deviceType: טירגוט סוג המכשיר לפי המשתמש (לדוגמה, אור, מתג, מכונת כביסה)

status

  • isSuccess: האם התוצאה של הפעולה נחשבת כמוצלחת (true / false)
  • 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

יש שני סוגים של מדדים ראשיים: מדד נגדי סופר את מספר היומנים שתואמים לשאילתה. מדד הפצה עוקב אחר ההתפלגות הבסיסית ומאפשר פעולות סטטיסטיות כמו ממוצע, חציון והאחוזון ה-95.

אם תגלו למטה תראו קטע סינון שבו תוכלו להקליד את השאילתה.

f7f2093fa1bce2ac.png

אנחנו נדביק את השאילתה מהקטע הקודם באזור הטקסט יצירת מסנן.

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

אפשר גם ללחוץ על הלחצן תצוגה מקדימה של יומנים כדי לראות תצוגה מהירה של היומנים הקודמים שתואמים למסנן. בסיום, אפשר ללחוץ על הלחצן יצירת מדד ולהתקדם לקטע הבא.

צפייה בנתוני מדדים שמבוססים על יומנים

אחרי שיצרנו את המדד שמבוסס על יומנים, הוא יהיה זמין בקטע מדדים שהוגדרו על ידי המשתמש בדף 'מדדים מבוססי-יומן'.

1b2c88c18533fbcd.png

בתפריט שתואם למדד מבוסס היומן (3 נקודות), בוחרים באפשרות הצגה ב-Metrics Explorer כדי לראות את הנתונים שנאספים במדד מבוסס-יומן:

54a836fdc3a666a3.png

אם מתקבלת שגיאה חדשה, היא תתועד באמצעות המדד מבוסס היומן שלנו ותציג אותה בחלון התרשים ב-Metrics Explorer.

מעקב באמצעות מרכזי בקרה בהתאמה אישית

אחרי שראינו שהמדד החדש, שמבוסס על יומנים, פועל כמתוכנן, הגיע הזמן לשמור את תצוגת התרשים במרכז בקרה מותאם אישית. לשם כך, לוחצים על הלחצן Save Chart (שמירת התרשים) בפינה הימנית העליונה של Metrics Explorer. תוצג בקשה לתת שם לתרשים ולבחור את מרכז הבקרה שבו רוצים לשמור:

52329085f841782e.png

אחרי שנשמור את התרשים במרכז הבקרה, אנחנו יכולים לגשת אליו בקלות מכאן ואילך. כדי לגשת לרשימת מרכזי הבקרה הזמינים בפרויקט שלכם, מנווטים אל פעולות > מעקב > מרכזי בקרה.

44961e7cb3663341.png

שמרנו את התרשים שלנו בלוח בקרה בשם Codelab Dashboard. פתיחתו תציג את התצוגה הבאה:

f7e025c27f30f996.png

התרשים שמייצג את המדד שמבוסס על היומן מוצג כאן, יחד עם הנתונים החדשים שנאספו. היומנים לבית החכם מתפרסמים בפרויקט בזמן אמת. כשיהיה יומן חדש, הוא יופיע מיד לפי המדד מבוסס-היומן.

4. מזל טוב

674c4f4392e98c1.png

מעולה! למדתם בהצלחה איך להפוך את השאילתות למדדים מבוססי-יומנים ולשמור אותן במרכזי בקרה מותאמים אישית לצורכי מעקב.

השלבים הבאים

בהמשך ל-Codelab הזה, כדאי לנסות את התרגילים הבאים ולגלות משאבים נוספים:

  • קראו את המדריך יצירת מדדי הפצה כדי ליצור מדדים מבוססי-יומן בשדות מספריים, כמו זמן האחזור.
  • בספריית השאילתות לדוגמה שמסופקת על ידי Google Cloud, אפשר לראות כמה מהמסננים המורכבים שבהם אפשר להשתמש במדדים מבוססי יומן.