במאמר הזה מוסבר על בעיות נפוצות בניתוב ובאחסון, ואיך להשתמש במסוףCloud de Confiance כדי לראות ולפתור טעויות בהגדרות או תוצאות לא צפויות.
מידע כללי על צפייה בנתוני יומן מופיע במאמר צפייה ביומנים ביעדי יומן.
פתרון בעיות שקשורות לניתוב יומנים
בקטע הזה מוסבר איך לפתור בעיות נפוצות כשמנתבים את רשומות היומן.
יעד מכיל רשומות לא רצויות ביומן
אתם צופים ברשומות ביומן שהועברו ליעד ומגלים שהיעד מכיל רשומות לא רצויות ביומן.
כדי לפתור את הבעיה, צריך לעדכן את מסנני ההחרגה של מאגרי הנתונים שמעבירים רשומות ביומן ליעד. מסנני החרגה מאפשרים לכם להחריג רשומות יומן נבחרות מהניתוב ליעד.
לדוגמה, נניח שאתם יוצרים מאגר נתונים מצטבר כדי לנתב רשומות ביומן בארגון ליעד מסוים. כדי להחריג את רשומות היומן מפרויקט ספציפי מהניתוב ליעד, מוסיפים את מסנן ההחרגה הבא למאגר:
logName:projects/PROJECT_ID
אפשר גם להחריג רשומות ביומן מכמה פרויקטים באמצעות האופרטור הלוגי OR כדי לצרף סעיפים של logName.
חסרות רשומות ביומן של היעד
הבעיה הנפוצה ביותר שקשורה למאגרים היא שנראה שרשומות ביומן חסרות ביעד של המאגר.
במקרים מסוימים, לא נוצרת שגיאה, אבל יכול להיות שתשימו לב שרשומות ביומן לא זמינות כשאתם מנסים לגשת אליהן ביעד. אם אתם חושדים שהיעד לא מעביר את רשומות היומן כמו שצריך, כדאי לבדוק את המדדים של היעד שמבוססים על יומן המערכת:
-
exports/byte_count: מספר הבייטים ברשומות ביומן שהועברו. -
exports/log_entry_count: מספר רשומות היומן שהועברו. -
exports/error_count: מספר הרשומות ביומן שלא ניתן היה לנתב.
למדדים יש תוויות שמתעדות את הספירות לפי שם מאגר המידע ושם היעד, ומאפשרות לדעת אם מאגר המידע מעביר רשומות של יומנים בהצלחה או נכשל.
אם מדדי היעד מצביעים על כך שהיעד לא פועל כמו שציפיתם, הנה כמה סיבות אפשריות ומה אפשר לעשות לגביהן:
זמן אחזור
לא התקבלו רשומות יומן תואמות מאז שיצרתם או עדכנתם את יעד ההעברה. רק רשומות יומן חדשות מנותבות.
כדאי להמתין שעה ולבדוק שוב את היעד.
רשומות יומן תואמות מגיעות באיחור.
יכול להיות שיהיה עיכוב עד שתוכלו לראות את הרשומות ביומן ביעד. כדאי לחכות כמה שעות ולבדוק שוב את היעד.
ההיקף או המסנן של התצוגה שגויים
ההיקף שבו אתם משתמשים כדי להציג רשומות ביומן שאוחסנו בקטגוריה ביומן שגוי.
כדי לצמצם את החיפוש לתצוגות מפורטות של יומנים, פועלים לפי השלבים הבאים:
אם אתם משתמשים בכלי Logs Explorer, לוחצים על הלחצן Refine scope.
אם אתם משתמשים ב-CLI של gcloud, אתם יכולים להשתמש בפקודה
gcloud logging readולהוסיף את הדגל--view=AllLogs.
טווח הזמן שבו אתם משתמשים כדי לבחור ולהציג נתונים ביעד שלכם מצומצם מדי.
אפשר לנסות להרחיב את טווח הזמן שבו משתמשים כשבוחרים נתונים ביעד של ה-sink.
שגיאה במסנן של יעד
המסנן של יעד הנתונים שגוי ולא כולל את רשומות היומן שציפיתם לראות ביעד.
עורכים את המסנן של יעד הניקוז באמצעות Log Router במסוף Cloud de Confiance . כדי לוודא שהזנתם את המסנן הנכון, בוחרים באפשרות תצוגה מקדימה של היומנים בחלונית עריכת יעד. הפעולה הזו תפתח את הכלי Logs Explorer בכרטיסייה חדשה עם מסנן שאוכלס מראש. הוראות לצפייה באובייקטים מסוג sink ולניהול שלהם מופיעות במאמר ניהול אובייקטים מסוג sink.
הצגת השגיאות
לכל אחד מיעדי ה-sink הנתמכים, Logging מספק הודעות שגיאה לגבי sinks שהוגדרו בצורה לא תקינה.
יש כמה דרכים לראות את השגיאות שקשורות ליעד, והן מתוארות בקטעים הבאים:
- צפייה ביומני השגיאות שנוצרו עבור יעד הנתונים
קבלת התראות באימייל על שגיאות ב-Sink.
השולח של האימייל הזה הוא
logging-noreply@google.com. שורת הנושא דומה ל-[ACTION REQUIRED] Cloud Logging sink configuration error.
יומני שגיאות
השיטה המומלצת לבדיקה מפורטת של שגיאות שקשורות ליעד היא עיון ברשומות של יומן השגיאות שנוצרות על ידי היעד. פרטים על הצגת רשומות ביומן זמינים במאמר הצגת יומנים באמצעות Logs Explorer.
כדי לבדוק את יומני השגיאות של יעד, אפשר להשתמש בשאילתה הבאה בחלונית של עורך השאילתות ב-Logs Explorer. אותה שאילתה פועלת ב-Logging API וב-CLI של gcloud.
לפני שמעתיקים את השאילתה, מחליפים את המשתנה SINK_NAME בשם של יעד הנתונים שאתם מנסים לפתור בו בעיות. אפשר לראות את שם היעד בדף Log Router במסוף Cloud de Confiance .
logName:"logging.googleapis.com%2Fsink_error"
resource.type="logging_sink"
resource.labels.name="SINK_NAME"
לדוגמה, אם שם היעד הוא my-sink-123, רשומה ביומן יכולה להיראות כך:
{
errorGroups: [
0: {
id: "COXu96aNws6BiQE"
}]
insertId: "170up6jan"
labels: {
activity_type_name: "LoggingSinkConfigErrorV2"
destination: "pubsub.googleapis.com/projects/my-project/topics/my-topic"
error_code: "topic_not_found"
error_detail: ""
sink_id: "my-sink-123"
}
logName: "projects/my-project/logs/logging.googleapis.com%2Fsink_error"
receiveTimestamp: "2024-07-11T14:41:42.578823830Z"
resource: {
labels: {
destination: "pubsub.googleapis.com/projects/my-project/topics/my-topic"
name: "my-sink-123"
project_id: "my-project"
}
type: "logging_sink"
}
severity: "ERROR"
textPayload: "Cloud Logging sink configuration error in my-project, sink my-sink-123: topic_not_found ()"
timestamp: "2024-07-11T14:41:41.296157014Z"
}
השדה LogEntry labels והמידע של זוגות המפתח/ערך שמוטמעים בו עוזרים לכם לזהות את מקור השגיאה של יעד הנתונים. הוא מכיל את המשאב שהושפע, את יעד הנתונים שהושפע ואת קוד השגיאה. השדה labels.error_code מכיל תיאור מקוצר של השגיאה, כדי שתדעו איזה רכיב ביעד צריך להגדיר מחדש.
כדי לפתור את הבעיה, עורכים את יעד הנתונים. לדוגמה, אפשר לערוך את יעד השמירה באמצעות הדף Log Router:
התראות באימייל
Essential Contacts שולח התראות באימייל על שגיאות בהגדרת יעד לאנשי קשר שהוקצו לקטגוריית ההתראות הטכניות בפרויקט Cloud de Confiance או במשאב האב שלו.
אם לא הוגדר איש קשר לקבלת התראות טכניות עבור המשאב, המשתמשים שמוגדרים כProject Owner ב-IAM roles/owner עבור המשאב יקבלו את ההתראה באימייל.
לכל שילוב של שם sink ביומן ושגיאה, המערכת שולחת התראה אחת ביום.
הודעת האימייל מכילה את הפרטים הבאים:
- מזהה המשאב: השם של Cloud de Confiance הפרויקט או שלCloud de Confiance משאב אחר שבו הוגדר יעד.
- שם היעד: שם היעד שמכיל את שגיאת ההגדרה.
- יעד של Sink: הנתיב המלא של יעד הניתוב של Sink. לדוגמה,
pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID - קוד שגיאה: תיאור מקוצר של קטגוריית השגיאה, למשל,
topic_not_found. - פרטי השגיאה: מידע מפורט על השגיאה, כולל המלצות לפתרון השגיאה הבסיסית.
השולח של האימייל הזה הוא logging-noreply@google.com.
הנושא דומה ל: Subject: [ACTION REQUIRED] Cloud Logging sink configuration error in my-project
כדי לראות ולנהל את אובייקטים מסוג sink, משתמשים בדף Log Router:
כל שגיאה בהגדרת יעד שרלוונטית למשאב מופיעה ברשימה כCloud Logging sink configuration error. כל שגיאה מכילה קישור לאחת מרשומות היומן שנוצרו על ידי יעד הנתונים הפגום. כדי לבדוק את השגיאות הבסיסיות בפירוט, אפשר לעיין בקטע יומני שגיאות.
סוגים של שגיאות ביעד
בקטעים הבאים מתוארות קטגוריות רחבות של שגיאות שקשורות ליעד, ומוסבר איך לפתור אותן.
יעד שגוי
אם הגדרתם יעד לניקוז אבל מופיעה שגיאת הגדרה שלפיה לא נמצא היעד כש-Logging ניסה לנתב רשומות ביומן, יכולות להיות לכך כמה סיבות:
ההגדרה של יעד הנתונים מכילה שגיאת כתיב או שגיאת עיצוב אחרת.
צריך לעדכן את ההגדרות של יעד הנתונים כדי לציין את היעד הקיים בצורה נכונה.
יכול להיות שהיעד שצוין נמחק.
אפשר לשנות את ההגדרה של יעד הנתונים כך שישתמש ביעד קיים אחר, או ליצור מחדש את היעד עם אותו שם.
כדי לפתור את הבעיות מהסוגים האלה, עורכים את יעד הנתונים. לדוגמה, אפשר לערוך את היעד באמצעות הדף Log Router:
ההעברה מתחילה להעביר רשומות ביומן כשהיעד נמצא ומתקבלות ב-Logging רשומות חדשות ביומן שתואמות למסנן.
ניהול בעיות ב-sinks
אם השבתתם יעד כדי להפסיק לאחסן רשומות ביומן בקטגוריה ביומן, אבל אתם עדיין רואים רשומות ביומן שמועברות, צריך לחכות כמה דקות עד שהשינויים ביעד יחולו.
בעיות בהרשאות
כשמאגר מנסה לנתב רשומה ביומן אבל חסרות לו הרשאות IAM מתאימות ליעד של המאגר, המאגר מדווח על שגיאה, שאפשר לראות, ומדלג על הרשומה ביומן.
כשיוצרים יעד, צריך להעניק לחשבון השירות של היעד את ההרשאות המתאימות ליעד. אם יוצרים את יעד ההעברה במסוף Cloud de Confiance באותו פרויקטCloud de Confiance , בדרך כלל המסוף Cloud de Confiance מקצה את ההרשאות האלה באופן אוטומטי. עם זאת, אם יוצרים את יעד ההעברה בCloud de Confiance פרויקט אחר, או באמצעות ה-CLI של gcloud או Logging API, צריך להגדיר את ההרשאות באופן ידני.
אם מופיעות שגיאות שקשורות להרשאות ביעד, צריך להוסיף את ההרשאות הנדרשות או לעדכן את היעד כדי להשתמש ביעד אחר. הוראות לעדכון ההרשאות האלה מופיעות במאמר הרשאות יעד.
יש עיכוב קל בין יצירת יעד לבין השימוש בחשבון השירות החדש של היעד כדי לאשר כתיבה ליעד. היעד מתחיל להפנות רשומות ביומן כשמתקבלות רשומות חדשות ביומן שתואמות למסנן שהגדרתם, ומתוקנות הרשאות.
בעיות שקשורות למדיניות הארגון
אם מנסים לנתב רשומה ביומן אבל נתקלים במדיניות ארגונית שמגבילה את היכולת של Logging לכתוב ליעד של מאגר, המאגר לא יכול לנתב ליעד שנבחר ומוצגת שגיאה.
אם מופיעות שגיאות שקשורות למדיניות הארגון, אפשר לבצע את הפעולות הבאות:
מעדכנים את מדיניות הארגון של היעד כדי להסיר את האילוצים שמונעים מה-sink לנתב רשומות ביומן. כדי לעשות את זה, צריך לוודא שיש לכם את ההרשאות המתאימות לעדכון מדיניות הארגון.
אפשר לבדוק אם קיימת הגבלה על מיקום המשאב (
constraints/gcp.resourceLocations). המגבלה הזו קובעת את המיקומים שבהם אפשר לאחסן נתונים. בנוסף, חלק מהשירותים תומכים באילוצים שעשויים להשפיע על sink ביומן. לדוגמה, יש כמה הגבלות שעשויות לחול כשבוחרים ביעד Pub/Sub. רשימת האילוצים האפשריים מופיעה במאמר בנושא אילוצים של מדיניות הארגון.הוראות מופיעות במאמר בנושא יצירה ועריכה של כללי מדיניות.
אם אי אפשר לעדכן את מדיניות הארגון, צריך לעדכן את יעד הנתונים בדף Log Router כדי להשתמש ביעד שעומד בדרישות.
הניתוב של רשומות היומן מתחיל כשמדיניות הארגון כבר לא חוסמת את הכתיבה של ה-sink ליעד, ו-Logging מקבל רשומות יומן חדשות שתואמות למסנן.
בעיות במפתחות הצפנה
אם אתם משתמשים במפתחות הצפנה, שמנוהלים באמצעות Cloud Key Management Service או על ידכם, כדי להצפין את הנתונים ביעד של מאגר הנתונים, יכול להיות שתראו שגיאות שקשורות לכך. ריכזנו כאן כמה בעיות אפשריות ודרכים לפתור אותן:
לא נמצא מפתח Cloud KMS.
לא נמצא Cloud de Confiance הפרויקט שמכיל את מפתח Cloud KMS שהוגדר להצפנת הנתונים.
משתמשים במפתח Cloud KMS תקין מפרויקטCloud de Confiance קיים.
המיקום של מפתח Cloud KMS לא תואם למיקום של היעד.
אם Cloud de Confiance הפרויקט שמכיל את מפתח Cloud KMS נמצא באזור ששונה מהאזור של היעד, ההצפנה תיכשל ולא ניתן יהיה לנתב את הנתונים ליעד הזה.
שימוש במפתח Cloud KMS שנמצא בפרויקט Cloud de Confiance שהאזור שלו תואם ליעד של מאגר הנתונים.
הגישה למפתח ההצפנה נדחתה לחשבון השירות של יעד הנתונים.
גם אם יצרתם את יעד ההעברה בהצלחה עם הרשאות נכונות לחשבון השירות, הודעת השגיאה הזו תוצג אם יעד ההעברה משתמש במפתח הצפנה שלא נותן לחשבון השירות הרשאות מספיקות להצפנה או לפענוח של הנתונים.
צריך להעניק לחשבון השירות שצוין בשדה
writerIdentityשל יעד הנתונים את התפקיד CryptoKey Encrypter/Decrypter ב-Cloud KMS עבור המפתח שמשמש את היעד. כמו כן, מוודאים ש-Cloud KMS API מופעל.
בעיות שקשורות למכסות
כשמקורות נתונים כותבים רשומות ביומן, מכסות ספציפיות ליעד חלות עלCloud de Confiance הפרויקטים שבהם נוצרו מקורות הנתונים. אם המכסות מוצו, יעד הסינכרון מפסיק להעביר רשומות ביומן ליעד.
לדוגמה, יכול להיות שהיעד מעביר מהר מדי יותר מדי רשומות ביומן.
כדי לפתור את הבעיות שנובעות ממיצוי נפח האחסון, צריך לצמצם את כמות נתוני היומן שמועברים. לשם כך, מעדכנים את המסנן של מאגר הנתונים כך שיתאים לפחות רשומות ביומן. אפשר להשתמש בפונקציה sample במסנן כדי לבחור חלק ממספר הרשומות הכולל ביומן.
אם יש מכסה זמין, רשומות היומן של המסלולים של מאגרי המידע מועברות ליעד של מאגר המידע.
פרטים על המגבלות שעשויות לחול כשמנתבים רשומות ביומן מופיעים במידע על המכסה של היעד המתאים:
בנוסף לסוגי השגיאות הכלליים של יעד, ריכזנו כאן את סוגי השגיאות הנפוצים ביותר שספציפיים ליעד, והסבר איך לתקן אותם.
שגיאות בניתוב לקטגוריות של Cloud Logging
יכול להיות שתיתקלו במצב שבו תוכלו לראות רשומות ביומן בכלי Logs Explorer שהחרגתם באמצעות יעד ה-sink. אפשר עדיין לראות את רשומות היומן האלה אם מתקיים אחד מהתנאים הבאים:
אתם מריצים את השאילתה בפרויקט Cloud de Confiance שבו נוצרו רשומות היומן.
כדי לפתור את הבעיה, צריך לוודא שהשאילתה מופעלת בCloud de Confiance פרויקט הנכון.
רשומות היומן שהוחרגו נשלחו לכמה מאגרי יומנים, ואתם רואים עותק של אותו יומן שהתכוונתם להחריג.
כדי לפתור את הבעיה, בודקים את היעדים בדף Log Router כדי לוודא שלא כללתם את רשומות היומן במסננים של יעדים אחרים.
יש לכם גישה לתצוגות בקטגוריה ביומן שאליה נשלחו רשומות ביומן. במקרה כזה, תוכלו לראות את רשומות היומן האלה כברירת מחדל.
כדי להימנע מהצגת הרשומות האלה ביומן ב-Logs Explorer, אפשר לצמצם את היקף החיפוש לפרויקט או לקטגוריה של מקור Cloud de Confiance .
פתרון בעיות בשמירת יומנים
למה אי אפשר למחוק את הדלי הזה?
אם אתם מנסים למחוק קטגוריה, אתם צריכים:
מוודאים שיש לכם את ההרשאות הנכונות למחיקת המאגר. רשימת ההרשאות הנדרשות מופיעה במאמר בקרת גישה באמצעות IAM.
כדי לדעת אם הקטגוריה נעולה, צריך לבדוק את המאפיינים שלה. אם המאגר נעול, צריך לבדוק את תקופת השמירה של המאגר. אי אפשר למחוק קטגוריה נעולה עד שכל היומנים בקטגוריה יסיימו את תקופת השמירה של הקטגוריה.
אילו חשבונות שירות מעבירים יומנים אל הדלי שלי?
כדי לבדוק אם לחשבונות שירות מסוימים יש הרשאות IAM להעברת יומנים לקטגוריית היעד, מבצעים את הפעולות הבאות:
-
נכנסים לדף IAM במסוף Cloud de Confiance :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שמופיע בה הכותרת המשנית IAM & Admin.
בכרטיסייה Permissions (הרשאות), בוחרים באפשרות Roles (תפקידים). מוצגת טבלה עם כל התפקידים ב-IAM וחשבונות המשתמשים שמשויכים לCloud de Confiance פרויקט.
בתיבת הטקסט Filter בטבלה filter_list, מזינים Logs Bucket Writer.
מוצגים כל חשבונות המשתמשים עם התפקיד Logs Bucket Writer. אם חשבון המשתמש הוא חשבון שירות, המזהה שלו מכיל את המחרוזת
s3ns-system.iam.gserviceaccount.com.אופציונלי: אם רוצים להסיר חשבון שירות מהאפשרות לנתב יומנים לפרויקט Cloud de Confiance , מסמנים את תיבת הסימון check_box_outline_blank של חשבון השירות ולוחצים על הסרה.
למה אני רואה יומנים של פרויקט מסוים למרות שהחרגתי אותם ממאגר הנתונים שלי? Cloud de Confiance _Default
יכול להיות שאתם צופים ביומנים בדלי יומנים בפרויקט מרכזי Cloud de Confiance , שבו היומנים מכל הארגון מרוכזים.
אם אתם משתמשים ב-Logs Explorer כדי לגשת ליומנים האלה ולראות יומנים שהחרגתם מ-_Default sink, יכול להיות שהתצוגה מוגדרת לCloud de Confiance רמת הפרויקט.
כדי לפתור את הבעיה, בוחרים באפשרות Log view בתפריט Refine scope ואז בוחרים את תצוגת היומן שמשויכת למאגר _Default בפרויקטCloud de Confiance . היומנים שהוחרגו לא אמורים להופיע יותר.