רענון_date: 6.01.2023
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 Logging, ניתן ליצור איתנו קשר לקבלת מידע נוסף. |
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 ששולחות יומנים לפרויקט שלכם כל הזמן. צריך לכתוב שאילתות כדי לסנן את היומנים ולמצוא את היומנים הנחוצים. אפשר להתבסס על שאילתות על סמך Time Range, Resource, Severity או רשומות בהתאמה אישית.
תוכלו להשתמש בלחצני השאילתות כדי ליצור מסננים מותאמים אישית.
כדי לציין טווח זמן, לוחצים על לחצן הבחירה של טווח הזמן
ובוחרים באחת מהאפשרויות המוצעות. הפעולה הזו תסנן את היומנים ותציג את היומנים שמקורם בטווח הזמן שנבחר.כדי לציין משאב, לוחצים על התפריט הנפתח 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 Home Test Suite. יש לנו מדריך למשתמש בנושא השימוש ב-Test Suite, שמסביר איך לבדוק את השינויים בצורה יעילה.
מקורות מידע ללמידה
במסמך הזה מפורטים השלבים לפתרון שגיאות בפעולה של Smart Home. אפשר גם לעיין בקורסים שלנו ב-codelabs כדי לקבל מידע נוסף על ניפוי באגים:
- ניפוי באגים ב-Codelab של בית חכם: מדריך למתחילים לניפוי באגים בשילוב של בית חכם בענן.
- ניפוי באגים ב-Local Home Codelab: מדריך למתחילים לניפוי באגים בשילוב מקומי של בית חכם.