במסמך הזה מוסבר איך ליצור ולנהל מאגרי יומנים, שמעבירים רשומות ביומן שמקורן בפרויקט Google Cloud ליעדים נתמכים.
יעד מבצע פעולת כתיבה, ולכן צריך לתת לו הרשאה לכתוב ביעד. כאשר היעד הוא קטגוריה ביומן באותו פרויקט כמו ה-sink, ה-sink מקבל הרשאה באופן אוטומטי. בכל שאר היעדים, צריך לצרף את יעד הנתונים לחשבון שירות שקיבל את ההרשאות הנדרשות לכתיבת נתונים ליעד.
כשנדרש חשבון שירות, Cloud Logging יוצר ומנהל אותו באופן אוטומטי. עם זאת, יכול להיות שתצטרכו לשנות את ההרשאות שניתנו לחשבון השירות. לא חייבים להשתמש בחשבון השירות שנוצר על ידי Logging. אתם יכולים ליצור ולנהל חשבון שירות שמשמש את מאגרי הנתונים בכמה פרויקטים. מידע נוסף זמין במאמר הגדרת מאגרי יומנים באמצעות חשבונות שירות בניהול משתמשים.
סקירה כללית
בדף הזה מוסבר איך ליצור יעד לנתונים ואיך להגדיר את האפשרויות שמוצגות כשמשתמשים במסוף Google Cloud או ב-API.
יעדים שייכים למשאב Google Cloud מסוים: Google Cloud פרויקט, חשבון לחיוב, תיקייה או ארגון. כשמשאב מקבל רשומה ביומן, כל יעד במשאב מעבד את הרשומה ביומן. כשרשומה ביומן תואמת למסננים של sink, אז הרשומה ביומן מנותבת ליעד של ה-sink.
בדרך כלל, מאגרי יעד מעבירים רק את רשומות היומן שמקורן במשאב. עם זאת, כשמדובר בתיקיות ובארגונים, אפשר ליצור aggregated sinks שמנתבים רשומות ביומן מהתיקייה או מהארגון, וגם מהמשאבים שהם מכילים. במסמך הזה לא מוסבר על מאגרי נתונים מצטברים. מידע נוסף מופיע במאמר סקירה כללית על מאגרי נתונים מצטברים.
כדי ליצור ולנהל יעד ליומנים, אפשר להשתמש במסוף Google Cloud , ב-Cloud Logging API וב-Google Cloud CLI. מומלץ להשתמש במסוף Google Cloud מהסיבות הבאות:
- אתם יכולים להגדיר יעדי יצוא כחלק מהתהליך ליצירת יעד יצוא.
- אתם יכולים לראות תצוגה מקדימה של רשומות היומן שתואמות למסננים של מאגר הנתונים.
- חלק משלבי ההרשאה פשוטים יותר.
מומלץ לבדוק את ההגדרה של sink ביומן כשמבצעים שינויים באחסון היומנים. לדוגמה, אם מוחקים את היעד של sink ביומן, צריך למחוק גם את ה-sink התואם ביומן.
בקטע ניהול אובייקטים מסוג sink במסמך הזה מוסבר איך להציג ולנהל את אובייקטים מסוג sink של יומנים.
יעדים נתמכים
יעד של מאגר יכול להיות במשאב אחר מהמאגר. לדוגמה, אפשר להשתמש ב-sink ביומן כדי להעביר רשומות ביומן מפרויקט אחד לקטגוריה ביומן שמאוחסנת בפרויקט אחר.
היעדים הבאים נתמכים:
- פרויקטGoogle Cloud
בוחרים ביעד הזה כשרוצים שה-sink ביומן בפרויקט היעד ינתבו מחדש את הרשומות ביומן, או כשיוצרים sink צבירה שחוסם את הרשומות. פריטי ה-sink ביומן בפרויקט שהוא יעד ה-sink יכולים לנתב מחדש את רשומות היומן לכל יעד נתמך, למעט פרויקט.
- קטגוריה ביומן
בוחרים ביעד הזה כשרוצים לאחסן את נתוני היומן במשאבים שמנוהלים על ידי Cloud Logging. אפשר להציג ולנתח נתוני יומן שאוחסנו בדלי יומנים באמצעות שירותים כמו Logs Explorer ו-Log Analytics.
אם רוצים לצרף את נתוני היומן לנתונים עסקיים אחרים, אפשר לאחסן את נתוני היומן בקטגוריה ביומן וליצור מערך נתונים מקושר ב-BigQuery. מערך נתונים מקושר הוא מערך נתונים לקריאה בלבד שאפשר להריץ עליו שאילתות כמו על כל מערך נתונים אחר ב-BigQuery.
- מערך נתונים של BigQuery
- בוחרים ביעד הזה כשרוצים לצרף את נתוני היומן לנתונים עסקיים אחרים. צריך להפעיל הרשאות כתיבה למערך הנתונים שאתם מציינים. לא מגדירים את היעד של Sink להיות מערך נתונים מקושר ב-BigQuery. מערכי נתונים מקושרים הם לקריאה בלבד.
- קטגוריה של Cloud Storage
- בוחרים ביעד הזה כשרוצים לאחסן את נתוני היומן לטווח ארוך. הקטגוריה של Cloud Storage יכולה להיות באותו פרויקט שממנו מגיעים רשומות היומן, או בפרויקט אחר. רשומות ביומן מאוחסנות כקובצי JSON.
- נושא Pub/Sub
- בוחרים ביעד הזה כשרוצים לייצא את נתוני היומן מ-Google Cloud ואז להשתמש בשילובים עם צד שלישי כמו Splunk או Datadog. ערכי היומן מעוצבים בפורמט JSON ואז מנותבים לנושא ב-Pub/Sub.
מגבלות על יעדים
בקטע הזה מתוארות מגבלות שספציפיות ליעדים:
- אם אתם מעבירים רשומות ביומן לקטגוריית יומנים בפרויקט אחר, Error Reporting לא מנתח את הרשומות האלה ביומן. Google Cloud מידע נוסף מופיע במאמר בנושא סקירה כללית על Error Reporting.
- אם אתם מעבירים רשומות ביומן למערך נתונים ב-BigQuery, צריך להפעיל את ההרשאה לכתוב במערך הנתונים ב-BigQuery. אי אפשר להפנות רשומות ביומן לקבוצות נתונים מקושרות, שהן לקריאה בלבד.
- יכול להיות שיחלפו כמה שעות עד שמאגרי נתונים חדשים שמעבירים נתוני יומן לקטגוריות של Cloud Storage יתחילו להעביר רשומות ביומן. העיבוד של מאגרי המידע האלה מתבצע מדי שעה.
המגבלות הבאות חלות כשהיעד של sink ביומן הוא Google Cloud פרויקט:
- יש הגבלה של קפיצה אחת.
- רשומות ביומן שתואמות למסנן של
_Requiredsink ביומן מנותבות רק אל_Requiredהקטגוריה ביומן של פרויקט היעד אם הן נוצרו בפרויקט היעד. - רק מאגרי נתונים (sinks) מצטברים שנמצאים בהיררכיית המשאבים של רשומת יומן מעבדים את רשומת היומן.
לדוגמה, נניח שיעד של sink ביומן בפרויקט
Aהוא פרויקטB. אז התנאים הבאים מתקיימים:- בגלל מגבלת הצעד האחד, אי אפשר לנתב מחדש את רשומות היומן ממאגרי היומן בפרויקט
Bלפרויקט Google Cloud . - בקטגוריית היומן
_Requiredשל פרויקטBנשמרים רק רשומות יומן שמקורן בפרויקטB. קטגוריה ביומן הזו לא מאחסנת רשומות ביומן שמקורן במשאבים אחרים, כולל אלה שמקורן בפרויקטA. - אם היררכיית המשאבים של פרויקט
Aשונה מהיררכיית המשאבים של פרויקטB, רשומה ביומן ש-sink ביומן בפרויקטAמעביר לפרויקטBלא תישלח ל-sinks המצטברים בהיררכיית המשאבים של פרויקטB. - אם לפרויקט
AולפרויקטBיש אותה היררכיית משאבים, רשומות היומן נשלחות למאגרי הנתונים המצטברים בהיררכיה הזו. אם רשומת יומן לא נחטפת על ידי sink מצטבר, נתב היומנים שולח את רשומת היומן אל ה-sinks בפרויקטA.
לפני שמתחילים
ההוראות במסמך הזה מתארות איך ליצור ולנהל מאגרי נתונים ברמתGoogle Cloud הפרויקט. אפשר להשתמש באותו תהליך כדי ליצור יעד שמעביר רשומות ביומן שמקורן בארגון, בתיקייה או בחשבון לחיוב.
כדי להתחיל, צריך לבצע את הפעולות הבאות:
-
Enable the Cloud Logging API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. מוודאים שפרויקט Google Cloud מכיל רשומות ביומן שאפשר לראות בLogs Explorer.
-
כדי לקבל את ההרשאות שנדרשות ליצירה, לשינוי או למחיקה של sink, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד כותב הגדרות של יומנים (
roles/logging.configWriter) בפרויקט. להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
במדריך בקרת הגישה של Logging מוסבר איך מעניקים תפקידי IAM.
יש לכם משאב ביעד נתמך או שיש לכם אפשרות ליצור משאב כזה.
כדי להפנות רשומות ביומן ליעד, היעד צריך להתקיים לפני שיוצרים את מאגר הנתונים. אפשר ליצור את היעד בכלGoogle Cloud פרויקט בכל ארגון.
לפני שיוצרים מאגר, חשוב לעיין במגבלות שחלות על יעד המאגר. מידע נוסף זמין בקטע מגבלות על יעדים במאמר הזה.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
REST
כדי להשתמש בדוגמאות של API בארכיטקטורת REST שבדף הזה בסביבת פיתוח מקומית, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
יצירת יעד
בקטע הזה מוסבר איך ליצור יעד בפרויקט ב- Google Cloud . אפשר ליצור עד 200 יעדים לכל פרויקט. Google Cloud כדי לראות את המספר והנפח של רשומות היומן שמועברות, אפשר לעיין במדדים של
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, מומלץ לקבץ את הסעיפים באמצעות סוגריים.כדי ליצור יעד:
המסוף
-
במסוף Google Cloud , עוברים לדף Log Router:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
בוחרים את Google Cloud הפרויקט שממנו מגיעים רשומות היומן שרוצים להעביר.
לדוגמה, אם רוצים להפנות את הרשומות ביומן Data Access מהפרויקט בשם
Project-Aלקטגוריית יומנים בפרויקט בשםProject-B, צריך לבחור באפשרותProject-A.לוחצים על יצירת יעד.
בחלונית פרטי יעד, מזינים את הפרטים הבאים:
שם יעד: צריך לספק מזהה ליעד. שימו לב שאחרי שיוצרים את היעד, אי אפשר לשנות את השם שלו, אבל אפשר למחוק אותו וליצור יעד חדש.
תיאור של יעד הנתונים (אופציונלי): מתארים את המטרה או את תרחיש השימוש של יעד הנתונים.
בחלונית Sink destination, בוחרים את שירות היעד ואת היעד באמצעות התפריט Select sink service. מבצעים אחת מהפעולות הבאות:
כדי לנתב רשומות ביומן לשירות שנמצא באותו פרויקטGoogle Cloud , בוחרים באחת מהאפשרויות הבאות:
- קטגוריה של Cloud Logging: בוחרים או יוצרים קטגוריה של Logging.
- מערך נתונים ב-BigQuery: בוחרים או יוצרים את מערך הנתונים שאליו אפשר לכתוב, כדי לקבל את רשומות היומן שמועברות. אפשר גם להשתמש בטבלאות עם חלוקה למחיצות.
- קטגוריה של Cloud Storage: בוחרים או יוצרים את הקטגוריה הספציפית של Cloud Storage שאליה ינותבו רשומות היומן.
- נושא Pub/Sub: בוחרים או יוצרים את הנושא הספציפי לקבלת רשומות היומן שמועברות.
- Splunk: בוחרים את נושא Pub/Sub לשירות Splunk.
כדי לנתב רשומות ביומן לפרויקט אחר של Google Cloud , בוחרים באפשרות Google Cloud project ומזינים את השם המלא של היעד:
logging.googleapis.com/projects/DESTINATION_PROJECT_IDכדי לנתב רשומות ביומן לשירות שנמצא בGoogle Cloud פרויקט אחר, צריך לבצע את הפעולות הבאות:
- בוחרים באפשרות משאב אחר.
- מזינים את השם המלא של היעד. מידע על התחביר מופיע במאמר פורמטים של נתיבי יעד.
מציינים את הרשומות ביומן שרוצים לכלול:
עוברים לחלונית Choose logs to include in sink (בחירת יומנים להכללה ב-sink).
בשדה Build inclusion filter, מזינים ביטוי מסנן שתואם לרשומות ביומן שרוצים לכלול. מידע נוסף על התחביר לכתיבת מסננים זמין במאמר בנושא שפת שאילתות לרישום ביומן.
אם לא מגדירים מסנן, כל רשומות היומן מהמשאב שנבחר מנותבות ליעד.
לדוגמה, כדי להפנות את כל הרשומות ביומן Data Access לקטגוריה ב-Logging, אפשר להשתמש במסנן הבא:
log_id("cloudaudit.googleapis.com/data_access") OR log_id("externalaudit.googleapis.com/data_access")אורך המסנן לא יכול לחרוג מ-20,000 תווים.
כדי לוודא שהזנתם את המסנן הנכון, לוחצים על תצוגה מקדימה של היומנים. כלי Logs Explorer ייפתח בכרטיסייה חדשה עם מסנן שאוכלס מראש.
(אופציונלי) מגדירים מסנן החרגה כדי להסיר חלק מהרשומות ביומן:
עוברים לחלונית Choose logs to filter out of sink (בחירת יומנים להחרגה מהיעד).
בשדה Exclusion filter name, מזינים שם.
בשדה Build an exclusion filter (יצירת מסנן החרגה), מזינים ביטוי מסנן שתואם לרשומות ביומן שרוצים להחריג. אפשר גם להשתמש בפונקציה
sampleכדי לבחור חלק מהרשומות ביומן להחרגה.
אפשר ליצור עד 50 מסנני החרגה לכל יעד. שימו לב שאורך המסנן לא יכול לחרוג מ-20,000 תווים.
לוחצים על יצירת יעד.
נותנים לחשבון השירות של יעד הניקוז את ההרשאה לכתוב רשומות ביומן ליעד הניקוז. מידע נוסף מופיע במאמר בנושא הגדרת הרשאות ליעדים.
gcloud
כדי ליצור יעד:
מריצים את הפקודה הבאה
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.אם התגובה של הפקודה מכילה מפתח JSON עם התווית
"writerIdentity", צריך להעניק לחשבון השירות של יעד הנתונים את ההרשאה לכתוב ליעד הנתונים. מידע נוסף מופיע במאמר בנושא הגדרת הרשאות ליעדים.אין צורך להגדיר הרשאות יעד אם התגובה לא מכילה מפתח JSON עם התווית
"writerIdentity".
REST
כדי ליצור יעד ליומן בפרויקט Google Cloud , משתמשים ב-
projects.sinks.createב-Logging API. באובייקטLogSink, מציינים את הערכים הנדרשים המתאימים בגוף הבקשה של השיטה:name: מזהה של יעד. שימו לב: אחרי שיוצרים את יעד הנתונים, אי אפשר לשנות את השם שלו, אבל אפשר למחוק אותו וליצור יעד נתונים חדש.
destination: השירות והיעד שאליהם רוצים לנתב את רשומות היומן. כדי לנתב רשומות ביומן לפרויקט אחר, או ליעד שנמצא בפרויקט אחר, צריך להגדיר את השדהdestinationעם הנתיב המתאים, כמו שמתואר במאמר פורמטים של נתיבי יעד.לדוגמה, אם יעד ה-sink הוא נושא ב-Pub/Sub, אז
destinationנראה כך:pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
באובייקט
LogSink, מציינים את המידע האופציונלי המתאים:-
filter: מגדירים את השדהfilterכך שיתאים לרשומות ביומן שרוצים לכלול ב-Sink. אם לא מגדירים מסנן, כל רשומות היומן מהפרויקטGoogle Cloud מועברות ליעד. שימו לב שאורך המסנן לא יכול לחרוג מ-20,000 תווים. -
exclusions: מגדירים את השדה הזה כך שיתאים לרשומות ביומן שרוצים להחריג מהיעד. אפשר גם להשתמש בפונקציהsampleכדי לבחור חלק מהרשומות ביומן להחרגה. אפשר ליצור עד 50 מסנני החרגה לכל יעד. -
description: מגדירים את השדה הזה כדי לתאר את המטרה או את תרחיש השימוש של מאגר הנתונים.
-
מפעילים את הפקודה
projects.sinks.createכדי ליצור את יעד ההעברה.אם תגובת ה-API מכילה מפתח JSON עם התווית
"writerIdentity", צריך לתת לחשבון השירות של ה-sink הרשאה לכתוב ליעד של ה-sink. מידע נוסף מופיע במאמר בנושא הגדרת הרשאות ליעדים.אין צורך להגדיר הרשאות ליעד אם תגובת ה-API לא מכילה מפתח JSON עם התווית
"writerIdentity".
מידע נוסף על יצירת יעדים באמצעות Logging API זמין במאמר
LogSink.אם אתם מקבלים התראות על שגיאות, כדאי לעיין במאמר בנושא פתרון בעיות שקשורות לניתוב ולמאגרי מידע.
פורמטים של נתיב היעד
אם אתם מעבירים רשומות ביומן לשירות שנמצא בפרויקט אחר, אתם צריכים לספק ל-sink את השם המלא של השירות. באופן דומה, אם אתם מעבירים רשומות ביומן לפרויקט אחר Google Cloud , אתם צריכים לספק ל-sink את השם המלא של פרויקט היעד:
קטגוריה ביומן של Cloud Logging:
logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
פרויקט Google Cloud אחר:
logging.googleapis.com/projects/DESTINATION_PROJECT_ID
מערך נתונים ב-BigQuery:
bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
Cloud Storage:
storage.googleapis.com/BUCKET_NAME
נושא Pub/Sub:
pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
הגדרת הרשאות ליעד
בקטע הזה מוסבר איך מעניקים ל-Logging את ההרשאות לניהול זהויות והרשאות גישה (IAM) כדי לכתוב רשומות ביומן ליעד של מאגר הנתונים. רשימה מלאה של התפקידים וההרשאות ב-Logging זמינה במאמר בקרת גישה.
כשיוצרים יעד, Cloud Logging יוצר חשבון שירות משותף למשאב, אלא אם חשבון השירות הנדרש כבר קיים. יכול להיות שחשבון השירות קיים כי אותו חשבון שירות משמש לכל מאגרי המידע במשאב הבסיסי. משאבים יכולים להיות Google Cloud פרויקט, ארגון, תיקייה או חשבון לחיוב.
זהות בעל הרשאת הכתיבה של sink היא המזהה של חשבון השירות שמשויך ל-sink הזה. לכל פריטי ה-sink יש זהות כתיבה, מלבד פריטי sink שכותבים לקטגוריית יומנים באותו פרויקט Google Cloud שבו נוצרת רשומת היומן. בהגדרה האחרונה, לא נדרש חשבון שירות, ולכן השדה writer identity של יעד ההעברה מופיע כ-
Noneבמסוף. ה-API והפקודות של Google Cloud CLI לא מדווחים על זהות הכותב.ההוראות הבאות רלוונטיות לפרויקטים, לתיקיות, לארגונים ולחשבונות לחיוב:
המסוף
מוודאים שיש לכם גישת בעלים לפרויקטGoogle Cloud שמכיל את היעד. אם אין לכם גישת בעלים ליעד של ה-sink, צריך לבקש מבעלי הפרויקט להוסיף את זהות הכתיבה כישות מורשית.
כדי לקבל את זהות בעל הרשאת הכתיבה של ה-sink – כתובת אימייל – מה-sink החדש, בצע את הפעולות הבאות:
-
במסוף Google Cloud , עוברים לדף Log Router:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
- בסרגל הכלים, בוחרים את הפרויקט שמכיל את היעד.
- בוחרים באפשרות more_vert תפריט ואז באפשרות הצגת פרטים של יעד. זהות בעל הרשאת הכתיבה מופיעה בחלונית Sink details.
-
אם הערך של השדה
writerIdentityמכיל כתובת אימייל, ממשיכים לשלב הבא. אם הערך הואNone, לא צריך להגדיר הרשאות יעד ל-sink.מעתיקים את זהות הכתיבה של יעד הנתונים ללוח.
כתובת האימייל מזהה את החשבון הראשי. הקידומת
serviceAccount:, מציינת את סוג החשבון.מעניקים לישות המורשית שצוינה בזהות בעל הרשאת הכתיבה של ה-sink את ההרשאה לכתוב נתוני רישום ביומן ליעד:
-
נכנסים לדף IAM במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא IAM & Admin.
בסרגל הכלים, מוודאים שהפרויקט שנבחר הוא הפרויקט שבו מאוחסן היעד או שהוא יעד ה-sink. לדוגמה, אם היעד הוא קטגוריית יומנים, צריך לוודא שבסרגל הכלים מוצג הפרויקט שבו מאוחסנת קטגוריית היומנים.
לוחצים על Grant access.
מעניקים לישות המורשית שצוינה בזהות הכתיבה של sink ביומן תפקיד IAM על סמך היעד של sink ביומן:
- לכל היעדים, צריך להקצות את התפקיד Logs Writer (
roles/logging.logWriter). באופן ספציפי, ישות מורשית צריכה את ההרשאהlogging.logEntries.route. - מקצים אחד מהתפקידים הבאים בהתאם ליעד:
- קטגוריית יומנים: צריך להעניק את התפקיד Logs Bucket Writer (
roles/logging.bucketWriter). - קטגוריה של Cloud Storage: מקצים את התפקיד Storage Object Creator (
roles/storage.objectCreator). - מערך נתונים של BigQuery: מעניקים את התפקיד BigQuery Data Editor (
roles/bigquery.dataEditor). - נושא Pub/Sub, כולל Splunk: צריך להעניק את התפקיד 'פרסום הודעות ב-Pub/Sub' (
roles/pubsub.publisher).
- קטגוריית יומנים: צריך להעניק את התפקיד Logs Bucket Writer (
- לכל היעדים, צריך להקצות את התפקיד Logs Writer (
-
gcloud
מוודאים שיש לכם גישת בעלים לפרויקטGoogle Cloud שמכיל את היעד. אם אין לכם גישת בעלים ליעד של ה-sink, צריך לבקש מבעלי הפרויקט להוסיף את זהות הכתיבה כישות מורשית.
מקבלים את חשבון השירות מהשדה
writerIdentityביעד:gcloud logging sinks describe SINK_NAME
מוצאים את היעד שרוצים לשנות את ההרשאות שלו. אם בפרטים של היעד מופיעה שורה עם
writerIdentity, ממשיכים לשלב הבא. אם הפרטים לא כוללים שדהwriterIdentityלא צריך להגדיר הרשאות יעד עבור מקור הנתונים.זהות בעל הרשאת הכתיבה של חשבון השירות נראית כך:
serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
מעניקים לזהות הכתיבה של ה-sink את ההרשאה לכתוב נתוני יומן ליעד באמצעות הפקודה
gcloud projects add-iam-policy-binding.לפני שמשתמשים בפקודה הבאה, צריך להחליף את המשתנים הבאים בערכים:
- PROJECT_ID: מזהה הפרויקט. מציינים את הפרויקט שבו מאוחסן יעד ה-sink ביומן. אם היעד הוא פרויקט, מציינים את הפרויקט.
- PRINCIPAL: מזהה של ישות מורשית שרוצים להקצות לה את התפקיד. בדרך כלל, מזהי החשבונות הראשיים מופיעים בפורמט הבא:
PRINCIPAL-TYPE:ID. לדוגמה,user:my-user@example.com. רשימה מלאה של הפורמטים האפשריים שלPRINCIPALמופיעה במאמר מזהים של חשבונות משתמשים. ROLE: תפקיד IAM. מקצים לזהות הכתיבה של ה-sink תפקיד IAM על סמך היעד של sink ביומן:
- לכל היעדים, צריך להקצות את התפקיד Logs Writer (
roles/logging.logWriter). באופן ספציפי, ישות מורשית צריכה את ההרשאהlogging.logEntries.route. - מקצים אחד מהתפקידים הבאים בהתאם ליעד:
- קטגוריית יומנים: צריך להעניק את התפקיד Logs Bucket Writer (
roles/logging.bucketWriter). - קטגוריה של Cloud Storage: מקצים את התפקיד Storage Object Creator (
roles/storage.objectCreator). - מערך נתונים של BigQuery: מעניקים את התפקיד BigQuery Data Editor (
roles/bigquery.dataEditor). - נושא Pub/Sub, כולל Splunk: צריך להעניק את התפקיד 'פרסום הודעות ב-Pub/Sub' (
roles/pubsub.publisher).
- קטגוריית יומנים: צריך להעניק את התפקיד Logs Bucket Writer (
- לכל היעדים, צריך להקצות את התפקיד Logs Writer (
מריצים את הפקודה
gcloud projects add-iam-policy-binding:gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
REST
מומלץ להשתמש במסוף Google Cloud או ב-Google Cloud CLI כדי להקצות תפקיד לחשבון שירות.
ניהול יעדים
מומלץ לבדוק את ההגדרה של sink ביומן כשמבצעים שינויים באחסון היומנים. לדוגמה, אם מוחקים את היעד של sink ביומן, צריך למחוק גם את ה-sink התואם ביומן.
אחרי שיוצרים את מאגרי הנתונים, אפשר לבצע בהם את הפעולות הבאות. יכול להיות שיעברו כמה דקות עד שהשינויים שביצעתם ב-sink יחולו:
- לפרטים
- עדכון
השבתה
- אי אפשר להשבית את יעד הנתונים
_Required. - אפשר להשבית את יעד
_Defaultכדי להפסיק את הניתוב של רשומות ביומן אל_Defaultמאגר הנתונים של Logging. - אם רוצים להשבית את ה-sink
_Defaultלכל הפרויקטים או התיקיות החדשים שנוצרו בארגון, כדאי להגדיר הגדרות ברירת מחדל למשאבים ב-Cloud Logging.Google Cloud
- אי אפשר להשבית את יעד הנתונים
מחיקה
- אי אפשר למחוק את מאגרי הנתונים
_Defaultאו_Required. - כשמוחקים מאגר, הוא לא מעביר יותר רשומות ביומן.
- אם ליעד יש חשבון שירות ייעודי, מחיקת היעד תגרום גם למחיקת חשבון השירות. למאגרי מידע שנוצרו לפני 22 במאי 2023 יש חשבונות שירות ייעודיים. למאגרי נתונים שנוצרו ב-22 במאי 2023 או אחריו יש חשבון שירות משותף. מחיקת יעד לא מוחקת את חשבון השירות המשותף.
- אי אפשר למחוק את מאגרי הנתונים
פתרון בעיות שגורמות לכשלים
- הצגת נפח היומן ושיעורי השגיאות
בהמשך מפורטות ההוראות לניהול יעד ב Google Cloud פרויקט. במקום פרויקט Google Cloud , אפשר לציין חשבון לחיוב, תיקייה או ארגון:
המסוף
-
במסוף Google Cloud , עוברים לדף Log Router:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
בסרגל הכלים, בוחרים את המשאב שמכיל את יעד הנתונים. המשאב יכול להיות פרויקט, תיקייה, ארגון או חשבון לחיוב.
בדף Log Router מוצגים מאגרי המידע במשאב שנבחר. כל שורה בטבלה מכילה מידע על מאפיינים של יעד:
- מופעל: מציין אם מצב היעד מופעל או מושבת.
- סוג: שירות היעד של ה-sink. לדוגמה,
Cloud Logging bucket. - שם: המזהה של יעד הנתונים, כפי שסופק כשנוצר יעד הנתונים. לדוגמה:
_Default. - תיאור: תיאור של יעד, כפי שסופק כשנוצר היעד.
- יעד: השם המלא של היעד שאליו נשלחות רשומות היומן שמועברות.
- נוצר: התאריך והשעה שבהם נוצר יעד הנתונים.
- העדכון האחרון: התאריך והשעה שבהם בוצע העדכון האחרון של יעד הנתונים.
- נפח: מדווח על הנפח הכולל של יומנים המנותבים אל sink היומן. הערך כולל את הנפח שמועבר לדליים של יומנים, לפרויקטים או ליעדים אחרים.
בכל שורה בטבלה, בתפריט more_vert פעולות נוספות יש את האפשרויות הבאות:
- הצגת פרטים של יעד: מוצגים השם, התיאור, שירות היעד, היעד ומסנני ההכללה וההחרגה של היעד. כשלוחצים על עריכה, נפתחת החלונית עריכת יעד.
- עריכת יעד: פותח את החלונית עריכת יעד שבה אפשר לעדכן את הפרמטרים של היעד.
- השבתת יעד: מאפשרת להשבית את היעד ולהפסיק את הניתוב של רשומות ביומן ליעד. מידע נוסף על השבתת יעד זמין במאמר הפסקת האחסון של יומנים בקטגוריות ביומן.
- Enable sink (הפעלת יעד): מאפשרת להפעיל יעד מושבת ולהפעיל מחדש את הניתוב של רשומות ביומן ליעד.
- מחיקת יעד: מאפשרת למחוק את היעד ולהפסיק להעביר אליו רשומות ביומן.
- פתרון בעיות ב-sink: פותח את Logs Explorer, שבו אפשר לפתור שגיאות ב-sink.
- הצגת נפח היומן של ה-sink ושיעורי השגיאות: פתיחת הכלי 'Metrics Explorer' שבו אפשר להציג ולנתח נתונים מה-sink.
כדי למיין את הטבלה לפי עמודה, בוחרים את שם העמודה.
gcloud
כדי להציג את רשימת היעדים של פרויקט Google Cloud , משתמשים בפקודה
gcloud logging sinks list, שמתאימה ל-method projects.sinks.listב-Logging API:gcloud logging sinks list
כדי לראות את רשימת היעדים המצטברים, צריך להשתמש באפשרות המתאימה כדי לציין את המשאב שמכיל את היעד. לדוגמה, אם יצרתם את יעד הנתונים ברמת הארגון, השתמשו באפשרות
--organization=ORGANIZATION_IDכדי להציג את רשימת יעדי הנתונים של הארגון.כדי לתאר יעד, משתמשים בפקודה
gcloud logging sinks describe, שמתאימה ל-methodprojects.sinks.getשל Logging API:gcloud logging sinks describe SINK_NAME
כדי לעדכן יעד, משתמשים בפקודה
gcloud logging sinks update, שמתאימה ל-method של ה-APIprojects.sink.update.אפשר לעדכן את יעד הנתונים כדי לשנות את היעד, המסננים והתיאור, או כדי להשבית או להפעיל מחדש את יעד הנתונים:
gcloud logging sinks update SINK_NAME NEW_DESTINATION --log-filter=NEW_FILTER
אם החלקים האלה לא משתנים, אפשר להשמיט את NEW_DESTINATION או
--log-filter.לדוגמה, כדי לעדכן את היעד של ה-sink שנקרא
my-project-sinkליעד חדש של קטגוריה של Cloud Storage שנקראmy-second-gcs-bucket, הפקודה תיראה כך:gcloud logging sinks update my-project-sink storage.googleapis.com/my-second-gcs-bucket
כדי להשבית יעד, משתמשים בפקודה
gcloud logging sinks update, שמתאימה לשיטת ה-APIprojects.sink.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 של ה-API projects.sinks.delete:gcloud logging sinks delete SINK_NAME
מידע נוסף על ניהול יעד להעברת נתונים באמצעות Google Cloud CLI זמין במאמר בנושא
gcloud logging sinks.
REST
כדי לראות את מאגרי הנתונים של Google Cloud הפרויקט, קוראים ל-
projects.sinks.list.כדי להציג את הפרטים של יעד, מתקשרים אל
projects.sinks.get.כדי לעדכן את יעד הנתונים, מתקשרים אל
projects.sink.update.אפשר לעדכן את היעד, המסננים והתיאור של יעד. אפשר גם להשבית את ה-sink או להפעיל אותו מחדש.
כדי להשבית יעד, מגדירים את השדה
disabledבאובייקטLogSinkלערךtrue, ואז קוראים ל-projects.sink.update.כדי להפעיל מחדש את יעד הנתונים, מגדירים את השדה
disabledבאובייקטLogSinkלערךfalse, ואז קוראים ל-projects.sink.update.כדי למחוק יעד, מתקשרים אל
projects.sinks.delete.מידע נוסף על ניהול יעדים באמצעות Logging API זמין במאמר
LogSink.
הפסקת האחסון של רשומות ביומן בדלי יומנים
אתם יכולים להשבית את
_Defaultsink ואת כל ה-sinks שהוגדרו על ידי המשתמש. כשמשביתים יעד לניקוז, היעד מפסיק להעביר רשומות ביומן ליעד שלו. לדוגמה, אם משביתים את יעד ה-sink_Default, לא ינותבו רשומות יומן אל מאגר_Default. קטגוריית_Defaultמתרוקנת כשכל רשומות היומן שאוחסנו בה השלימו את תקופת השמירה של הקטגוריה.בהוראות הבאות מוסבר איך להשבית את יעד היומן Google Cloud של הפרויקט שמעביר רשומות ביומן אל מאגרי היומנים
_Default:המסוף
-
במסוף Google Cloud , עוברים לדף Log Router:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
- כדי למצוא את כל ה-sinks שמעבירים רשומות ביומן אל קטגוריה ביומן
_Default, מסננים את ה-sinks לפי יעד ומזינים_Default. לכל יעד, לוחצים על more_vert תפריט ואז על השבתת היעד.
היעדים מושבתים עכשיו, והיעדים של הפרויקט Google Cloud כבר לא מעבירים רשומות ביומן אל דלי
_Default.
כדי להפעיל מחדש יעד מושבת ולהתחיל מחדש את הניתוב של רשומות יומן ליעד, צריך לבצע את הפעולות הבאות:
-
במסוף Google Cloud , עוברים לדף Log Router:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
- כדי למצוא את כל ה-sinks שמעבירים רשומות ביומן אל קטגוריה ביומן
_Default, מסננים את ה-sinks לפי יעד ומזינים_Default. - לכל יעד, לוחצים על more_vert תפריט ואז על הפעלת היעד.
gcloud
כדי להציג את רשימת היעדים של פרויקט Google Cloud , משתמשים בפקודה
gcloud logging sinks list, שמתאימה ל-method projects.sinks.listב-Logging API:gcloud logging sinks list
מזהים את כל ה-sink שמובילים לקטגוריה ביומן
_Default. כדי לתאר יעד, כולל הצגת שם היעד, משתמשים בפקודהgcloud logging sinks describe, שמתאימה ל-methodprojects.sinks.getב-Logging API:gcloud logging sinks describe SINK_NAME
מריצים את הפקודה
gcloud logging sinks updateוכוללים את האפשרות--disabled. לדוגמה, כדי להשבית את יעד ה-sink_Default, משתמשים בפקודה הבאה:gcloud logging sinks update _Default --disabled
ה-sink
_Defaultמושבת עכשיו, והוא לא מעביר יותר רשומות ביומן אל קטגוריית היומן_Default.
כדי להשבית את שאר מאגרי המידע בפרויקט Google Cloud שמנתבים לקטגוריית
_Defaultהאחסון, חוזרים על השלבים הקודמים.כדי להפעיל מחדש יעד, משתמשים בפקודה
gcloud logging sinks update, מסירים את האפשרות--disabledומוסיפים את האפשרות--no-disabled:gcloud logging sinks update _Default --no-disabled
REST
כדי לראות את היעדים של Google Cloud הפרויקט, מפעילים את השיטה
projects.sinks.listשל Logging API.מזהים את כל היעדים שמובילים לקטגוריית
_Default.לדוגמה, כדי להשבית את יעד הנתונים
_Default, צריך להגדיר את השדהdisabledבאובייקטLogSinkלערךtrue, ואז לקרוא ל-projects.sink.update.מאגר
_Defaultמושבת עכשיו, והוא כבר לא מעביר רשומות ביומן אל קטגוריית_Default.
כדי להשבית את שאר מאגרי המידע בפרויקט Google Cloud שמנתבים לקטגוריית
_Defaultהאחסון, חוזרים על השלבים הקודמים.כדי להפעיל מחדש יעד, צריך להגדיר את השדה
disabledבאובייקטLogSinkלערךfalse, ואז לקרוא ל-projects.sink.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
כדי להחריג רשומות ביומן של קונטיינרים ופודים של 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
logNames, משתמשים במסנן הבא:resource.type = "k8s_node" logName:( "logs/container-runtime" OR "logs/docker" OR "logs/kube-container-runtime-monitor" OR "logs/kube-logrotate" OR "logs/kube-node-configuration" OR "logs/kube-node-installation" OR "logs/kubelet" OR "logs/kubelet-monitor" OR "logs/node-journal" OR "logs/node-problem-detector")כדי לראות את נפח הרשומות ביומן של צומת, Pod וקונטיינר של Google Kubernetes Engine שמאוחסנות במאגרי יומנים, משתמשים ב-Metrics Explorer:
- הצגת נפח הרשומות ביומן של הצומת
- צפייה בנפח של רשומות ביומן של פודים
- הצגת נפח של רשומות ביומן של מאגרים
החרגה של יומני Dataflow שלא נדרשים לצורך תמיכה
כדי להחריג רשומות ביומן של Dataflow שלא נדרשות לצורך תמיכה, משתמשים במסנן הבא:
resource.type="dataflow_step" labels."dataflow.googleapis.com/log_type"!="system" AND labels."dataflow.googleapis.com/log_type"!="supportability"כדי לראות את נפח היומנים של Dataflow שמאוחסנים בדלי היומנים, משתמשים ב-Metrics Explorer.
יכולת תמיכה
אמנם Cloud Logging מאפשר לכם להחריג רשומות ביומן ולמנוע את השמירה שלהן בקטגוריית יומנים, אבל כדאי לשקול לשמור רשומות ביומן שיכולות לעזור בתמיכה. בעזרת רשומות היומן האלה תוכלו לפתור בעיות ולזהות בעיות באפליקציות.
לדוגמה, רשומות ביומן המערכת של GKE שימושיות לפתרון בעיות באפליקציות ובאשכולות של GKE, כי הן נוצרות לאירועים שמתרחשים באשכול. רשומות היומן האלה יכולות לעזור לכם לקבוע אם קוד האפליקציה או אשכול GKE הבסיסי גורמים לשגיאה באפליקציה. יומני המערכת של GKE כוללים גם רישום ביומן הביקורת של Kubernetes שנוצר על ידי רכיב שרת ה-API של Kubernetes, שכולל שינויים שבוצעו באמצעות הפקודה kubectl ואירועים של Kubernetes.
ב-Dataflow, מומלץ לכתוב לפחות את יומני המערכת (
labels."dataflow.googleapis.com/log_type"="system") ואת יומני התמיכה (labels."dataflow.googleapis.com/log_type"="supportability") בדלי יומנים. היומנים האלה חיוניים למפתחים כדי לצפות בצינורות עיבוד הנתונים של Dataflow ולפתור בהם בעיות, ויכול להיות שהמשתמשים לא יוכלו להשתמש בדף פרטי המשימה ב-Dataflow כדי לראות את יומני המשימות.המאמרים הבאים
אם נתקלתם בבעיות במהלך השימוש ב-sinks כדי לנתב רשומות ביומן, תוכלו להיעזר במאמר פתרון בעיות בניתוח יומנים.
במאמר הצגת יומנים ביעדי sink מוסבר איך לראות את רשומות היומן ביעדים שלהן, וגם איך היומנים מעוצבים ומאורגנים.
מידע נוסף על שליחת שאילתות וסינון באמצעות שפת השאילתות של Logging מופיע במאמר שפת השאילתות של Logging.
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2026-03-10 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["התוכן קשה להבנה","hardToUnderstand","thumb-down"],["שגיאות בקוד לדוגמה או במידע","incorrectInformationOrSampleCode","thumb-down"],["חסרים לי פרטים או דוגמאות","missingTheInformationSamplesINeed","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2026-03-10 (שעון UTC)."],[],[]]-