פתרון בעיות שקשורות לניתוב ולאחסון של יומנים

אם נתקלתם בבעיות בניתוב או באחסון של רשומות ביומן, אתם יכולים להשתמש במסוףCloud de Confiance כדי לאבחן שגיאות בהגדרות, לבדוק הודעות שגיאה ולפתור בעיות של יומנים חסרים.

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

פתרון בעיות בניתוב יומנים

בקטע הזה מוסבר איך לפתור בעיות נפוצות שקשורות לניתוב של רשומות ביומן.

יצירת sink נכשלת עם שגיאת שירות לא ידועה

ניסיתם ליצור sink ביומן, אבל הפקודה נכשלה עם השגיאה INVALID_ARGUMENT (HTTP 400). הודעת השגיאה כוללת את הפרטים הבאים:

Sink.destination with unknown service name: [SERVICE_DOMAIN]. Supported services are bigquery.googleapis.com,pubsub.googleapis.com,storage.googleapis.com,logging.googleapis.com

כדי לפתור את השגיאה, משתמשים בנקודת הקצה הגלובלית של אחד מהשירותים הנתמכים. יעד של sink ביומן לא יכול לציין נקודת קצה של שירות אזורי (REP), כמו pubsub.LOCATION.rep.googleapis.com.

הודעת השגיאה בהגדרת הכיור מציינת שאזור הנושא לא מורשה

אחת מהאפשרויות הבאות תתרחש:

  • אתם מקבלים אימייל עם הנושא [ACTION REQUIRED] Cloud Logging sink configuration error in [PROJECT_ID] וקוד השגיאה topic_region_not_allowed. האימייל כולל הודעה דומה לזו:

    מדיניות אחסון ההודעות של הנושא דורשת אכיפה בזמן ההעברה, אבל בקשת הפרסום התקבלה על ידי שרת Pub/Sub באזור שאסור. צריך לפרסם דרך נקודת קצה אזורית של Cloud Logging שתואמת לאזור מותר, או לעדכן את מדיניות אחסון ההודעות של הנושא.

  • אתם מבחינים ברשומות ביומן עם רמת חומרה ERROR, קוד שגיאה "topic_region_not_allowed" ומטען ייעודי (payload) של טקסט שדומה לזה:

    Cloud Logging sink configuration error in [PROJECT_ID], sink [SINK_NAME]: topic_region_not_allowed ()
    

ההודעות האלה מציינות שהיעד של ה-sink הוא נושא Pub/Sub שאוכף הגבלות על נתונים במעבר, ושהכלי Logging ניתב רשומות ביומן מאזור שלא מותר לפי המדיניות של הנושא. אפשר להגדיר הגבלות על נתונים במעבר במדיניות אחסון ההודעות של נושא ספציפי, או לאכוף אותן ברמת הארגון באמצעות אילוץ מדיניות הארגון constraints/pubsub.enforceInTransitRegions.

כדי לפתור את הבעיות האלה, צריך לבצע אחת מהפעולות הבאות:

  • מעדכנים את מדיניות אחסון ההודעות של נושא Pub/Sub ביעד כדי להשבית את האכיפה בזמן ההעברה או להרחיב את אזורי השמירה המותרים.
  • אם מדיניות הארגון אוכפת הגבלות על נתונים במעבר, צריך לעדכן את מדיניות הארגון או לבקש פטור לפרויקט.
  • מעדכנים את ה-sink כדי לנתב את רשומות היומן ליעד אחר.

היעד מכיל רשומות יומן לא רצויות

אתם צופים ברשומות ביומן שנותבו ליעד, ומחליטים שהיעד מכיל רשומות לא רצויות.

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

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

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 צר מדי.

    נסו להרחיב את טווח התאריכים שבו אתם משתמשים כשאתם בוחרים נתונים ביעד של הכיור.

שגיאה במסנן של הכיור

  • המסנן של ה-sink שגוי ולא מתעד את רשומות היומן שציפיתם לראות ביעד.

    עורכים את המסנן של ה-sink באמצעות נתב היומנים במסוף Cloud de Confiance . כדי לוודא שהזנתם את המסנן הנכון, בחרו באפשרות Preview logs בחלונית Edit sink. הפעולה הזו פותחת את הכלי "מציג היומנים" בכרטיסייה חדשה, עם מסנן שמולא מראש. איך מנהלים את אובייקטי ה-sink?

לצפייה בשגיאות

לכל אחד מיעדי ה-sink הנתמכים, כלי הרישום ביומן מספק הודעות שגיאה לגבי sinks שלא הוגדרו כראוי.

יש כמה דרכים להציג את השגיאות שקשורות לכיור, והן מתוארות בקטעים הבאים:

יומני שגיאות

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

לדוגמה, אם שם ה-sink הוא 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 מכיל תיאור קצר של השגיאה, כדי שתוכלו לדעת איזה רכיב של הכיור צריך להגדיר מחדש.

כדי לפתור את הבעיה, עורכים את ה-sink. לדוגמה, אפשר לערוך את הכיור באמצעות הדף Log Router:

נכנסים לדף Log Router.

התראות באימייל

התראות באימייל על שגיאות בהגדרת הכיור נשלחות באמצעות Essential Contacts לאנשי הקשר שמוקצים לקטגוריית ההתראות הטכניות בפרויקט ב- Cloud de Confiance או במשאב ההורה שלו. אם למשאב אין איש קשר מוגדר לקבלת התראות טכניות, המשתמשים שרשומים כבעלי הפרויקט roles/owner ב-IAM של המשאב יקבלו את ההתראה באימייל.

המערכת שולחת התראה אחת ביום לכל שילוב של שם sink ביומן ושגיאה.

הודעת האימייל מכילה את הפרטים הבאים:

  • מזהה המשאב: השם של הפרויקט ב- Cloud de Confiance או של משאב אחר ב-Cloud de Confiance שבו הוגדר הכיור.
  • ‫Sink name: שם הכיור שמכיל את שגיאת ההגדרה.
  • יעד הכיור: הנתיב המלא של יעד הניתוב של הכיור, לדוגמה: 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:

נכנסים לדף Log Router.

כל שגיאה בהגדרת הכיור שחלה על המשאב מופיעה ברשימה בתור Cloud Logging sink configuration error. כל שגיאה מכילה קישור לאחת מרשומות היומן שנוצרו על ידי הכיור הפגום. כדי לבדוק את השגיאות הבסיסיות בפירוט, עיינו בקטע יומני שגיאות.

יעד שגוי של הכיור

אם הגדרתם כיור אבל מופיעה שגיאת הגדרה שהיעד לא נמצא כש-Logging ניסה לנתב רשומות ביומן, יכולות להיות לכך כמה סיבות:

  • הגדרת המאגר מכילה שגיאת איות או שגיאת עיצוב אחרת ביעד המאגר שצוין.

    צריך לעדכן את ההגדרות של המאגר כדי לציין בצורה נכונה את היעד הקיים.

  • יכול להיות שהיעד שצוין נמחק.

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

כדי לפתור את סוגי הכשלים האלה, עורכים את ה-sink. לדוגמה, אפשר לערוך את הכיור באמצעות הדף Log Router:

נכנסים לדף Log Router.

הכיור מתחיל לנתב רשומות ביומן כשהיעד נמצא, ורשומות חדשות ביומן שתואמות למסנן מתקבלות על ידי Logging.

בעיות שקשורות לכיורים מושבתים

אם השבתתם כיור כדי להפסיק לאחסן רשומות יומן בתיקיית יומנים, אבל אתם עדיין רואים שרשומות היומן מנותבות, המתינו כמה דקות עד שהשינויים בכיור יחולו.

בעיות בהרשאות של כיורים

כשכיור מנסה לנתב רשומת יומן אבל אין לו את הרשאות ה-IAM המתאימות ליעד של הכיור, הכיור מדווח על שגיאה, שאותה אפשר לראות, ומדלג על רשומת היומן.

כשיוצרים כיור, צריך להעניק לחשבון השירות של הכיור את ההרשאות המתאימות ליעד. אם יוצרים את הכיור במסוף Cloud de Confiance באותו פרויקט ב-Cloud de Confiance , בדרך כלל מסוף Cloud de Confiance מקצה את ההרשאות האלה באופן אוטומטי. אבל אם יוצרים את הכיור בפרויקט אחר ב-Cloud de Confiance , או באמצעות ה-CLI של gcloud או Logging API, צריך להגדיר את ההרשאות באופן ידני.

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

יש עיכוב קל בין יצירת הכיור לבין השימוש בחשבון השירות החדש של הכיור כדי לאשר כתיבה ליעד. הכיור יתחיל לנתב רשומות ביומן כשההרשאות יתוקנו ורשומות חדשות ביומן שתואמות למסנן יתקבלו ב-Logging.

בעיות במדיניות הארגון שקשורות לכיורים

אם אתם מנסים לנתב רשומת יומן אבל נתקלים במדיניות ארגונית שמגבילה את הכתיבה של Logging ליעד של הכיור, הכיור לא יכול לנתב ליעד שנבחר ומדווח על שגיאה.

אם מופיעות שגיאות שקשורות למדיניות הארגון, אתם יכולים:

  • לעדכן את מדיניות הארגון של היעד כדי להסיר את האילוצים שמונעים מהכיור לנתב רשומות ביומן. לשם כך, צריך הרשאות מתאימות לעדכון מדיניות הארגון.

    כדאי לבדוק אם קיימת הגבלת מיקום של משאבים (constraints/gcp.resourceLocations). המגבלה הזו קובעת את המיקומים שבהם אפשר לאחסן נתונים. בנוסף, חלק מהשירותים תומכים באילוצים שעשויים להשפיע על ה-sink ביומן. לדוגמה, יש כמה הגבלות שעשויות לחול כשבוחרים יעד Pub/Sub. רשימה של אילוצים אפשריים

    הוראות מפורטות זמינות במאמר יצירה ועריכה של כללי מדיניות.

  • אם אתם לא יכולים לעדכן את מדיניות הארגון, אתם יכולים לעדכן את הכיור בדף Log Router כך שישתמש ביעד שתואם למדיניות.

    נכנסים לדף Log Router.

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

  • לחשבון השירות של הכיור אין גישה למפתח ההצפנה.

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

    • מקצים את התפקיד CryptoKey Encrypter/Decrypter ב-Cloud KMS לחשבון השירות שצוין בשדה writerIdentity של הכיור, עבור המפתח שמשמש ביעד. צריך גם לוודא ש-Cloud KMS API מופעל.

בעיות במכסות של כיורים

כשכיורים כותבים רשומות ביומן, חלות מכסות ייצוא ומכסות יעד. בהתאם ליעד, המכסות נאכפות על המשאב שבו נוצר ה-sink, כמו Pub/Sub, או על היעד עצמו, כמו BigQuery. אם המכסה מוצתה, הכיור מפסיק לנתב את רשומות היומן ליעד שלו.

  • כיורים שמנתבים רשומות ביומן לנושא Pub/Sub מוגבלים ל-60GB לדקה. אם נפח הרשומות ביומן חורג מהמכסה לקצב הגשת בקשות, נכתבת רשומה ביומן עם קוד השגיאה topic_over_quota.

המכסות חלות גם על כיורים נצברים. הכיורים האלה מנתבים את רשומות היומן של התיקייה או הארגון שבהם הם נוצרו, ושל משאבי הצאצא.

כדי לפתור את הבעיות שקשורות לניצול המכסה, אפשר לנסות את הפתרונות הבאים:

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

  • שולחים בקשת תמיכה להגדלת המכסה.

לפרטים על המגבלות שעשויות לחול כשמנתבים רשומות ביומן, עיינו במידע על המכסות של היעד המתאים:

שגיאות בניתוב לקטגוריות של Cloud Logging

יכול להיות מצב שבו תראו רשומות ביומן ב-Logs Explorer שהחרגתם באמצעות הכיור. עדיין תוכלו לראות את רשומות היומן האלה אם מתקיים אחד מהתנאים הבאים:

  • אתם מריצים את השאילתה בפרויקט ב- Cloud de Confiance שיצר את רשומות היומן.

    כדי לפתור את הבעיה, ודאו שאתם מריצים את השאילתה בפרויקטCloud de Confiance הנכון.

  • רשומות היומן שהוחרגו נשלחו לכמה מאגרי יומנים, ואתם רואים עותק של אותו יומן שהתכוונתם להחריג.

    כדי לתקן את זה, בדקו את ה-sinks בדף Log Router וודאו שאתם לא כוללים את רשומות היומן במסננים של sinks אחרים.

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

    כדי שהרשומות האלה לא יופיעו ב-Logs Explorer, אתם יכולים לצמצם את היקף החיפוש לפרויקט או לקטגוריה של Cloud de Confiance .

פתרון בעיות בשמירת יומנים

למה אי אפשר למחוק את הקטגוריה הזו?

כדי למחוק קטגוריית יומנים שמוגדרת על ידי המשתמש:

אילו חשבונות שירות מנתבים יומנים לקטגוריה שלי?

כדי לבדוק אם לחשבונות שירות כלשהם יש הרשאות IAM לניתוב יומנים לקטגוריה, בצעו את הפעולות הבאות:

  1. נכנסים לדף IAM במסוף Cloud de Confiance :

    נכנסים לדף IAM.

    אם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא IAM & Admin.

  2. בכרטיסייה Permissions, מציגים לפי Roles. מוצגת טבלה עם כל התפקידים וחשבונות המשתמשים ב-IAM שמשויכים לפרויקטCloud de Confiance .

  3. בתיבת הטקסט Filter של הטבלה, כותבים Logs Bucket Writer.

    אתם יכולים לראות את כל חשבונות המשתמשים עם התפקיד כתיבה בקטגוריית יומנים. אם חשבון המשתמש הוא חשבון שירות, המזהה שלו מכיל את המחרוזת s3ns-system.iam.gserviceaccount.com.

  4. אופציונלי: אם רוצים להסיר חשבון שירות כדי שלא יוכל לנתב יומנים לפרויקט ב- Cloud de Confiance , מסמנים את תיבת הסימון של חשבון השירות ולוחצים על Remove.

למה מופיעים יומנים של פרויקט Cloud de Confiance למרות שהחרגתי אותם מהכיור של _Default?

יכול להיות שאתם צופים ביומנים שבקטגוריית יומנים בפרויקט Cloud de Confiance מרכזי, שצובר יומנים מכל הארגון.

אם אתם משתמשים ב-Logs Explorer כדי לגשת ליומנים האלה ורואים יומנים שהחרגתם מהכיור _Default, יכול להיות שהתצוגה שלכם מוגדרת לרמת הפרויקטCloud de Confiance .

כדי לפתור את הבעיה, בתפריט Refine scope בוחרים באפשרות Log view, ואז בוחרים את תצוגת היומן שמשויכת לקטגוריה _Default בפרויקטCloud de Confiance . היומנים שהוחרגו לא אמורים להופיע יותר.