בעזרת Error Reporting אפשר לזהות בעיות בשירותי הענן, לקבוע להן סדרי עדיפות ולטפל בהן. המערכת אוספת אירועי שגיאות באפליקציות לפי המקור לבעיה. אירוע שגיאה מייצג שגיאה אחת באפליקציה, וכולל את חותמת הזמן, הקשר הביצועי וההודעה שלה. הכלי Error Reporting אוסף אירועים ישירות מ-Error Reporting API או מסיק אותם על ידי סריקת רשומות ביומן כדי למצוא עקבות מחסנית ותבניות שגיאה נפוצות.
כדי לשפר את הביצועים, Error Reporting דוגם עד 1,000 שגיאות בשעה, ומעריך את המספרים כשהוא מגיע לסף הזה. אם נפח האירועים חורג מהקיבולת, הכלי Error Reporting דוגם עד 100 שגיאות בשעה וממשיך לחשב את המספרים שמוצגים.
כאשר Error Reporting מנתח רשומות ביומן
השירות 'דיווח שגיאות' הוא שירות גלובלי שמבוסס על Cloud Logging, והוא יכול לנתח רשומות ביומן אם כל התנאים הבאים מתקיימים:
- התכונה 'עומסי עבודה מאובטחים' מושבתת. מידע נוסף זמין במאמר סקירה כללית על Assured Workloads.
- מפתחות הצפנה בניהול הלקוח (CMEK) מושבתים בכל מאגרי היומנים שבהם מאוחסן רשומה ביומן. Error Reporting לא יכול לאחסן רשומות ביומן בקטגוריות יומן שמופעל בהן CMEK. במאמר אימות הפעלת המפתח מוסבר איך לקבוע את הגדרת ה-CMEK של קטגוריה ביומן.
- קטגוריה ביומן עומדת באחד מהתנאים הבאים:
- קטגוריית היומן מאוחסנת באותו פרויקט שבו נוצרו רשומות היומן.
- הרשומות ביומן הועברו לפרויקט, ואז הפרויקט הזה אחסן את הרשומות ביומן בקטגוריית יומנים שבבעלותו.
איך אירועי שגיאה מקובצים
כשכלי הדיווח על שגיאות מעריך רשומות ביומן כדי לזהות אירועי שגיאה, הוא מתעלם מהנתונים הבאים:
- רשומות ביומן שנכתבו על ידי סביבת ברירת המחדל ב-App Engine עם רמת חומרה נמוכה מ-
ERROR. - מסגרות מחסנית שלא בבעלות המשתמש, כמו אלה ששייכות לספריות ציבוריות.
כשסורקים רשומה ביומן, Error Reporting מבצע את השינויים הבאים לפני שהוא מסיק אירועי שגיאה:
- מחליפה כל רצף חוזר של מסגרת אחת או יותר של מחסנית במופע יחיד של הרצף הזה.
- הסרת שיטות וסמלים שהוצגו על ידי הקומפיילר.
Error Reporting מחיל את הכללים האלה, לפי הסדר שצוין, כדי לקבץ אירועים של שגיאות:
| אירוע שגיאה | קיבוץ לפי |
|---|---|
| אירועי שגיאה שנגרמים מבעיה כללית בסביבה.
לדוגמה, בעיות שספציפיות ל-App Engine: com.google.apphosting.runtime.HardDeadlineExceededError com.google.appengine.api.datastore.DatastoreTimeoutException בעיות ב-Java: java.util.concurrent.CancellationException |
הן מקובצות לפי סוג החריגה. |
| אירועי שגיאה עם דוח קריסות. במקרה של חריגים מוטמעים, נלקח בחשבון החריג הפנימי ביותר.
לדוגמה: runtime error: index out of range
package1.func1()
file1:20
package2.func2()
file2:33 |
הן מקובצות לפי סוג החריגה וחמשת הפריימים העליונים. |
| אירועי שגיאה בלי דוח קריסות אבל עם הודעה.
לדוגמה: runtime error: index out of range
func1()בדוגמה הזו, הטוקנים הבאים נלקחים בחשבון:
|
הנתונים מקובצים לפי הודעה ולפי שם הפונקציה (אם יש כזה). המערכת מתייחסת רק לשלושת הטוקנים המילוליים הראשונים של ההודעה. |
אזוריות של נתונים
אם הגדרתם Assured Workloads לדרישות של מיקום אחסון הנתונים או של רמת ההשפעה 4 (IL4), Google Cloud Error Reporting מושבת באופן אוטומטי.
ב-Cloud Logging, אתם יכולים להגדיר את היומנים לפי אזור על ידי ניתוב שלהם למיקום ספציפי. בדף Error Groups, Error Reporting מארגן ומציג קבוצות של שגיאות על סמך האזור של קטגוריה ביומן שמכילה את רשומות היומן. לדוגמה, קבוצת שגיאות שמופיעה בקטע us-central1 מכילה רק יומני שגיאות ששייכים לקטגוריה ביומן ב-us-central1. קבוצות שגיאות גלובליות מכילות רק יומני שגיאות ששייכים למאגר יומנים באזור global.
כדי לסנן את האזור של קבוצות השגיאות שמוצגות בדף קבוצות שגיאות, בוחרים ערך בתפריט אזור. ערך ברירת המחדל של התפריט הזה הוא global.
