אתם יכולים לראות ולאחזר רשומות ביומן שנותבו מ-Cloud Logging לקטגוריות של Cloud Storage, כדי לתמוך בביקורות אבטחה, בארכוב לצורכי תאימות או בניתוח חיצוני. רשומות ביומן נשמרות בקטגוריות של Cloud Storage באצוות לפי שעה, ובדרך כלל מופיעות תוך שעתיים עד 3 שעות אחרי הייצוא.
אי אפשר לנתב רשומות ביומן באמצעות sinks ביומן לקטגוריות של Cloud Storage שמוגדרות ל-Rapid Storage.
לפני שמתחילים
לדיון מושגי על אובייקטים מסוג sink, קראו את המאמר סקירה כללית על מודלים של ניתוב ואחסון: אובייקטים מסוג sink.
הוראות לניתוב יומנים מופיעות במאמר ניתוב יומנים ליעדים נתמכים.
צפייה ביומנים
כדי לראות את היומנים שנותבו ל-Cloud Storage:
-
נכנסים לדף Buckets במסוף Google Cloud :
אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה שכותרת המשנה שלה היא Cloud Storage.
בוחרים את הקטגוריה של Cloud Storage שמשמשת כיעד הניתוב.
ארגון היומנים
כשמנתבים יומנים לקטגוריה של Cloud Storage, כלי הרישום ביומן כותב קבוצת קבצים בקטגוריה.
הקבצים מאורגנים בהיררכיות של ספריות לפי סוג היומן והתאריך. סוג היומן, שנקרא [LOG_ID] במאמר העזר בנושא LogEntry, יכול להיות שם כמו syslog או שם מורכב כמו appengine.googleapis.com/request_log. אם היומנים האלה היו מאוחסנים בקטגוריה בשם my-gcs-bucket, אז הספריות היו נקראות כמו בדוגמה הבאה:
my-gcs-bucket/syslog/YYYY/MM/DD/
my-gcs-bucket/appengine.googleapis.com/request_log/YYYY/MM/DD/
קטגוריה אחת של Cloud Storage יכולה להכיל יומנים מכמה סוגי משאבים. גודל הקובץ המקסימלי הוא 3.5GiB.
כלי הרישום ביומן לא מבטיח ביטול כפילויות של רשומות ביומן מכיורים שמכילים שאילתות זהות או חופפות. יכול להיות שרשומות ביומן מהכיורים האלה ייכתבו כמה פעמים בקטגוריה של Cloud Storage.
ספריות העלים (DD/) מכילות כמה קבצים, שכל אחד מהם מכיל את רשומות היומן שנותבו לתקופה שצוינה בשם הקובץ. הקבצים מפוצלים והשמות שלהם מסתיימים במספר הפיצול, Sn או An (n=0, 1, 2, ...). לדוגמה, אלה שני קבצים שאפשר לאחסן בספרייה my-gcs-bucket/syslog/2015/01/13/:
08:00:00_08:59:59_S0.json 08:00:00_08:59:59_S1.json
שני הקבצים האלה מכילים יחד את syslog רשומות היומן של כל המכונות במהלך השעה שמתחילה ב-08:00:00 ומסתיימת ב-08:59:59 (שעון UTC). חותמות הזמן של הרשומות ביומן מופיעות לפי שעון UTC (זמן אוניברסלי מתואם).
רשומות ביומן שמגיעות עם receiveTimestamp בתוך חלון הזמן של 60 הדקות של timestamp נכתבות בקובצי הפיצול הראשי. לדוגמה, רשומת יומן עם timestamp בשעה 08:00:00 ו-receiveTimestamp בשעה 08:10:00 מאוחסנת בקובץ ה-shard הראשי.
הקבצים האלה כוללים שאילתה ראשית ממוספרת בסיומת:
_Sn.json.
רשומות ביומן שמגיעות עם timestamp בחלון זמן שונה של 60 דקות מזה של ה-receiveTimestamp שלהן, נכתבות לקובצי addendum shard. לדוגמה, רשומת יומן עם timestamp בשעה 08:00:00 ו-receiveTimestamp בשעה 09:10:00 מאוחסנת בקובץ של מקטע נספח.
הקבצים האלה כוללים חלק ממוספר של נספח עם הסיומת: _An:Unix_timestamp.json.
לדוגמה, רשומת יומן עם timestamp בין 08:00:00 ל-08:59:59, אבל עם receiveTimestamp בחלון זמן אחר של 60 דקות, נכתבת בקובץ עם הסיומת _An:Unix_timestamp.json, שבו חותמת הזמן של Unix מזהה את השעה שבה הקובץ נותב ל-Cloud Storage. אם לרשומת יומן היה timestamp של 08:50:00 ו-receiveTimestamp של 09:10:00, והיא נותבה ב-09:15:00 ב-25 במרץ 2021, קובץ הנספח ייכתב באופן הבא:
08:00:00_08:59:59_A0:1616681700.json
כדי לקבל את כל רשומות היומן, צריך לקרוא את כל החלקים של כל תקופה – במקרה הזה, חלקי הקבצים 0 ו-1. מספר חלקי הקבצים שנכתבים יכול להשתנות בכל תקופה.
בתוך הקבצים הנפרדים שנוצרו באמצעות פיצול, רשומות ביומן מאוחסנות כרשימה של אובייקטים מסוג LogEntry. במאמר ארגון רשומות ביומן מופיעה דוגמה לרשומה של syslog.
חשוב לדעת שסדר המיון של רשומות היומן בקבצים לא אחיד, ואין הבטחה לסדר מסוים.
מגבלה
השדה LogEntry.errorGroups לא זמין ביעד הזה.
כיורי יומנים מנתבים את רשומות היומן שנשלחות לפרויקט, אבל רשומות היומן האלה לא מכילות קבוצות של שגיאות.
רשומות ביומן שמגיעות באיחור
רשומות ביומן שנותבו נשמרות בקטגוריות של Cloud Storage בקבוצות לפי שעה.
יכול להיות שיעברו שעתיים או שלוש עד שהרשומות הראשונות יתחילו להופיע. חלקים של קובצי יומן מנותבים עם הסיומת An (Append) מכילים רשומות ביומן שהגיעו באיחור.
אם יש הפסקה זמנית בשירות ביעד, Cloud Logging מאחסן את הנתונים במאגר עד שההפסקה מסתיימת.
אם אין יומנים ביעד של הכיור, בודקים את מדדי המערכת של הייצוא. המדדים של מערכת הייצוא מציינים כמה רשומות ביומן מנותבות וכמה נמחקות בגלל שגיאות. אם המדדים של מערכת הייצוא מצביעים על כך שאף רשומת יומן לא נותבה ליעד, צריך לבדוק את [המסנן][export-query] כדי לוודא שרשומות יומן שתואמות למסנן הגיעו לאחרונה ל-Logging.
נכנסים לדף Log Router במסוף Google Cloud :
אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה עם כותרת המשנה Logging.
רשומות ביומן של App Engine
ב-App Engine משולבות כמה רשומות משנה מסוג google.appengine.logging.v1.LogLine (שנקראות גם AppLog או AppLogLine) ברשומת יומן ראשית מסוג google.appengine.logging.v1.RequestLog, לבקשה שגורמת לפעילות ביומן. לכל שורת יומן יש "מזהה בקשה" שמזהה את הרשומה הראשית. ב-Logs Explorer מוצגות שורות היומן עם הרשומה של יומן הבקשות. מערכת Logging מנסה להכניס את כל שורות היומן לאצווה עם הבקשה המקורית, גם אם חותמות הזמן שלהן היו ממקמות אותן באצווה הבאה. אם זה לא אפשרי, יכול להיות שברשומת היומן של הבקשה יהיו חסרות כמה שורות יומן, ויהיו שורות יומן "יתומות" בלי בקשה בקבוצה הבאה. אם האפשרות הזו חשובה לכם, תצטרכו לחבר מחדש את חלקי הבקשה כשתעבדו את היומנים.
פתרון בעיות
אם נראה שחסרים יומנים ביעד של הכיור, או אם אתם חושדים שהכיור לא מנתב את היומנים כמו שצריך, קראו את המאמר פתרון בעיות בניתוב יומנים.