refresh_date: 2023-01-06
Google Cloud נותן לכם את הכלים למעקב אחרי האמינות של הפרויקטים באמצעות Google Cloud Monitoring ולניפוי באגים באמצעות יומני השגיאות של Google Cloud Logging. בכל פעם שמתרחשת כשל בהשלמת כוונות המשתמשים, צינור עיבוד הנתונים של Google Home Analytics מתעד את הכשל במדדים שלכם ומפרסם יומן שגיאות ביומני הפרויקט.
יש שני שלבים לפתרון בעיות בשגיאות:
- מעקב אחרי מצב הפרויקטים באמצעות מדדים של בית חכם.
- כדי לבדוק בעיות, אפשר לעיין בתיאורים המפורטים של השגיאות ביומני השגיאות.
מעקב אחרי שגיאות
אפשר להשתמש בGoogle Cloud Monitoring dashboard כדי לגשת למדדי הפרויקט. יש כמה תרשימים חשובים שמתאימים במיוחד למעקב אחר איכות ולניפוי באגים:
- התרשים שיעור ההצלחה הוא התרשים הראשון שצריך להתחיל ממנו כשאתם עוקבים אחרי האמינות של הפרויקטים. ירידות בתרשים הזה יכולות להצביע על הפסקה זמנית בשירות בחלק מבסיס המשתמשים או בכלו. מומלץ לעקוב אחרי התרשים הזה בקפידה כדי לזהות אי-סדרים אחרי כל שינוי או עדכון בפרויקט.
- התרשימים של פירוט השגיאות הכי שימושיים לפתרון בעיות בשילובים. לכל שגיאה שמודגשת בתרשים של אחוז ההצלחה, מוצג קוד שגיאה בפירוט השגיאות. בטבלה הבאה מפורטות השגיאות שמסומנות ב-Google Home platform ואופן פתרון הבעיות שלהן.
קודי שגיאה בפלטפורמה
ריכזנו כאן כמה קודי שגיאה נפוצים שעשויים להופיע ביומני הפרויקטים כדי לזהות בעיות שזוהו על ידי Google Home platform. בטבלה הבאה מפורט מידע לפתרון בעיות.
קוד השגיאה | תיאור |
---|---|
BACKEND_FAILURE_URL_ERROR |
Google קיבלה מהשירות שלך קוד שגיאה מסוג HTTP 4xx שאינו 401.
אפשר להשתמש ב- requestId ביומן GCP כדי לבדוק את יומני השירות של הבית החכם.
|
BACKEND_FAILURE_URL_TIMEOUT |
פג הזמן הקצוב לעיבוד הבקשה של Google בניסיון להגיע לשירות שלכם.
מוודאים שהשירות פעיל, מקבל חיבורים ולא חורג מהקיבולת. בנוסף, צריך לוודא שהמכשיר היעד מופעל, מחובר לאינטרנט ומסונכרן. |
BACKEND_FAILURE_URL_UNREACHABLE |
Google קיבלה קוד שגיאה מסוג HTTP 5xx מהשירות שלך.
אפשר להשתמש ב- requestId ביומן GCP כדי לבדוק את יומני השירות של הבית החכם.
|
DEVICE_NOT_FOUND |
המכשיר לא קיים בצד שירות השותף.
בדרך כלל המשמעות היא כשל בסנכרון הנתונים או מצב של תחרות. |
GAL_BAD_3P_RESPONSE |
Google לא יכולה לנתח את התגובה משירות קישור החשבון עקב פורמט או ערכים לא חוקיים בתוכן המשא.
אפשר להשתמש ב- requestId ביומן GCP כדי לבדוק את יומני השגיאות בשירות לקישור החשבון.
|
GAL_INTERNAL |
אירעה שגיאה פנימית ב-Google כש-Google ניסתה לאחזר אסימון גישה.
אם תבחינו בעלייה בשיעור של השגיאה הזו ביומן GCP, תוכלו ליצור איתנו קשר לקבלת מידע נוסף. |
GAL_INVALID_ARGUMENT |
אירעה שגיאה פנימית ב-Google כש-Google ניסתה לאחזר אסימון גישה.
אם תבחינו בעלייה בשיעור של השגיאה הזו ביומן GCP, תוכלו ליצור איתנו קשר לקבלת מידע נוסף. |
GAL_NOT_FOUND |
אסימוני הגישה ואסימוני הרענון של המשתמש שמאוחסנים ב-Google יהיו לא חוקיים ולא ניתן יהיה לרענן אותם. המשתמש יצטרך לקשר מחדש את החשבון שלו כדי להמשיך להשתמש בשירות.
אם תבחינו בעלייה בשיעור של השגיאה הזו ביומן GCP, תוכלו ליצור איתנו קשר לקבלת מידע נוסף. |
GAL_PERMISSION_DENIED |
אירעה שגיאה פנימית ב-Google כששיתוף האסימון לא אושר.
אם תבחינו בעלייה בשיעור של השגיאה הזו ביומן GCP, תוכלו ליצור איתנו קשר לקבלת מידע נוסף. |
GAL_REFRESH_IN_PROGRESS |
פג התוקף של אסימון הגישה של המשתמש, ונעשית כבר ניסיון רענון בו-זמנית.
אין זו בעיה ואין צורך לבצע פעולה כלשהי. |
INVALID_AUTH_TOKEN |
Google קיבלה קוד שגיאה מסוג HTTP 401 מהשירות שלך.
אסימון הגישה לא פג תוקף, אבל השירות שלכם ביטל אותו. אפשר להשתמש ב- requestId ב-GCP Logging כדי לבדוק את יומני השירות של הבית החכם.
|
INVALID_JSON |
אי אפשר לנתח או להבין את תגובת ה-JSON.
בודקים את המבנה של תגובת ה-JSON כדי לאתר תחביר לא תקין, כמו סוגריים לא תואמים, נקודות פסיק חסרות או תווים לא חוקיים. |
OPEN_AUTH_FAILURE |
פג התוקף של אסימון הגישה של המשתמש ו-Google לא יכולה לרענן אותו, או ש-Google קיבלה קוד שגיאה מסוג HTTP 401 מהשירות שלכם.
אם אתם רואים עלייה בשיעור של הקוד הזה, כדאי לבדוק אם יש גם עלייה בשיעור השגיאות שקשורות לכוונות של בית חכם או לבקשות לרענון אסימונים. |
PARTNER_RESPONSE_INVALID_ERROR_CODE |
התגובה מציינת קוד שגיאה לא מזוהה.
אם התשובה לבקשה מציינת שגיאה, חשוב להשתמש ב קודי השגיאה הנתמכים. |
PARTNER_RESPONSE_INVALID_PAYLOAD |
לא ניתן לנתח את השדה payload בתגובה כאובייקט JSON.
בודקים אם לשדה של עומס העבודה בתשובה לבקשה יש סוגריים תואמים והוא בנוי כראוי כשדה JSON. |
PARTNER_RESPONSE_INVALID_STATUS |
התגובה לא מציינת סטטוס, או שהיא מציינת סטטוס שגוי.
בתשובות לבקשות להשלמת כוונה צריך לציין סטטוס באמצעות SUCCESS, OFFLINE, ERROR, EXCEPTIONS . מידע נוסף זמין במאמר
טיפול בשגיאות ובחריגות.
|
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES |
כוונה אחת או יותר שקיימת בבקשה חסרה בתשובה.
מוודאים ש התגובה לביצוע מובנית בצורה נכונה ושכל התוצאות של כל הכוונות מהבקשה נמצאות בתגובה. |
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 ששולחות יומנים לפרויקט שלכם כל הזמן. צריך לכתוב שאילתות כדי לסנן את היומנים ולמצוא את היומנים הנחוצים. השאילתות יכולות להתבסס על טווח זמן, משאב, חומרה ביומן או רשומות בהתאמה אישית.
תוכלו להשתמש בלחצני השאילתות כדי ליצור מסננים מותאמים אישית.
כדי לציין טווח זמן, לוחצים על לחצן הבחירה של טווח הזמן
ובוחרים באחת מהאפשרויות המוצעות. הפעולה הזו תסנן את היומנים ותציג את היומנים שמקורם בטווח הזמן שנבחר.כדי לציין משאב, לוחצים על התפריט הנפתח Resource ובוחרים באפשרות Google Assistant Action Project. הפעולה הזו מוסיפה מסנן לשאילתה כדי להציג יומנים שמקורם בפרויקט.
אפשר להשתמש בלחצן Severity כדי לסנן לפי Emergency, Info, Debug ורמות חומרה אחרות ביומן.
אפשר גם להשתמש בשדה השאילתה ב-Logs Explorer כדי להזין רשומות בהתאמה אישית. מנוע השאילתות שבו נעשה שימוש בשדה הזה תומך גם בשאילתות בסיסיות כמו התאמת מחרוזות, וגם בסוגי שאילתות מתקדמים יותר, כולל משוואות (<, >=, !=
) ואופרטורים בוליאניים (AND, OR, NOT
).
לדוגמה, הרשומה בהתאמה אישית שבהמשך תחזיר שגיאות שמקורן בסוג מכשיר LIGHT
:
resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"
בספריית השאילתות תוכלו למצוא דוגמאות נוספות לשליחת שאילתות ביעילות ביומני Google Cloud.
בדיקת התיקונים
אחרי שמזהים שגיאות ומחילים עדכונים לתיקון שלהן, מומלץ לבדוק היטב את התיקונים באמצעות Google Home Test Suite. יש לנו מדריך למשתמש בנושא השימוש ב-Test Suite, שמסביר איך לבדוק את השינויים בצורה יעילה.
מקורות מידע ללמידה
במסמך הזה מפורטים השלבים לפתרון שגיאות בפעולה של Smart Home. אפשר גם לעיין בקורסים שלנו ב-codelabs כדי לקבל מידע נוסף על ניפוי באגים:
- ניפוי באגים ב-Codelab של בית חכם: מדריך למתחילים לניפוי באגים בשילוב של בית חכם בענן.
- ניפוי באגים ב-Local Home Codelab: מדריך למתחילים לניפוי באגים בשילוב מקומי של בית חכם.