Google Cloud מספק כלים למעקב אחרי האמינות של הפרויקטים באמצעות Google Cloud Monitoring ולניפוי באגים עם יומני שגיאות של Google Cloud Logging. בכל פעם שמתרחש כשל במילוי הכוונות של המשתמשים, צינור עיבוד הנתונים של Google Home Analytics מתעד את הכשלים במדדים שלכם ומפרסם יומן שגיאות ביומני הפרויקט.
יש שני שלבים לפתרון השגיאות:
- עוקבים אחרי מצב הפרויקטים באמצעות מדדים של בית חכם.
- לחקור את הבעיות על ידי בדיקת התיאורים המפורטים של השגיאות ביומני השגיאות.
מעקב אחרי שגיאות
אפשר להשתמש במעבדי Google Cloud Monitoring dashboard כדי לגשת למדדי הפרויקט. יש כמה תרשימים עיקריים שימושיים במיוחד למעקב אחרי איכות וניפוי באגים:
- התרשים Success Rate הוא התרשים הראשון שמתחיל במעקב אחרי האמינות של הפרויקטים. ירידות בתרשים הזה יכולות להעיד על הפסקה זמנית בשירות אצל חלק מבסיס המשתמשים או אצל כולם. אחרי כל שינוי או עדכון בפרויקט, אנחנו ממליצים לעקוב מקרוב אחרי התרשים הזה כדי לוודא שאין בו חריגות.
- תרשים זמן האחזור באחוזון ה-95 הוא מדד חשוב לגבי ביצועי הפעולה בבית החכם אצל המשתמשים. תנודות פתאומיות בתרשים הזה עשויות להצביע על כך שהמערכות שלכם לא מצליחות לטפל בבקשות. מומלץ לבדוק מדי פעם את התרשים כדי לראות התנהגות לא צפויה.
- התרשימים של Error Breakdown הם שימושיים במיוחד כשרוצים לפתור בעיות בשילובים. לכל שגיאה שמודגשת בתרשים אחוזי ההצלחה מוצג קוד שגיאה בפירוט השגיאות. בטבלה שלמטה אפשר לראות את השגיאות שסומנו על ידי Google Home platform ואת הדרכים לפתור אותן.
קודי שגיאות פלטפורמה
לפניכם כמה קודי שגיאה נפוצים שאתם עשויים לראות ביומני הפרויקטים כדי לזהות בעיות שזוהו על ידי Google Home platform. בטבלה הבאה תוכלו למצוא מידע לפתרון בעיות.
קוד שגיאה | תיאור |
---|---|
BACKEND_FAILURE_URL_ERROR |
Google קיבלה מהשירות שלך קוד שגיאה HTTP 4xx שהוא לא 401.
אפשר להשתמש ב- requestId ב-GCP Logging כדי לבדוק את יומני השירות לבית החכם.
|
BACKEND_FAILURE_URL_TIMEOUT |
פג הזמן הקצוב לבקשה של Google בניסיון ליצור קשר עם השירות שלך.
צריך לוודא שהשירות שלך במצב אונליין, מקבל חיבורים ושהוא לא חורג מהקיבולת. בנוסף, צריך לוודא שמכשיר היעד פועל, אונליין ומסונכרן. |
BACKEND_FAILURE_URL_UNREACHABLE |
Google קיבלה מהשירות שלך קוד שגיאה HTTP 5xx.
אפשר להשתמש ב- requestId ב-GCP Logging כדי לבדוק את יומני השירות לבית החכם.
|
DEVICE_NOT_FOUND |
המכשיר לא קיים בצד השירות של השותף.
המצב הזה בדרך כלל מצביע על כשל בסנכרון הנתונים או על מרוץ תהליכים. |
GAL_BAD_3P_RESPONSE |
Google לא יכולה לנתח את התגובה מהשירות לקישור החשבונות
בגלל פורמט לא תקין או ערכים לא תקינים במטען הייעודי (payload).
אפשר להשתמש ב- requestId ב-GCP Logging כדי לבדוק יומני שגיאות
בשירות קישור החשבונות.
|
GAL_INTERNAL |
אירעה שגיאה פנימית של Google כש-Google ניסתה לאחזר אסימון גישה.
אם מופיע שיעור מוגבר של השגיאה הזו ב-GCP Logging, אפשר ליצור איתנו קשר לקבלת מידע נוסף. |
GAL_INVALID_ARGUMENT |
אירעה שגיאה פנימית של Google כש-Google ניסתה לאחזר אסימון גישה.
אם מופיע שיעור מוגבר של השגיאה הזו ב-GCP Logging, אפשר ליצור איתנו קשר לקבלת מידע נוסף. |
GAL_NOT_FOUND |
אסימוני הגישה ואסימוני הרענון של המשתמש שמאוחסנים ב-Google לא חוקיים
ואי אפשר יותר לרענן אותם. המשתמש צריך לקשר מחדש את החשבון שלו כדי להמשיך להשתמש בשירות.
אם מופיע שיעור מוגבר של השגיאה הזו ב-GCP Logging, אפשר ליצור איתנו קשר לקבלת מידע נוסף. |
GAL_PERMISSION_DENIED |
אירעה שגיאה פנימית של Google כששיתוף האסימון לא מורשה.
אם מופיע שיעור מוגבר של השגיאה הזו ב-GCP Logging, אפשר ליצור איתנו קשר לקבלת מידע נוסף. |
GAL_REFRESH_IN_PROGRESS |
פג התוקף של אסימון הגישה של המשתמש, וניסיונות חוזרים נוספים
לרענון שלו כבר מתרחשים.
זו לא בעיה ולא נדרשת פעולה כלשהי. |
INVALID_AUTH_TOKEN |
Google קיבלה מהשירות שלכם קוד שגיאת HTTP 401.
פג התוקף של אסימון הגישה אבל השירות שלך ביטל אותו. אפשר להשתמש ב- requestId ב-GCP Logging כדי לבדוק את יומני השירות לבית חכם.
|
INVALID_JSON |
אי אפשר לנתח או להבין את תגובת JSON.
צריך לבדוק את המבנה של תגובת ה-JSON ולבדוק אם יש תחביר לא חוקי, כמו סוגריים לא תואמים, פסיקים חסרים ותווים לא חוקיים. |
OPEN_AUTH_FAILURE |
פג התוקף של אסימון הגישה של המשתמש, ו-Google לא יכולה לרענן אותו,
או ש-Google קיבלה קוד שגיאה HTTP 401 מהשירות שלך.
אם מבחינים בקצב מוגבר של הקוד הזה, כדאי לבדוק אם יש גם עלייה בשיעור השגיאות שקשורות לכוונות Intent לבית חכם או לבקשות לאסימונים לרענון. |
PARTNER_RESPONSE_INVALID_ERROR_CODE |
התשובה מציינת קוד שגיאה לא מזוהה.
אם התשובה לבקשה מציינת שגיאה, הקפידו להשתמש באחד מ קודי השגיאה הנתמכים שלנו. |
PARTNER_RESPONSE_INVALID_PAYLOAD |
אי אפשר לנתח את השדה של התגובה payload כאובייקט JSON.
בודקים אם שדה המטען הייעודי (payload) בתשובה לבקשה כולל סוגריים תואמים, ואם הוא מובנה בצורה נכונה כשדה JSON. |
PARTNER_RESPONSE_INVALID_STATUS |
התשובה לא מציינת סטטוס או שהיא מצביעה על סטטוס שגוי.
תשובות לבקשות למילוי הזמנות של Intent צריכות לציין סטטוס עם SUCCESS, OFFLINE, ERROR, EXCEPTIONS .
למידע נוסף על טיפול בשגיאות ובחריגים
|
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES |
אובייקט Intent אחד או יותר שקיימים בבקשה חסר בתשובה.
צריך לוודא ש תגובת הביצוע בנויה בצורה נכונה ושהתוצאות של כל הכוונות של הבקשה נמצאות בתשובה. |
PARTNER_RESPONSE_MISSING_DEVICE |
מכשיר אחד או יותר שכלולים בבקשה לא מופיעים בתגובה.
מוודאים ש תגובת הביצוע בנויה בצורה תקינה ושכל מזהי המכשירים מהבקשה נמצאים בתשובה שלכם. |
PARTNER_RESPONSE_MISSING_PAYLOAD |
התשובה לא מכילה את השדה payload .
חשוב לכלול שדה מטען ייעודי בתגובה לבקשה. למידע נוסף על יצירה נכונה של תגובה לביצוע. |
PARTNER_RESPONSE_NOT_OBJECT |
אי אפשר לנתח את התשובה כאובייקט JSON.
צריך לבדוק את כל השדות בתשובה לבקשה כדי לאתר תווים לא רצויים, חוסר התאמה בין סוגריים או שגיאות פורמט. יכול להיות שחלק מתווי ה-Unicode לא נתמכים. צריך גם לוודא שהתשובה בנויה בצורה תקינה כאובייקט JSON. |
PROTOCOL_ERROR |
עיבוד הבקשה נכשל.
משתמשים ב- requestId ב-Google Cloud Logging כדי לבדוק את יומני השירות לבית החכם.
|
RESPONSE_TIMEOUT |
פג הזמן הקצוב של הבקשה בזמן ההמתנה לתשובה.
פרק הזמן הקצוב לשליחת תשובה הוא 9 שניות מרגע שליחת הבקשה. חשוב לשלוח תשובה בפרק הזמן הזה. |
RESPONSE_UNAVAILABLE |
לא התקבלה תשובה, או שהתשובה לא מציינת את הסטטוס.
התשובות לבקשות למילוי כוונות צריכות להיות בנויות בהתאם ל מסמכים לבית חכם ולציין את הסטטוס שלהן. |
TRANSIENT_ERROR |
שגיאה זמנית היא שגיאה שתפתור את עצמה.
לרוב, השגיאות האלה באות לידי ביטוי כחיבור למכשיר או לשירות בהסרה. בנוסף, אם לא ניתן לפתוח חיבורים חדשים לשרת. |
לוגי חיפוש
אחרי שתתחילו לעקוב אחרי השילובים באמצעות מדדים, השלב הבא הוא לטפל בשגיאות ספציפיות באמצעות Cloud Logging. יומן שגיאות הוא רשומה דמוית JSON עם שדות שמכילים מידע שימושי כמו שעה, קוד שגיאה ופרטים לגבי הכוונה המקורית של הבית החכם.
קיימות מספר מערכות ב-Google Cloud ששולחות יומנים לפרויקט שלכם כל הזמן. אתם צריכים לכתוב שאילתות כדי לסנן את היומנים ולמצוא את היומנים שצריך. אפשר לבסס את השאילתות על הערכים Time range, Resource, יומן Severity או רשומות בהתאמה אישית.
![שליחת שאילתות על יומני Cloud](https://developers.home.google.com/static/images/analytics_logs_query.png?authuser=1&hl=he)
אפשר להשתמש בלחצני השאילתות כדי לבנות מסננים מותאמים אישית.
![יצירת שאילתות ב-Cloud Log](https://developers.home.google.com/static/images/analytics_logs_tools.png?authuser=1&hl=he)
כדי לציין Time Range, לוחצים על הלחצן
לבחירת טווח זמן ובוחרים באחת מהאפשרויות הזמינות. הפעולה הזו תסנן את היומנים ותציג את היומנים שנוצרו בטווח הזמן שנבחר.כדי לציין Resource, לוחצים על התפריט הנפתח Resource ובוחרים באפשרות Google Assistant Action Project. הפעולה הזו מוסיפה מסנן לשאילתה כדי להציג יומנים שמקורם בפרויקט שלכם.
לוחצים על הלחצן Severity כדי לסנן לפי מקרה חירום, מידע, ניפוי באגים ורמות אחרות ביומן החומרה.
אפשר גם להשתמש בשדה Query ב-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, שמסבירה איך לבדוק ביעילות את השינויים.
מקורות מידע ללמידה
במסמך הזה מפורטים השלבים לפתרון שגיאות בפעולה של בית חכם. כדי לקבל מידע נוסף על ניפוי באגים, אפשר גם להיכנס ל-Codelabs שלנו:
- ניפוי באגים ב-Codelab של Smart Home: מדריך למתחילים לניפוי באגים בשילוב בענן לבית חכם.
- ניפוי באגים ב-Local Home Codelab: מדריך למתחילים לניפוי באגים בשילוב המקומי של הבית החכם.