רענון_date: 6.1.2023
Google Cloud מספק לכם כלים למעקב אחרי האמינות של הפרויקטים שלכם בעזרת Google Cloud Monitoring ולניפוי באגים ביומני שגיאות של Google Cloud Logging. בכל פעם שמתרחש כישלון במהלך מילוי כוונות המשתמשים, צינור עיבוד הנתונים של Google Home Analytics מתעד את הכשל במדדים שלכם, ומפרסם יומן שגיאות ביומני הפרויקט.
יש שני שלבים לפתרון השגיאות:
- אפשר לעקוב אחרי מצב הפרויקטים באמצעות מדדים של הבית החכם.
- כדי לבדוק את הבעיות, בודקים את התיאורים המפורטים של השגיאות ביומני השגיאות.
מעקב אחר שגיאות
אפשר להשתמש בGoogle Cloud Monitoring dashboard כדי לגשת למדדי הפרויקט. יש כמה תרשימי מפתח שימושיים במיוחד למעקב אחר האיכות ולניפוי באגים:
- התרשים Success Rate הוא התרשים הראשון שאפשר לראות כשעוקבים אחרי האמינות של הפרויקטים. ירידות בתרשים יכולות להצביע על הפסקה זמנית בשירות בחלק מבסיס המשתמשים או בכל מאגר המשתמשים שלכם. מומלץ לעקוב מקרוב אחרי התרשים הזה כדי לאתר אי-סדרים לאחר כל שינוי או עדכון בפרויקט.
- התרשימים Error Breakdown שימושיים במיוחד לפתרון בעיות בשילובים. לכל שגיאה שמודגשת בתרשים אחוזי ההצלחה, מופיע קוד שגיאה בפירוט השגיאות. בטבלה שלמטה תוכלו לראות את השגיאות שסומנו על ידי Google Home platform ואת הדרכים לפתור אותן.
קודי שגיאות בפלטפורמה
ריכזנו כאן כמה קודי שגיאה נפוצים שאתם עשויים לראות ביומני הפרויקט, כדי לזהות בעיות שאותרו על ידי Google Home platform. עיינו בטבלה הבאה למידע על פתרון בעיות.
קוד שגיאה | התיאור |
---|---|
BACKEND_FAILURE_URL_ERROR |
Google קיבלה מהשירות קוד שגיאה 4xx של HTTP, מלבד 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 כדי לבדוק יומני שגיאות
בשירות קישור החשבונות.
|
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.
אם יש עלייה בקצב של הקוד הזה, כדאי לבדוק אם יש גם עלייה בשיעור השגיאות שקשורות ל-Intents של בית חכם, או בקשות לאסימוני רענון. |
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 עם שדות שמכילים מידע שימושי, כמו שעה, קוד שגיאה ופרטים לגבי הכוונה המקורית של הבית החכם.
יש כמה מערכות בתוך Google Cloud ששולחות יומנים לפרויקט שלכם כל הזמן. תצטרכו לכתוב שאילתות כדי לסנן את היומנים ולמצוא את אלה שאתם צריכים. שאילתות יכולות להתבסס על ערכים כמו טווח זמן, משאב, מידת החומרה ביומן או רשומות בהתאמה אישית.
אפשר להיעזר בלחצני השאילתה כדי ליצור מסננים בהתאמה אישית.
כדי לציין Time Range, לוחצים על הלחצן
לבחירת טווח הזמן ובוחרים אחת מהאפשרויות שמוצגות. פעולה זו תסנן את היומנים ותציג את היומנים שמקורם בטווח הזמן שנבחר.כדי לציין Resource, לוחצים על התפריט הנפתח Resource ובוחרים באפשרות Google Assistant Action Project. כך מוסיפים מסנן לשאילתה כדי להציג יומנים שמקורם בפרויקט.
אפשר ללחוץ על הלחצן מידת חוּמרה כדי לסנן לפי מקרה חירום, מידע, ניפוי באגים ורמות אחרות של סטטוס החומרה.
אפשר גם להשתמש בשדה 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 של בית חכם: מדריך למתחילים לניפוי באגים בשילוב הענן של בית חכם.
- ניפוי באגים ב-Codelab של בית מקומי: מדריך למתחילים לניפוי באגים בשילוב המקומי של בית חכם.