Google Cloud מספק לכם כלים למעקב אחר האמינות של הפרויקטים שלכם באמצעות Google Cloud Monitoring וניפוי באגים ביומני שגיאות של Google Cloud Logging. בכל פעם שמתרחש כישלון במהלך מילוי כוונות המשתמשים, בצינור עיבוד הנתונים של Google Home Analytics מתועדים כשל במדדים שלכם, ומפרסם יומן שגיאות ביומני הפרויקט.
יש שני שלבים לפתרון השגיאות:
- עוקבים אחרי מצב הפרויקטים באמצעות מדדים של הבית החכם.
- בודקים את התיאורים המפורטים של השגיאות ביומני השגיאות כדי לבדוק את הבעיות.
מעקב אחר שגיאות
תוכלו להשתמש בGoogle Cloud Monitoring dashboard כדי לגשת למדדי הפרויקט. יש כמה תרשימים חשובים שימושיים במיוחד למעקב אחר האיכות ולניפוי באגים:
- התרשים שיעור הצלחה הוא התרשים הראשון לתחילת העבודה עם מעקב אחר האמינות של הפרויקטים שלכם. ירידות בטבלה יכולות להצביע על הפסקה זמנית בשירות בחלק מבסיס המשתמשים או בכל בסיס המשתמשים. מומלץ לעקוב מקרוב אחרי התרשים הזה כדי לאתר אי-סדרים לאחר כל שינוי או עדכון בפרויקט.
- התרשים זמן אחזור באחוזון ה-95 הוא מדד חשוב שמפרט את הביצועים של הפעולה בבית החכם מבחינת המשתמשים. תנודות פתאומיות בתרשים הזה עשויות להצביע על כך שיכול להיות שהמערכות שלכם לא מצליחות לטפל בבקשות. מומלץ לבדוק את התרשים מדי פעם כדי לזהות התנהגות בלתי צפויה.
- התרשימים של פירוט שגיאות שימושיים במיוחד לפתרון בעיות בשילובים. לכל שגיאה שמודגשת בתרשים של אחוזי ההצלחה, מופיע קוד שגיאה בפירוט השגיאות. בטבלה שבהמשך אפשר לראות את השגיאות שסומנו על ידי Google Home platform והוראות לפתרון הבעיות.
קודים של שגיאות בפלטפורמה
ריכזנו כאן כמה קודי שגיאות נפוצים שעשויים להופיע ביומני הפרויקט, לצורך זיהוי בעיות שזוהו על ידי Google Home platform. עיינו בטבלה הבאה למידע על פתרון בעיות.
קוד שגיאה | תיאור |
---|---|
BACKEND_FAILURE_URL_ERROR |
Google קיבלה מהשירות קוד שגיאה 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 קיבלה קוד שגיאה 401 של HTTP מהשירות שלך.
התוקף של אסימון הגישה עדיין בתוקף, אבל השירות שלכם בוטל. אפשר להשתמש בערך requestId ב-GCP Logging כדי לבדוק את יומני השירות לבית החכם.
|
INVALID_JSON |
אי אפשר לנתח או להבין את תגובת ה-JSON.
צריך לבדוק אם יש תחביר לא חוקי במבנה של תגובת ה-JSON, למשל סוגריים לא תואמים, פסיקים חסרים או תווים לא חוקיים. |
OPEN_AUTH_FAILURE |
פג התוקף של אסימון הגישה של המשתמש ו-Google לא יכולה לרענן אותו, או ש-Google קיבלה קוד שגיאה 401 של HTTP מהשירות שלך.
אם יש קצב מוגבר בקוד הזה, צריך לבדוק אם יש גם עלייה בשיעור השגיאות שקשורות לאובייקטים מסוג 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 .
חשוב לכלול שדה מטען ייעודי (payload) בתגובה לבקשה. למידע נוסף על יצירה נכונה של תגובות |
PARTNER_RESPONSE_NOT_OBJECT |
לא ניתן לנתח את התשובה כאובייקט JSON.
כדאי לבדוק בכל השדות בתגובה לבקשה אם יש תווים לא מכוונים, סוגריים לא תואמים או שגיאות פורמט. יכול להיות שחלק מתווי ה-unicode לא נתמכים. צריך גם לוודא שהתשובה בנויה בצורה נכונה כאובייקט JSON. |
PROTOCOL_ERROR |
עיבוד הבקשה נכשל.
בעזרת requestId ב-Google Cloud Logging תוכלו לבדוק את יומני השירות לבית החכם.
|
RESPONSE_TIMEOUT |
הזמן שהוקצב לעיבוד הבקשה חלף בזמן ההמתנה לתשובה.
הזמן הקצוב לשליחת תשובה הוא 9 שניות מרגע שליחת הבקשה. חשוב לשלוח תשובה בטווח הזמן הזה. |
RESPONSE_UNAVAILABLE |
לא התקבלה תגובה, או שהתשובה לא מציינת סטטוס.
צריך לציין את הסטטוס של התגובות לבקשות למילוי בקשות Intent לפי המסמכים לבית החכם. |
TRANSIENT_ERROR |
שגיאה זמנית היא שגיאה שנפתרת מעצמה.
לרוב, השגיאות האלה באות לידי ביטוי בחיבור אל מכשיר או שירות שנפל. גם אם לא ניתן לפתוח חיבורים חדשים לשרת. |
לוגי חיפוש
אחרי שתתרגלו לעקוב אחרי השילובים באמצעות מדדים, השלב הבא הוא לפתור שגיאות ספציפיות באמצעות Cloud Logging. יומן שגיאות הוא רשומה דמוית JSON עם שדות שמכילים מידע שימושי, כמו שעה, קוד שגיאה ופרטים לגבי ה-Intent המקורי של הבית החכם.
ב-Google Cloud יש כמה מערכות ששולחות יומנים לפרויקט כל הזמן. תצטרכו לכתוב שאילתות כדי לסנן את היומנים ולמצוא את השאילתות שאתם צריכים. אפשר לבסס את השאילתות על טווח זמן, על משאב, על מידת חוּמרה ביומן או על רשומות בהתאמה אישית.
אפשר להשתמש בלחצני השאילתה כדי ליצור מסננים מותאמים אישית.
כדי לציין Time range, לוחצים על לחצן בחירת טווח הזמן
ובוחרים באחת מהאפשרויות שמוצגות. פעולה זו תסנן את היומנים ותציג את היומנים שמקורם בטווח הזמן שנבחר.כדי לציין משאב, לוחצים על התפריט הנפתח משאב ובוחרים באפשרות פרויקט פעולה ב-Google Assistant. פעולה זו מוסיפה מסנן לשאילתה כדי להציג יומנים שמקורם בפרויקט שלכם.
אפשר ללחוץ על הלחצן מידת חוּמרה כדי לסנן לפי מקרה חירום, מידע, ניפוי באגים ורמות אחרות במידת החומרה.
אפשר גם להשתמש בשדה 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 של בית חכם: מדריך למתחילים לניפוי באגים בשילוב בענן לבית חכם.
- ניפוי באגים ב-Local Home Codelab: מדריך למתחילים לניפוי באגים בשילוב המקומי של בית חכם.