מעקב אחרי הפסקות זמניות בשירות בבית החכם

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

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

dd44868a4ff2df6e.png

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

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

מה תלמדו

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

2. מעקב אחר הביצועים

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

גישה למרכזי בקרה

השלב הראשון לגישה לנתונים הוא לבדוק את לוחות הבקרה של Google Home. כדי לעשות זאת, נכנסים למסוף Google Cloud ועוברים אל Operations (פעולות) > Monitoring (מעקב) > Dashboards (לוחות בקרה). תוכלו לראות שיש כמה מרכזי בקרה זמינים, ומרכזי הבקרה לבית חכם מתחילים ב-Google Home Analytics.

317697e52ced2437.png

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

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

f8bfd69286c569a4.png

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

יש שלושה תרשימים שחשובים להערכת הביצועים של הפעולות בבית החכם:

f511fafd3aaaa1eb.png

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

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

Metrics Explorer

Metrics Explorer הוא כלי להצגה חזותית של חתכים של מערך הנתונים של הפרויקט. אפשר לגשת לכלי במסוף Google Cloud. עוברים אל Operations‏ > Monitoring‏ > Metrics Explorer.

ב-Google Cloud יש הרבה מדדים שונים מוכנים לשימוש, כולל מדדים שלא קשורים לבית חכם. המדדים שאנחנו מספקים לבית חכם מפורטים במשאב 'actions.googleapis.com/smarthome_action/‎…', וניתן לחפש אותם בקלות על ידי הקלדה של 'smarthome' בתיבה לבחירת מדדים.

538d851edfd34764.png

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

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

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

b1c18141d15a0e09.png

בעיקרון, לכל שילוב של תוויות נתונים שקיימות במדד הזה יש קטגוריה שמתעדת את השינוי (הדלתא) בין מרווחי הזמן הקודמים לבין מרווחי הזמן הנוכחיים. אפשר לקבץ את הקטגוריות האלה או לסנן אותן כדי לקבל את נתוני התצוגה הרצויים. בנוסף, הנתונים מותאמים למרווחי זמן נבחרים באמצעות פונקציית התאמה (DELTA, ‏ MEAN, ‏ MEDIAN, ‏ SUM). בדרך כלל משתמשים בהתאמה לפי דלתא עם מדד דלתא, אלא אם יש צורך אחר.

אתם יכולים ליצור את רוב התרשימים שזמינים בלוחות הבקרה של Analytics ב-Google Home באמצעות Metrics Explorer, ולשמור את התרשימים בלוח בקרה מותאם אישית כדי לגשת אליהם מאוחר יותר. כדי ליצור תצוגות מורכבות יותר, כמו תרשים יחס, תצטרכו להשתמש ב-MQL – שפת שאילתות מעקב.

3. מדדי הצלחה

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

שיעור הצלחה

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

55ea8930fbf48d9e.png

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

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

מדד ביטחון

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

ab467a1777281526.png

כשהביצועים של השילוב של הבית החכם זהים לביצועים ההיסטוריים (ממוצע של 7 ימים) או גבוהים מהם, המדד הזה יניב את הערך המקסימלי (1.0). כשהסטייה של אחוז ההצלחה גדולה מ-4 סטיות תקן (גם הן מחושבות על פני 7 ימים), המדד הזה מניב את הערך המינימלי (0.0). במקרים שבהם סטיות התקן קטנות מדי (פחות מ-2.5%), המדד הזה מבסס את הערך 0.0 על ירידה של 10% בשיעור ההצלחה.

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

לכן, כשמגדירים התראה (הסבר על כך מופיע בקטע הבא), מומלץ להשתמש בערך 0.5 כסף סף. הערך הזה יתאים לסטיית תקן של 2 או לירידה של 5%, הגבוה מביניהם.

4. הגדרת התראות

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

יצירת מדיניות התראות

ההגדרה של התראות אוטומטיות ב-Google Cloud מתבצעת באמצעות מדיניות התראות. אפשר לגשת למדיניות ההתראות דרך התפריט הצדדי, בכרטיסייה Operations > Monitoring > Alerting. כדי ליצור מדיניות התראות חדשה, בוחרים באפשרות ‎+Create Policy. תועברו למסך יצירת מדיניות ההתראות:

6e417d88c2274b3d.png

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

df1ccf7da741e1c7.png

ליעד, בוחרים את מדד האמון שתיארנו בקטע הקודם. מוודאים שה-aligner מוגדר ל-delta באמצעות המדד הזה (Show Advanced Options (הצגת אפשרויות מתקדמות) > Aligner (יישור)). השלב הבא הוא להגדיר את תנאי ההתרעה ולהשתמש בהגדרות הבאות:

4192e0f4ea00dd28.png

Condition triggers if (התנאי מופעל אם) – זו ההגדרה הראשית לקביעת מתי להפעיל את ההתראות. אם בוחרים באפשרות Any time series violates, המערכת תגדיר סף למדד ותבדוק אם הערך חורג מהסף.

תנאי – אנחנו רוצים שההתראה תיגרם כשהערך יירד מתחת לסף, לכן נגדיר את הערך הזה כ-is below. לפי המדד שלנו, הערך 1.0 מציין שהשילוב פועל בצורה תקינה, והערך 0.0 מציין הפסקה זמנית בשירות.

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

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

אחרי שמסיימים להוסיף תנאי, השלב הבא הוא בחירת ערוץ ההתראות. השיטה הפשוטה ביותר לקבלת התראות היא התראות באימייל. אפשר לבחור כתובת אימייל שמופיעה בתפריט הנפתח Notification Channels:

3cc10629830e7f13.png

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

בשלב האחרון, נותנים שם להתראה ומוסיפים את כל המסמכים שרוצים לכלול בהתראות.

686fb1c537fee10.png

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

לאחר השמירה, מדיניות ההתראות תופיע בקטע 'מדיניות' בדף 'התראות'.

c71a001e4df035ee.png

5. צמצום ההפסקות הזמניות בשירות

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

קבלת התראות

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

43217b0a145c2cd.png

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

מעקב אחרי אירועים

כשאירועים מתרחשים, הם נספרים גם בקטע 'אירועים' בדף Alerting.

fdd883a9604ed981.png

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

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

6. מזל טוב

17d485868a6771bc.png

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

השלבים הבאים

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

  • אתם יכולים לשלב את מה שלמדתם ב-codelab הזה עם מדדים אחרים שזמינים בפרויקט שלכם. הרשימה המלאה של המדדים הזמינים מופיעה בקטע מדדים נתמכים בדף Monitoring.
  • אפשר למצוא סוגים אחרים של ערוצי התראות בדף Notification Options במסמכי העזרה של Google Cloud.