סקירה כללית של Error Reporting

הכלי Error Reporting מרכז את אירועי השגיאות שנוצרו בשירותי הענן הפועלים שלכם. אירוע שגיאה מייצג מקרה יחיד של שגיאה באפליקציה. הנתונים שנשמרים לגבי כל אירוע כוללים מידע על השגיאה, כמו השעה שבה היא התרחשה, ההקשר שבו היא התרחשה והודעת השגיאה שהוחזרה.

אירועי שגיאה מדווחים על ידי Error Reporting API או שהם נגזרים על ידי Error Reporting כשמתבצעת בדיקה של רשומות ביומן כדי למצוא דפוסי טקסט נפוצים, כמו מעקבי ערימה. Error Reporting מקבץ אירועי שגיאה שנחשבים לכאלה שנובעים מאותה שורש הבעיה.

הדיווח על שגיאות מופעל באופן אוטומטי.

Error Reporting דוגם עד 1,000 שגיאות בשעה. כשמגיעים למגבלה הזו, המספרים שמוצגים הם משוערים. אם מתקבלים יותר מדי אירועים, Error Reporting בוחרת מדגם של עד 100 שגיאות בשעה וממשיכה להסיק את המספרים.

כאשר Error Reporting מנתח רשומות ביומן

השירות Error Reporting הוא שירות גלובלי שמבוסס על Cloud Logging, והוא יכול לנתח רשומות ביומן אם כל התנאים הבאים מתקיימים:

  • האפשרות Assured Workloads מושבתת. מידע נוסף זמין במאמר סקירה כללית על Assured Workloads.
  • מפתחות הצפנה בניהול הלקוח (CMEK) מושבתים בכל מאגרי היומנים שבהם מאוחסנת רשומת היומן. אי אפשר לאחסן רשומות ביומן בדלי יומנים שמופעל בהם CMEK. במאמר אימות הפעלת המפתח מוסבר איך לקבוע את הגדרת ה-CMEK של קטגוריה ביומן.
  • קטגוריה ביומן עומדת באחד מהתנאים הבאים:
    • קטגוריית היומן מאוחסנת באותו פרויקט שבו נוצרו רשומות היומן.
    • רשומות היומן מנותבות לפרויקט, ואז הפרויקט הזה מאחסן את רשומות היומן בקטגוריית יומנים שבבעלותו.

איך אירועי שגיאה מקובצים

כש-Error Reporting מעריך רשומות ביומן כדי לזהות אירועי שגיאה, הוא מתעלם מרשומות ביומן עם התנאים הבאים:

  • רשומות ביומן שנכתבו על ידי סביבה רגילה של 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
הנתונים מקובצים לפי סוג החריגה ו-5 הפריימים העליונים.
אירועי שגיאה בלי דוח קריסות, אבל עם הודעה.

לדוגמה:

runtime error: index out of range
    func1()
ההודעות מקובצות לפי שם הפונקציה (אם יש כזה). המערכת מתייחסת רק ל-3 האסימונים המילוליים הראשונים של ההודעה. בדוגמה שמימין, אלה הם runtime, error ו-index.

מיקום הנתונים

אם הגדרתם Assured Workloads לדרישות של מיקום הנתונים או רמת ההשפעה 4 (IL4), Google Cloud השבתת Error Reporting מתבצעת באופן אוטומטי.

ב-Cloud Logging, אתם יכולים להגדיר את היומנים לפי אזור על ידי ניתוב שלהם למיקום ספציפי. בדף קבוצות שגיאות, Error Reporting מארגן ומציג קבוצות של שגיאות על סמך האזור של קטגוריה ביומן שמכיל את רשומות היומן. לדוגמה, קבוצת שגיאות שמופיעה בקטע us-central-1 מכילה רק יומני שגיאות ששייכים לקטגוריה ביומן ב-us-central-1. קבוצות שגיאות גלובליות מכילות רק יומני שגיאות ששייכים למאגר יומנים באזור global.

כדי לסנן את האזור של קבוצות השגיאות שמוצגות בדף קבוצות שגיאות, בוחרים ערך בתפריט אזור. ערך ברירת המחדל של התפריט הזה הוא global.

תפריט האזור בדף 'קבוצות שגיאות'.

המאמרים הבאים