במאמר הזה מוסבר על מאגרי נתונים מרכזיים (sinks) מצטברים, שמאפשרים לאסוף ולנתב רשומות ביומן שמקורן במשאבים בתיקייה או בארגון ליעד נתמך. מומלץ להשתמש ביעדים מצטברים כדי להפנות את נתוני היומן למיקום אחסון מרכזי.
מידע על מאגרי נתונים נצברים
מאגר מצטבר דומה למאגר ברמת הפרויקט, בכך שהוא מכיל מסננים ויעד. עם זאת, Log Router שולח ל-sink מצטבר את הרשומות הבאות ביומן:
- כל רשומות היומן שמקורן בתיקייה או בארגון.
- כל רשומות היומן שמקורן במשאבי הצאצא של התיקייה או הארגון.
לדוגמה, אם יוצרים יעד צבירה ברמת התיקייה, נתב היומנים שולח ליעד הזה את כל רשומות היומן שמקורן בתיקייה או במשאבי צאצא של התיקייה.
אם יש יעד מצטבר בהיררכיית המשאבים של רשומה ביומן, נתב היומנים שולח את הרשומה הזו ליעדים האלה. מאגרי נתונים מסוג aggregated יכולים להיות מסוג intercepting או מסוג non-intercepting, ולכן יכול להיות ש-Log Router לא ישלח רשומה ביומן שמופנית על ידי מאגר נתונים מסוג aggregated למאגרי נתונים ברמת הפרויקט.
- הפסקת פעולה של מאגר נתונים מצטבר
מאגר נתונים מסוג intercepting aggregated sink מונע ניתוב של רשומות ביומן למאגרי נתונים במשאבי צאצא, למעט מאגרי הנתונים מסוג
_Requiredבמשאבים שבהם נוצרו הרשומות ביומן. מאגר נתונים מצטבר שחוצץ בין מקורות יכול להיות שימושי למניעת אחסון של עותקים כפולים של רשומות ביומן בכמה מקומות.לדוגמה, נניח שאתם צריכים להפעיל את יומני הביקורת Data Access למטרות ביקורת. כדי לפשט את הניתוח, כדאי לאחסן את היומנים האלה במיקום מרכזי. עם זאת, מטעמי אבטחה ועלות, אתם רוצים גם למנוע את האחסון של היומנים האלה ברמת הפרויקט. בתרחיש הזה, אפשר ליצור sink מצטבר שחוסם את הנתונים.
- יעד מצטבר שלא חוסם
מאגר נתונים משולב שלא מיירט לא משפיע על האופן שבו רשומות ביומן מנותבות למאגרים אחרים. כלומר, גם כש<b>רשומה ביומן</b> תואמת למסנן של אובייקט sink מצטבר שלא חוסם, <b>רשומה ביומן</b> זו מועברת לאובייקטים אחרים בהיררכיית המשאבים של <b>רשומה ביומן</b> זו. מאגר נתונים משולב שלא חוסם מאפשר לכם לשמור על נראות של רשומות ביומן במשאבים שבהם הן נוצרו.
לדוגמה, אפשר ליצור sink מצטבר שלא מבצע יירוט, ומנתב את כל רשומות היומן שנוצרו מהתיקיות שנכללות בארגון אל קטגוריה ביומן מרכזית. ערכי היומן מאוחסנים בקטגוריית היומן המרכזית. עם זאת, מכיוון שיעד ההעברה לא חוסם את ההודעות, נתב היומנים שולח גם רשומות ביומן ליעדי ההעברה של היומנים במשאב שבו הן נוצרו.
דוגמאות לתכנון מסלול
בקטע הזה מוסבר איך רשומה ביומן שנוצרה בפרויקט יכולה לעבור דרך מאגרי המידע בהיררכיית המשאבים שלו.
דוגמה: לא קיימים מאגרי נתונים מצטברים
אם אין מאגרי נתונים מסוג aggregated בדרגת ההיררכיה של המשאב של רשומת היומן, רשומת היומן נשלחת למאגרי היומנים בפרויקט שממנו היא מגיעה. אובייקט sink ברמת הפרויקט מעביר את רשומת היומן ליעד של אובייקט ה-sink אם רשומת היומן תואמת למסנן ההכללה של אובייקט ה-sink, אבל לא תואמת לאף אחד ממסנני ההחרגה של אובייקט ה-sink.
דוגמה: קיים מאגר נתונים מצטבר שלא מבצע יירוט
נניח שקיים יעד מצטבר שלא מיירט ביררכיית המשאבים עבור רשומה ביומן. אחרי שהכלי Log Router שולח את הרשומה ביומן אל מאגר נתונים מצטבר שלא מבצע יירוט, קורה הדבר הבא:
אובייקט ה-sink המצטבר שלא מיירט את רשומת היומן מעביר אותה ליעד של ה-sink אם היא תואמת למסנן ההכללה אבל לא תואמת לאף מסנן החרגה.
הכלי Log Router שולח את רשומת היומן אל יעד היומן בפרויקט שבו נוצרה רשומת היומן.
אובייקט sink ברמת הפרויקט מעביר את רשומת היומן ליעד של אובייקט ה-sink אם רשומת היומן תואמת למסנן ההכללה של אובייקט ה-sink, אבל לא תואמת לאף אחד ממסנני ההחרגה של אובייקט ה-sink.
דוגמה: קיים מאגר נתונים מצטבר שמיירט נתונים
נניח שקיים מאגר נתונים מצטבר שחוצה פרויקטים ומיירט רשומת יומן בהיררכיית המשאבים. אחרי שהכלי Log Router שולח את הרשומה ביומן אל יעד מצטבר שחוסם את הרשומה, קורה אחד מהדברים הבאים:
הרשומה ביומן תואמת למסנן ההכללה אבל לא תואמת לאף מסנן החרגה:
- רשומת היומן מנותבת ליעד של ה-sink המצטבר שחוסם את הגישה.
- הרשומה ביומן נשלחת אל יעד
_Requiredבפרויקט שבו נוצרה הרשומה ביומן.
הרשומה ביומן לא תואמת למסנן ההכללה או שהיא תואמת לפחות למסנן החרגה אחד:
- הרשומה ביומן לא מנותבת על ידי מאגר היעד המצטבר שמבצע את היירוט.
הכלי Log Router שולח את רשומת היומן אל יעד היומן בפרויקט שבו נוצרה רשומת היומן.
אובייקט sink ברמת הפרויקט מעביר את רשומת היומן ליעד של אובייקט ה-sink אם רשומת היומן תואמת למסנן ההכללה של אובייקט ה-sink, אבל לא תואמת לאף אחד ממסנני ההחרגה של אובייקט ה-sink.
יעדים נתמכים ל-aggregated sinks
בקטע הזה מפורטים היעדים שנתמכים עבור מאגרי נתונים מצטברים.
כיורים עם סיפון
היעד של מאגר נתונים מצטבר שחוצה פרויקטים חייב להיות פרויקטGoogle Cloud .
פריטי ה-sink ביומן בפרויקט היעד מעבירים את רשומות היומן ליעדים שלהם. יש תמיכה בכל היעדים חוץ מפרויקטים. לדוגמה, יכול להיות שפריטי ה-sink ביומן בפרויקט היעד ינתבו מחדש רשומות ביומן לקטגוריית יומן.
כיורים שלא מיירטים
היעד של מאגר נתונים מצטבר שלא חוסם יכול להיות כל אחד מהבאים:
היעד של מאגר יכול להיות במשאב אחר מהמאגר. לדוגמה, אפשר להשתמש ב-sink ביומן כדי להעביר רשומות ביומן מפרויקט אחד לקטגוריה ביומן שמאוחסנת בפרויקט אחר.
היעדים הבאים נתמכים:
- פרויקט אחד (Google Cloud )
בוחרים ביעד הזה כשרוצים שהיעדים של יומני הרישום בפרויקט היעד ינתבו מחדש את הרשומות ביומן, או כשיוצרים יעד צבירה שחוסם את הרשומות. פריטי ה-sink ביומן בפרויקט שהוא יעד ה-sink יכולים לנתב מחדש את רשומות היומן לכל יעד נתמך, למעט פרויקט.
- קטגוריה ביומן
בוחרים ביעד הזה כשרוצים לאחסן את נתוני היומן במשאבים שמנוהלים על ידי Cloud Logging. אפשר להציג ולנתח נתונים ביומן שאוחסנו בדלי יומנים באמצעות שירותים כמו Logs Explorer ו-Observability Analytics.
אם רוצים לצרף את נתוני היומן לנתונים עסקיים אחרים, אפשר לאחסן את נתוני היומן בקטגוריה ביומן וליצור מערך נתונים מקושר ב-BigQuery. מערך נתונים מקושר ב-BigQuery הוא מערך נתונים לקריאה בלבד שאפשר להריץ עליו שאילתות כמו על כל מערך נתונים אחר ב-BigQuery.
- מערך נתונים ב-BigQuery
- בוחרים ביעד הזה כשרוצים לצרף את נתוני היומן לנתונים עסקיים אחרים. צריך להפעיל הרשאות כתיבה למערך הנתונים שאתם מציינים. לא מגדירים את היעד של sink להיות מערך נתונים מקושר ב-BigQuery. מערכי נתונים מקושרים ב-BigQuery הם לקריאה בלבד.
- קטגוריה של Cloud Storage
- בוחרים ביעד הזה כשרוצים לאחסן את נתוני היומן לטווח ארוך. הקטגוריה של Cloud Storage יכולה להיות באותו פרויקט שממנו מגיעים רשומות היומן, או בפרויקט אחר. רשומות ביומן מאוחסנות כקובצי JSON.
- נושא Pub/Sub
- בוחרים ביעד הזה כשרוצים לייצא את נתוני היומן מ-Google Cloud ואז להשתמש בשילובים עם צד שלישי כמו Splunk או Datadog. רשומות היומן מעוצבות בפורמט JSON ואז מנותבות לנושא ב-Pub/Sub.
שיטות מומלצות
מומלץ שהיעד של מאגר נתונים מצטבר יהיה פרויקט Google Cloud .
עם היעד הזה, יומני הבקרה ביעד Google Cloud ינתבו מחדש את הרשומות ביומן.
אובייקט ה-sink _Required מעביר רק רשומות ביומן שתואמות למסנן שלו ומקורן במשאב שבו מוגדר אובייקט ה-sink. לכן, אם רוצים לאחסן עותקים נוספים של רשומות ביומן שמתאימות למסנן של יעד _Required, צריך ליצור יעד מותאם אישית ליומן או לשנות את המסנן של יעד _Default ליומן.
כשיוצרים מאגר נתונים זמני שחוצץ בין מקורות לבין יעדים, מומלץ לבצע את הפעולות הבאות:
כדאי לשקול אם משאבים צאצאים צריכים בקרה עצמאית על ניתוב רשומות היומן שלהם. אם משאב צאצא צריך שליטה עצמאית ברשומות מסוימות ביומן, צריך לוודא שמאגר היעד שלכם לא מעביר את הרשומות האלה ביומן.
מוסיפים פרטים ליצירת קשר לתיאור של מאגר נתונים זמני שחוסם את השיחה. זה יכול להיות שימושי אם מי שמנהל את מאגר הנתונים הזמני שחוצה את הגבולות שונה ממי שמנהל את הפרויקטים שרשומות היומן שלהם נחצות.
כדי לבדוק את הגדרת יעד הנתונים, קודם יוצרים יעד נתונים מצטבר שלא מיירט את הנתונים, כדי לוודא שרשומות היומן הנכונות מנותבות.
יירוט של יעד מצטבר ומדדים מבוססי-יומנים
מדדים מבוססי-יומן הם מדדים של Cloud Monitoring שנגזרים מהתוכן של רשומות ביומן. הדרך שבה רשומה ביומן מנותבת קובעת אילו מדדים מבוססי-יומנים הרשומה יכולה להיכלל בהם. כי מאגר נתונים מצטבר שחוסם את הנתונים משפיע על האופן שבו רשומות ביומן מנותבות, ולכן יצירת מאגר נתונים מסוג כזה עלולה לגרום לשינויים בערכים של מדדים קיימים שמבוססים על יומנים.
מידע נוסף מופיע במאמר איך רשומות ביומן הניתוב משפיעות על מדדים שמבוססים על יומנים.
מאגרי נתונים משולבים ו-VPC Service Controls
כשמשתמשים ביעדים מצטברים וב-VPC Service Controls, חלות המגבלות הבאות:
מאגרי נתונים מצטברים יכולים לגשת לנתונים מפרויקטים בתוך היקף שירות. כדי להגביל את הגישה של מאגרי נתונים מצטברים לנתונים בתוך גבולות גזרה, מומלץ להשתמש ב-IAM כדי לנהל את הרשאות הגישה לרישום ביומן.
שירות VPC Service Controls לא תומך בהוספה של משאבים של תיקיות או ארגונים לגבולות גזרה של שירותים. לכן, אי אפשר להשתמש ב-VPC Service Controls כדי להגן על יומנים ברמת התיקייה והארגון, כולל יומנים מצטברים. כדי לנהל הרשאות ל-Logging ברמת התיקייה או הארגון, מומלץ להשתמש ב-IAM.
אם אתם מנתבים יומנים באמצעות יעד ברמת התיקייה או הארגון למשאב שמוגן על ידי גבולות גזרה לשירות, אתם צריכים להוסיף כלל כניסה לגבולות הגזרה לשירות. כלל הכניסה צריך לאפשר גישה למשאב מחשבון השירות שבו משתמש מאגר הנתונים המשותף. מידע נוסף זמין בדפים הבאים:
כשמציינים מדיניות כניסה או יציאה למתחם שירות, אי אפשר להשתמש ב-
ANY_SERVICE_ACCOUNTוב-ANY_USER_ACCOUNTכסוג זהות כשמשתמשים ביעד להעברת יומנים כדי לנתב יומנים למשאבי Cloud Storage. אבל אפשר להשתמש ב-ANY_IDENTITYכסוג הזהות.
המאמרים הבאים
במאמר איסוף וניתוב יומנים ברמת הארגון והתיקייה ליעדים נתמכים מוסבר איך ליצור מאגר נתונים משולב.
הדרכה בנושא מופיעה במאמר איך צוברים ומאחסנים את היומנים של הארגון.
מידע על ניהול אובייקטים קיימים מסוג sink מופיע במאמר ניתוב יומנים ליעדים נתמכים: ניהול אובייקטים מסוג sink.
במאמר הצגת יומנים ביעדי sink מוסבר איך לראות את היומנים ביעדים שלהם, וגם איך היומנים מעוצבים ומאורגנים.