ניתוב יומנים ליעדים נתמכים

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

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

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

סקירה כללית

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

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

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

כדי ליצור ולנהל יעד ליומנים, אפשר להשתמש במסוף Cloud de Confiance , ב-Cloud Logging API וב-Google Cloud CLI. מומלץ להשתמש במסוף Cloud de Confiance מהסיבות הבאות:

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

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

בקטע ניהול אובייקטים מסוג sink ביומן במסמך הזה מוסבר איך לראות את אובייקטים מסוג sink ביומן ולנהל אותם.

יעדים נתמכים

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

היעדים הבאים נתמכים:

פרויקטCloud de Confiance

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

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

קטגוריה ביומן
בוחרים ביעד הזה כשרוצים לאחסן את נתוני היומן במשאבים שמנוהלים על ידי Cloud Logging. אפשר להציג ולנתח נתוני יומן שמאוחסנים בדלי יומנים באמצעות שירותים כמו Logs Explorer.
נושא Pub/Sub
בוחרים ביעד הזה כשרוצים לייצא את נתוני היומן מ-Cloud de Confiance by S3NS ואז להשתמש בשילוב עם צד שלישי. ערכי היומן מעוצבים כ-JSON ואז מנותבים לנושא Pub/Sub.

מגבלות על יעדים

בקטע הזה מתוארות מגבלות שספציפיות ליעדים:

  • כשמגדירים יעד ל-sink, צריך לספק את הנתיב המלא ולהשתמש בנקודת הקצה הגלובלית של השירות. אין תמיכה בנקודות קצה אזוריות של שירותים (REP), כמו pubsub.LOCATION.rep.googleapis.com.
  • אי אפשר לנתב יומנים לנושא ב-Pub/Sub שמוגדרות בו הגבלות על נתונים במעבר. הרישום ביומן לא יכול להבטיח שבקשות פרסום מגיעות מאזור מותר, ולכן נגרמותtopic_region_not_allowed שגיאות בהגדרות ויומנים מושמטים.

  • ההגבלות הבאות חלות כשהיעד של sink ביומן הוא Cloud de Confiance פרויקט:

    • יש הגבלה של קפיצה אחת.
    • _Required sink ביומן בפרויקט היעד מעביר רשומות ביומן אל _Required קטגוריה ביומן של הפרויקט אם הרשומות ביומן תואמות למסנן של sink ביומן ומקורן בפרויקט היעד.
    • _Defaultאובייקט ה-sink ביומן בפרויקט היעד מעביר רשומות ביומן שתואמות למסנן ההכללה שלו ולא תואמות לאף מסנן החרגה. ה-sink ביומן _Default לא כולל חלק מהרשומות ביומן. לדוגמה, יעד כזה לא מעביר רשומות ביומן של פעילות אדמין ואירועי מערכת. אפשר לשנות את היעד הזה.
    • רק מאגרי נתונים (sinks) מצטברים שנמצאים בהיררכיית המשאבים של רשומה ביומן מעבדים את הרשומה.

    לדוגמה, נניח שיעד של sink ביומן בפרויקט A הוא פרויקט B. במקרה כזה, הכללים הבאים חלים:

    • בגלל מגבלת הדילוג האחד, מאגרי ה-sink ביומן בפרויקט B לא יכולים לנתב מחדש רשומות ביומן לפרויקט Cloud de Confiance אחר.
    • בקטגוריית היומן _Required של פרויקט B נשמרים רק רשומות יומן שמקורן בפרויקט B. מאגר היומנים הזה לא מאחסן רשומות ביומן שמקורן במשאבים אחרים, כולל רשומות שמקורן בפרויקט A.
    • אם לפרויקט A ולפרויקט B יש היררכיות שונות של משאבים, רשומה ביומן ש-sink ביומן בפרויקט A מעביר לפרויקט B לא נשלחת ל-sinks המצטברים בהיררכיית המשאבים של פרויקט B.
    • אם לפרויקט A ולפרויקט B יש אותה היררכיית משאבים, רשומות היומן נשלחות למאגרי הנתונים המצטברים בהיררכיה הזו. אם רשומת יומן לא נחסמת על ידי יעד מצטבר, נתב היומנים שולח את הרשומה ליעדים בפרויקט A.

לפני שמתחילים

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

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

  1. מפעילים את Cloud Logging API, אם הוא עדיין לא מופעל.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    להפעלת ה-API

  2. מוודאים ש Cloud de Confiance הפרויקט מכיל רשומות ביומן שאפשר לראות בLogs Explorer.

  3. כדי לקבל את ההרשאות שנדרשות ליצירה, לשינוי או למחיקה של יעד, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד כותב הגדרות של יומנים (roles/logging.configWriter) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

    מידע על מתן תפקידי IAM מופיע במדריך בקרת הגישה בנושא Logging.

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

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

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

  6. בוחרים את הממשק שבו רוצים להשתמש:

    המסוף

    כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים Cloud de Confiance by S3NS ולממשקי ה-API, לא צריך להגדיר אימות.

    gcloud

    מתקינים את ה-CLI של Google Cloud ואז נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

    gcloud init

    REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      מתקינים את ה-CLI של Google Cloud ואז נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .

יצירת יעד

בקטע הזה מוסבר איך ליצור יעד בפרויקט ב- Cloud de Confiance . אפשר ליצור עד 200 יעדים לכל Cloud de Confiance פרויקט. כדי לראות את המספר והנפח של רשומות היומן שמועברות, אפשר לעיין במדדים של logging.googleapis.com/exports/.

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

כששאילתה מכילה כמה הצהרות, אפשר לציין איך ההצהרות האלה מצורפות או להסתמך על Cloud Logging שמוסיף באופן מרומז את ההגבלה המצטרפת, AND, בין ההצהרות. לדוגמה, נניח שבתיבת דו-שיח של שאילתה או מסנן יש שתי הצהרות, resource.type = "gce_instance" ו-severity >= "ERROR". השאילתה בפועל היא resource.type = "gce_instance" AND severity >= "ERROR". ‫Cloud Logging תומך בהגבלות דיסג'נקטיביות, OR, ובהגבלות קוניונקטיביות, AND. כשמשתמשים בהצהרות OR, מומלץ לקבץ את הסעיפים באמצעות סוגריים.

כדי ליצור יעד:

המסוף

  1. במסוף Cloud de Confiance , עוברים לדף Log Router:

    עוברים אל Log Router

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

  2. בוחרים את Cloud de Confiance הפרויקט שממנו מגיעים רשומות היומן שרוצים להפנות.

    לדוגמה, אם רוצים להפנות את הרשומות ביומן Data Access מהפרויקט בשם Project-A לקטגוריית יומנים בפרויקט בשם Project-B, צריך לבחור באפשרות Project-A.

  3. לוחצים על יצירת יעד.

  4. בחלונית פרטי יעד, מזינים את הפרטים הבאים:

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

    • תיאור של יעד הנתונים (אופציונלי): מתארים את המטרה או את תרחיש השימוש של יעד הנתונים.

  5. בחלונית Sink destination, בוחרים את שירות היעד ואת היעד באמצעות התפריט Select sink service. מבצעים אחת מהפעולות הבאות:

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

      • נושא Pub/Sub: בוחרים או יוצרים את הנושא לקבלת רשומות היומן שהועברו.
    • כדי להפנות רשומות ביומן לפרויקט אחר של Cloud de Confiance , בוחרים באפשרות Cloud de Confiance project, ואז מזינים את השם המלא של היעד:

      logging.googleapis.com/projects/DESTINATION_PROJECT_ID
      
    • כדי להעביר רשומות ביומן לשירות שנמצא בCloud de Confiance פרויקט אחר, צריך לבצע את הפעולות הבאות:

      1. בוחרים באפשרות משאב אחר.
      2. מזינים את השם המלא של היעד. מידע על התחביר מופיע במאמר פורמטים של נתיבי יעד.
  6. מציינים את הרשומות ביומן שרוצים לכלול:

    1. עוברים לחלונית Choose logs to include in sink (בחירת יומנים להכללה ב-sink).

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

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

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

      log_id("cloudaudit.googleapis.com/data_access") OR log_id("externalaudit.googleapis.com/data_access")
      

      האורך של מסנן מוגבל ל-20,000 תווים.

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

  7. (אופציונלי) מגדירים מסנן החרגה כדי להסיר חלק מהרשומות ביומן:

    1. עוברים לחלונית Choose logs to filter out of sink (בחירת יומנים להחרגה מהיעד).

    2. בשדה Exclusion filter name (שם מסנן ההחרגה), מזינים שם.

    3. בשדה Build an exclusion filter (יצירת מסנן החרגה), מזינים ביטוי מסנן שתואם לרשומות ביומן שרוצים להחריג. אפשר גם להשתמש בפונקציה sample כדי לבחור חלק מהרשומות ביומן להחרגה.

      מסנן ההחרגה.

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

  8. לוחצים על יצירת יעד.

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

gcloud

כדי ליצור יעד:

  1. מריצים את הפקודה הבאה gcloud logging sinks create:

    gcloud logging sinks create SINK_NAME SINK_DESTINATION
    

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

    • ‫SINK_NAME: השם של ה-sink ביומן. אי אפשר לשנות את השם של מאגר אחרי שיוצרים אותו.
    • ‫SINK_DESTINATION: השירות או הפרויקט שאליהם רוצים לנתב את רשומות היומן. מגדירים את SINK_DESTINATION לנתיב המתאים, כפי שמתואר במאמר פורמטים של נתיב יעד.

      לדוגמה, אם יעד ה-sink הוא נושא ב-Pub/Sub, אז SINK_DESTINATION ייראה כך:

      pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
      

    אפשר גם לספק את האפשרויות הבאות:

    • ‫--log-filter : משתמשים באפשרות הזו כדי להגדיר מסנן שתואם לרשומות ביומן שרוצים לכלול במאגר. אם לא מציינים ערך למסנן ההכללה, המסנן הזה תואם לכל רשומות היומן.
    • ‫--exclusion: משתמשים באפשרות הזו כדי להגדיר מסנן החרגה לרשומות ביומן שלא רוצים שהיעד ינתב. אפשר גם להשתמש בפונקציה sample כדי לבחור חלק מהרשומות ביומן להחרגה. אפשר לחזור על האפשרות הזו כמה פעמים, וליצור עד 50 מסנני החרגה לכל מאגר.
    • --description: משתמשים באפשרות הזו כדי לתאר את המטרה או את תרחיש השימוש של מאגר הנתונים.

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

    gcloud logging sinks create my-sink logging.googleapis.com/projects/myproject123/locations/global/buckets/my-bucket \
     --log-filter='logName="projects/myproject123/logs/matched"' --description="My first sink"
    

    מידע נוסף על יצירת יעדים באמצעות Google Cloud CLI זמין במאמר gcloud logging sinks.

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

    אין צורך להגדיר הרשאות ליעד אם התגובה לא מכילה מפתח JSON עם התווית "writerIdentity".

REST

  1. כדי ליצור sink ביומן ב Cloud de Confiance פרויקט, משתמשים ב-projects.sinks.create ב-Logging API. באובייקט LogSink, מציינים את ערכי החובה המתאימים בגוף הבקשה של השיטה:

    • name: מזהה של יעד. אחרי שיוצרים את יעד הנתונים, אי אפשר לשנות את השם שלו, אבל אפשר למחוק אותו וליצור יעד נתונים חדש.
    • ‫destination: השירות והיעד שאליהם רוצים לנתב את רשומות היומן. כדי לנתב רשומות ביומן לפרויקט אחר, או ליעד שנמצא בפרויקט אחר, צריך להגדיר את השדה destination לנתיב המתאים, כמו שמתואר במאמר פורמטים של נתיבי יעד.

      לדוגמה, אם יעד ה-sink הוא נושא ב-Pub/Sub, אז destination ייראה כך:

      pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
      
  2. באובייקט LogSink, מציינים את המידע האופציונלי המתאים:

    • ‫filter : מגדירים את השדה filter כך שיתאים לרשומות ביומן שרוצים לכלול ב-Sink. אם לא מגדירים מסנן, כל רשומות היומן מהפרויקטCloud de Confiance מועברות ליעד. חשוב לדעת שאורך המסנן לא יכול לחרוג מ-20,000 תווים.
    • ‫exclusions: מגדירים את השדה הזה כך שיתאים לרשומות ביומן שרוצים להחריג מהיעד. אפשר גם להשתמש בפונקציה sample כדי לבחור חלק מהרשומות ביומן להחרגה. אפשר ליצור עד 50 מסנני החרגה לכל יעד.
    • ‫description: מגדירים את השדה הזה כדי לתאר את המטרה או את תרחיש השימוש של מאגר הנתונים.
  3. מפעילים את הפקודה projects.sinks.create כדי ליצור את יעד הנתונים.

  4. אם תגובה מה-API מכילה מפתח JSON עם התווית "writerIdentity", צריך לתת לחשבון השירות של ה-sink הרשאת כתיבה ליעד ה-sink. מידע נוסף זמין במאמר בנושא הגדרת הרשאות ליעדים.

    אין צורך להגדיר הרשאות ליעד אם תגובה מה-API לא מכילה מפתח JSON עם התווית "writerIdentity".

מידע נוסף על יצירת יעדים באמצעות Logging API מופיע במאמר LogSink.

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

פורמטים של נתיב יעד

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

בפורמטים הבאים של נתיבים, DESTINATION_PROJECT_ID מתייחס למזהה או למספר של פרויקט היעד:

  • קטגוריה ביומן ב-Cloud Logging:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
    
  • פרויקט Cloud de Confiance אחר:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID
    
  • נושא Pub/Sub:

    pubsub.googleapis.com/projects/DESTINATION_PROJECT_ID/topics/TOPIC_ID
    

הגדרת הרשאות ליעד

בקטע הזה מוסבר איך מעניקים ל-Logging את ההרשאות לניהול זהויות והרשאות גישה (IAM) כדי לכתוב רשומות ביומן ליעד של מאגר. רשימה מלאה של התפקידים וההרשאות ב-Logging זמינה במאמר בקרת גישה.

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

זהות הכתיבה של יעד היא המזהה של חשבון השירות שמשויך ליעד הזה. לכל יעד יש זהות כתיבה, חוץ מיעדים שכותבים לקטגוריית יומנים באותו פרויקט שממנו מגיעים רשומות היומן. Cloud de Confiance בהגדרה השנייה, לא נדרש חשבון שירות, ולכן השדה writer identity של יעד הסינכרון מופיע כ-None במסוף. ה-API והפקודות של Google Cloud CLI לא מדווחים על זהות הכותב.

ההוראות הבאות רלוונטיות לפרויקטים, לתיקיות, לארגונים ולחשבונות לחיוב:

המסוף

  1. מוודאים שיש לכם גישת בעלים לCloud de Confiance פרויקט שמכיל את היעד. אם אין לכם גישת בעלים ליעד של ה-sink, צריך לבקש מ-Project Owner להוסיף את זהות הכתיבה כישות מורשית.

  2. כדי לקבל את זהות הכותב של יעד הנתונים – כתובת אימייל – מיעד הנתונים החדש, מבצעים את הפעולות הבאות:

    1. במסוף Cloud de Confiance , עוברים לדף Log Router:

      עוברים אל Log Router

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

    2. בסרגל הכלים, בוחרים את הפרויקט שמכיל את היעד.
    3. בוחרים באפשרות תפריט ואז באפשרות הצגת פרטים של יעד. זהות הכותב מופיעה בחלונית Sink details.
  3. אם הערך של השדה writerIdentity מכיל כתובת אימייל, ממשיכים לשלב הבא. אם הערך הוא None, לא צריך להגדיר הרשאות יעד ל-sink.

  4. מעתיקים את זהות הכתיבה של יעד הנתונים ללוח.

    כתובת האימייל מזהה את חשבון המשתמש. הקידומת serviceAccount: מציינת את סוג החשבון.

  5. נותנים לחשבון המשתמש שצוין כזהות הכותב של יעד הסינכרון הרשאה לכתוב נתוני יומן ליעד:

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

      כניסה לדף IAM

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

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

    3. לוחצים על Grant access.

    4. מעניקים לחשבון המשתמש שצוין בזהות הכותב של יעד השינויים תפקיד IAM על סמך היעד של יעד השינויים ביומן:

gcloud

  1. מוודאים שיש לכם גישת בעלים לCloud de Confiance פרויקט שמכיל את היעד. אם אין לכם גישת בעלים ליעד של ה-sink, צריך לבקש מ-Project Owner להוסיף את זהות הכתיבה כישות מורשית.

  2. מקבלים את חשבון השירות מהשדה writerIdentity ביעד:

    gcloud logging sinks describe SINK_NAME
    
  3. מוצאים את יעד הייצוא שרוצים לשנות את ההרשאות שלו. אם בפרטים של יעד הייצוא מופיעה שורה עם writerIdentity, ממשיכים לשלב הבא. אם הפרטים לא כוללים שדה writerIdentity לא צריך להגדיר הרשאות יעד ל-sink.

    הזהות של חשבון השירות עם הרשאת כתיבה נראית כך:

    serviceAccount:service-123456789012@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com
    
  4. מעניקים להרשאת הזהות של הכותב של יעד הנתונים הרשאה לכתוב נתוני יומן ליעד באמצעות הפקודה gcloud projects add-iam-policy-binding.

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

    • ‫PROJECT_ID: מזהה הפרויקט. מציינים את הפרויקט שבו מאוחסן יעד sink ביומן. אם היעד הוא פרויקט, מציינים את הפרויקט.
    • ‫PRINCIPAL: מזהה של חשבון המשתמש שרוצים להקצות לו את התפקיד. בדרך כלל, מזהי החשבונות הראשיים מופיעים בפורמט הבא: PRINCIPAL-TYPE:ID. לדוגמה, principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com. רשימה מלאה של הפורמטים האפשריים של PRINCIPAL מופיעה במאמר מזהים של חשבונות משתמשים.
    • ‫ROLE: תפקיד IAM. מקצים לזהות הכתיבה של ה-sink תפקיד IAM על סמך היעד של sink ביומן:

    מריצים את הפקודה gcloud projects add-iam-policy-binding:

    gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
    

REST

מומלץ להשתמש במסוף Cloud de Confiance או ב-Google Cloud CLI כדי להקצות תפקיד לחשבון השירות.

ניהול יעדים

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

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

  • לפרטים
  • עדכון
  • השבתה

    • אי אפשר להשבית את יעד ה-_Required.
    • אפשר להשבית את יעד _Default כדי להפסיק את הניתוב של רשומות ביומן לקטגוריית _Default Logging.

      אתם יכולים להשבית את אובייקט ה-sink‏ _Default לכל פרויקט או תיקייה חדשיםCloud de Confiance שאתם יוצרים בארגון או בתיקייה, על ידי הגדרת הגדרות ברירת מחדל של משאבים ל-Cloud Logging.

  • מחיקה

    • אי אפשר למחוק את יעד הנתונים _Default או את יעד הנתונים _Required.
    • כשמוחקים מאגר, הוא לא מעביר יותר רשומות ביומן.
    • אם ליעד יש חשבון שירות ייעודי, מחיקת היעד תגרום גם למחיקת חשבון השירות. למאגרי נתונים שנוצרו לפני 22 במאי 2023 יש חשבונות שירות ייעודיים. למאגרי נתונים שנוצרו ב-22 במאי 2023 או אחריו יש חשבון שירות משותף. מחיקת היעד לא מוחקת את חשבון השירות המשותף.
  • פתרון בעיות של כשלים

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

המסוף

  1. במסוף Cloud de Confiance , עוברים לדף Log Router:

    עוברים אל Log Router

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

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

בדף Log Router מוצגים היעדים במשאב שנבחר. כל שורה בטבלה מכילה מידע על המאפיינים של יעד:

  • מופעל: מציין אם מצב היעד מופעל או מושבת.
  • סוג: שירות היעד של ה-sink. לדוגמה: Cloud Logging bucket.
  • שם: המזהה של יעד הנתונים, כפי שסופק כשנוצר יעד הנתונים. לדוגמה: _Default.
  • תיאור: תיאור של יעד, כפי שסופק כשנוצר היעד.
  • יעד: השם המלא של היעד שאליו נשלחות רשומות היומן שמועברות.
  • נוצר: התאריך והשעה שבהם נוצר יעד הנתונים.
  • העדכון האחרון: התאריך והשעה שבהם בוצע העדכון האחרון של יעד הנתונים.
  • נפח: הנפח הכולל של היומנים שמועברים ל-sink ביומן. הערך כולל את נפח הנתונים שמועבר למאגרי יומנים, לפרויקטים או ליעדים אחרים.

בכל שורה בטבלה, בתפריט פעולות נוספות יש את האפשרויות הבאות:

  • הצגת פרטים של אובייקט sink: מוצגים השם, התיאור, שירות היעד, היעד ומסנני ההכללה וההחרגה של אובייקט ה-sink. כשלוחצים על עריכה, נפתחת החלונית עריכת יעד.
  • עריכת יעד: פותחת את החלונית עריכת יעד שבה אפשר לעדכן את הפרמטרים של היעד.
  • השבתת יעד: מאפשרת להשבית את היעד ולהפסיק את הניתוב של רשומות ביומן אל היעד. מידע נוסף על השבתת יעד לניתוב נתונים מופיע במאמר הפסקת האחסון של יומנים בקטגוריות ביומן.
  • הפעלת יעד: מאפשרת להפעיל יעד מושבת ולהפעיל מחדש את הניתוב של רשומות ביומן ליעד.
  • מחיקת מאגר: מאפשרת למחוק את המאגר ולהפסיק את ניתוב הרשומות ביומן ליעד של המאגר.
  • פתרון בעיות ב-sink: פותח את Logs Explorer, שבו אפשר לפתור שגיאות ב-sink.
  • הצגת נפח היומן של יעד הנתונים ושיעורי השגיאות: פתיחת הכלי Metrics Explorer שבו אפשר להציג ולנתח נתונים מיעד הנתונים.

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

gcloud

  • כדי להציג את רשימת היעדים בפרויקט Cloud de Confiance , משתמשים בפקודה gcloud logging sinks list, שמתאימה ל-method ‏projects.sinks.list ב-Logging API:

    gcloud logging sinks list
    

    כדי לראות את רשימת היעדים המצטברים, משתמשים באפשרות המתאימה כדי לציין את המשאב שמכיל את היעד. לדוגמה, אם יצרתם את יעד הנתונים ברמת הארגון, השתמשו באפשרות --organization=ORGANIZATION_ID כדי להציג את רשימת יעדי הנתונים של הארגון.

  • כדי לתאר יעד, משתמשים בפקודה gcloud logging sinks describe, שמתאימה ל-method‏ projects.sinks.get של Logging API:

    gcloud logging sinks describe SINK_NAME
    
  • כדי לעדכן יעד, משתמשים בפקודה gcloud logging sinks update, שמתאימה ל-method של ה-API‏ projects.sinks.update.

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

    gcloud logging sinks update SINK_NAME NEW_DESTINATION --log-filter=NEW_FILTER

    אם החלקים האלה לא משתנים, אפשר להשמיט את NEW_DESTINATION או --log-filter.

  • כדי להשבית יעד, משתמשים בפקודה gcloud logging sinks update, שמתאימה לשיטת ה-API‏ projects.sinks.update, וכוללים את האפשרות --disabled:

    gcloud logging sinks update SINK_NAME --disabled
    

    כדי להפעיל מחדש את יעד הנתונים, משתמשים בפקודה gcloud logging sinks update, מסירים את האפשרות --disabled ומוסיפים את האפשרות --no-disabled:

    gcloud logging sinks update SINK_NAME --no-disabled
    
  • כדי למחוק יעד, משתמשים בפקודה gcloud logging sinks delete, שמתאימה ל-method ‏projects.sinks.delete ב-API:

    gcloud logging sinks delete SINK_NAME
    

    מידע נוסף על ניהול יעדים באמצעות Google Cloud CLI זמין במאמר העזר בנושא gcloud logging sinks.

REST

  • כדי לראות את יעד ההעברה של Cloud de Confiance הפרויקט, קוראים לפונקציה projects.sinks.list.

  • כדי לראות את הפרטים של יעד, מתקשרים אל projects.sinks.get.

  • כדי לעדכן את יעד הנתונים, מתקשרים אל projects.sinks.update.

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

  • כדי להשבית יעד, מגדירים את השדה disabled באובייקט LogSink לערך true, ואז קוראים לפונקציה projects.sinks.update.

    כדי להפעיל מחדש את היעד, צריך להגדיר את השדה disabled באובייקט LogSink לערך false, ואז לקרוא ל-projects.sinks.update.

  • כדי למחוק יעד, מתקשרים אל projects.sinks.delete.

    מידע נוסף על ניהול יעדים באמצעות Logging API זמין במאמר LogSink.

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

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

ההוראות הבאות מראות איך להשבית את יעד ההעברה של Cloud de Confiance פרויקט_Default כדי שלא יועברו אליו רשומות ביומן מ_Defaultמאגר היומנים:

המסוף

  1. במסוף Cloud de Confiance , עוברים לדף Log Router:

    עוברים אל Log Router

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

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

    היעדים מושבתים עכשיו ולא מעבירים יותר רשומות ביומן לדלי _Default.

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

  1. במסוף Cloud de Confiance , עוברים לדף Log Router:

    עוברים אל Log Router

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

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

gcloud

  1. כדי להציג את רשימת היעדים בפרויקט Cloud de Confiance , משתמשים בפקודה gcloud logging sinks list, שמתאימה ל-method ‏projects.sinks.list ב-Logging API:

    gcloud logging sinks list
    
  2. מאתרים את כל יעד ההעברה שמנתב אל מאגר היומנים _Default. כדי לתאר יעד, כולל הצגת שם היעד, משתמשים בפקודה gcloud logging sinks describe, שמתאימה ל-method‏ projects.sinks.get של Logging API:

    gcloud logging sinks describe SINK_NAME
    
  3. מריצים את הפקודה gcloud logging sinks update וכוללים את האפשרות --disabled. לדוגמה, כדי להשבית את יעד ה-sink‏ _Default, משתמשים בפקודה הבאה:

    gcloud logging sinks update _Default --disabled
    

    מאגר _Default מושבת עכשיו, והוא כבר לא מעביר רשומות ביומן אל מאגר היומנים _Default.

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

כדי להפעיל מחדש את יעד הנתונים, משתמשים בפקודה gcloud logging sinks update, מסירים את האפשרות --disabled ומוסיפים את האפשרות --no-disabled:

gcloud logging sinks update _Default --no-disabled

REST

  1. כדי לראות את היעדים של Cloud de Confiance הפרויקט, מפעילים את השיטה projects.sinks.list של Logging API.

    מזהים את כל היעדים שמובילים לקטגוריית _Default.

  2. לדוגמה, כדי להשבית את יעד _Default, מגדירים את השדה disabled באובייקט LogSink לערך true, ואז קוראים ל-projects.sinks.update.

    מאגר _Default מושבת עכשיו, והוא כבר לא מעביר רשומות ביומן לקטגוריה _Default.

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

כדי להפעיל מחדש יעד, צריך להגדיר את השדה disabled באובייקט LogSink לערך false, ואז לקרוא ל-projects.sinks.update.

דוגמאות קוד

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

דוגמאות לסינון

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

שחזור המסנן של _Default

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

  NOT log_id("cloudaudit.googleapis.com/activity") AND NOT \
  log_id("externalaudit.googleapis.com/activity") AND NOT \
  log_id("cloudaudit.googleapis.com/system_event") AND NOT \
  log_id("externalaudit.googleapis.com/system_event") AND NOT \
  log_id("cloudaudit.googleapis.com/access_transparency") AND NOT \
  log_id("externalaudit.googleapis.com/access_transparency")

החרגה של יומנים של קונטיינרים ו-Pods ב-Google Kubernetes Engine

כדי להחריג את רשומות היומן של קונטיינרים ו-Pods של Google Kubernetes Engine עבור מערכת GKE‏ namespaces, משתמשים במסנן הבא:

resource.type = ("k8s_container" OR "k8s_pod")
resource.labels.namespace_name = (
"cnrm-system" OR
"config-management-system" OR
"gatekeeper-system" OR
"gke-connect" OR
"gke-system" OR
"istio-system" OR
"knative-serving" OR
"monitoring-system" OR
"kube-system")

כדי לא לכלול רשומות ביומן של צומת Google Kubernetes Engine עבור ערכי מערכת GKE‏ log_id, משתמשים במסנן הבא:

resource.type = "k8s_node"
(log_id("container-runtime") OR
 log_id("docker") OR
 log_id("kube-container-runtime-monitor") OR
 log_id("kube-logrotate") OR
 log_id("kube-node-configuration") OR
 log_id("kube-node-installation") OR
 log_id("kubelet") OR
 log_id("kubelet-monitor") OR
 log_id("node-journal") OR
 log_id("node-problem-detector"))

יכולת תמיכה

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

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

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