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

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

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

848f483bfcd2997a.png

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

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

מה תלמדו

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

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

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

גישה ליומנים

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

78982d8b6d19b827.png

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

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

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

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

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

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

753bfe72a9f8e959.png

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

3ef42da5a6c322e1.png

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

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

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

10eaf1d204decf3c.png

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

dd3410e65a83cf5d.png

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

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

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

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

825c57c36800844e.png

action

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

device

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

status

  • isSuccess: האם תוצאת הפעולה נחשבת כמוצלחת (נכון / לא נכון)
  • statusType: קוד הסטטוס של תוצאת הפעולה (מציין קוד שגיאה אם הפעולה נכשלה)
  • externalDebugString: מחרוזת ניפוי באגים של הפעולה (מתארת את השגיאה בפירוט)

שדות אחרים

יש גם שדות נוספים שמהם אפשר להפיק מידע:

  • requestId: מזהה ייחודי שמשויך לבקשה (שנוצרה על ידי Google)
  • executionType: הנתיב שבו משתמשת הבקשה (מציין אם בענן או מקומי)
  • latencyMsec: זמן האחזור המשוער של הבקשה בשרתי Google (במילי-שניות)
  • locale: מאיזה צמד שפה/אזור הבקשה נשלחת (לדוגמה: en-US, fr-FR)

נשתמש בשדה trait מהרשימה שלמעלה, ואנחנו נשנה את השאילתה כך שתכלול רק שגיאות שמקורן ב-trait OnOff באופן הבא:

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

אחרי הרצת השאילתה המעודכנת, המערכת מזהה את היומנים ומציגה לנו את התוצאה המתאימה:

76176d7a41962341.png

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

3. מדדים מבוססי יומנים

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

יצירת מדד מבוסס-יומנים

כדי ליצור מדד מבוסס-יומן, עוברים אל Operations > Logging > Log-based Metrics. פעולה זו תציג את רשימת המדדים מבוססי-היומן שכבר זמינים בפרויקט שלך. אחרי שלוחצים על הלחצן יצירת מדד, מוצג מסך היצירה של מדד מבוסס-יומן:

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.

מעקב דרך מרכזי בקרה בהתאמה אישית

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

52329085f841782e.png

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

44961e7cb3663341.png

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

f7e025c27f30f996.png

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

4. מזל טוב

674c4f4392e98c1.png

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

השלבים הבאים

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

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