במאמר הזה מוסבר איך לנתח את נתוני היומן באמצעות שירותי BigQuery, שמאפשרים לבצע שאילתות במערכי נתונים מקושרים של BigQuery. אם יוצרים מערך נתונים מקושר ב-BigQuery בקטגוריה ביומן, אפשר להריץ שאילתות על נתוני היומנים באמצעות BigQuery או Looker Studio. בנוסף, אפשר להגדיר את הדף Log Analytics כך שיריץ שאילתות במנוע BigQuery. אפשר ליצור מדיניות התראות שעוקבת אחרי תוצאות של שאילתות SQL שמופעלות במנוע BigQuery.
אי אפשר ליצור מערך נתונים מקושר ב-BigQuery עבור תצוגת ניתוח נתונים.
אם אתם לא מכירים את Log Analytics, כדאי לעיין במאמר סקירה כללית של Log Analytics.
מתי צריך קבוצת נתונים מקושרת
לא צריך מערך נתונים מקושר ב-BigQuery כשרוצים להריץ שאילתות על נתוני היומן או על נתוני היומן והמעקב. במקרים כאלה, אפשר להשתמש בדף Log Analytics. אפשר גם לשמור ולשתף את השאילתות, ולשמור את השאילתה במרכז בקרה מותאם אישית. מידע על שליחת שאילתות לגבי נתוני מעקב מופיע במאמר שליחת שאילתות וניתוח של נתוני מעקב.
אתם צריכים מערך נתונים מקושר ב-BigQuery אם אתם רוצים לבצע את הפעולות הבאות:
- לצרף נתונים של רשומות ביומן למערכי נתונים אחרים ב-BigQuery.
- להריץ שאילתות על נתוני יומן משירות אחר, כמו הדף BigQuery Studio או Looker Studio.
- יוצרים מדיניות התראות שעוקבת אחרי התוצאה של שאילתת SQL. מידע נוסף מופיע במאמר בנושא מעקב אחרי תוצאות של שאילתות SQL באמצעות מדיניות התראות.
מערך נתונים מקושר ב-BigQuery עבור קטגוריה ביומן מאפשר ל-BigQuery לקרוא את הנתונים בקטגוריה ביומן.
איך דלי אחסון ליומנים ותצוגות יומנים ממופים לאובייקטים ב-BigQuery
כשיוצרים מערך נתונים מקושר ב-BigQuery עבור קטגוריה ביומן, מערך נתונים חדש הופך לזמין ב-BigQuery. במהלך תהליך הקישור, מציינים את השם של מערך הנתונים המקושר. כל התצוגות של היומנים ב-bucket של היומנים ממופות אוטומטית לתצוגות וירטואליות במערך הנתונים. השם של תצוגה וירטואלית זהה לשם של תצוגת היומן התואמת.
לדוגמה, נניח שלפרויקט my_project יש קטגוריית יומנים בשם example, ולקטגוריית היומנים הזו יש תצוגת יומנים בשם _AllLogs. אם יוצרים מערך נתונים מקושר עבור קטגוריה ביומן זו עם השם my_dataset, אז בדף Explorer של BigQuery מוצגת רשומה בשם my_project.
רשומה צאצא של הרשומה my_project היא מערך נתונים בשם my_dataset, ובמערך הנתונים הזה מופיע תצוגה וירטואלית בשם _AllLogs.
השלכות של בקרת גישה כשמשתמשים במערכי נתונים מקושרים
כשגורם ראשי שולח שאילתה לתצוגה במערך נתונים מקושר של BigQuery, השאילתה הזו מופעלת דרך שכבת ההרשאות של BigQuery, ולא דרך שכבת ההרשאות של Cloud Logging. לכן, התפקידים וההרשאות ב-BigQuery שניתנו לגורם המורשה במערך הנתונים המקושר קובעים אם הוא יכול להריץ שאילתות במערך הנתונים.
אי אפשר להגביל את הגישה של גורם הרשאה לתצוגה וירטואלית ספציפית בתוך מערך נתונים מקושר. כשנותנים לחשבון משתמש גישה למערך הנתונים המקושר, הוא יכול להריץ שאילתות על כל תצוגה במערך הנתונים הזה.
מנועי שאילתות זמינים
בעזרת Log Analytics אפשר להריץ שאילתות SQL במנוע ברירת המחדל של Logging או במנוע BigQuery. אם מריצים שאילתה במנוע BigQuery, מתבצעת שאילתה במערך הנתונים המקושר של BigQuery, כלומר ההרשאות שלכם ב-BigQuery מאומתות.
מידע נוסף זמין במאמר בנושא בחירת מנוע השאילתות של Log Analytics.
לפני שמתחילים
בקטע הזה מתוארים השלבים שצריך להשלים כדי להשתמש ב-Log Analytics.
הגדרת מאגרי יומנים
מוודאים ששדרגתם את מאגרי היומנים לשימוש ב-Log Analytics:
-
נכנסים לדף Logs Storage במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
- לכל קטגוריה ביומן שיש לה תצוגת יומנים שרוצים לשלוח אליה שאילתה, מוודאים שבעמודה Log Analytics available מופיעה האפשרות Open. אם הכפתור שדרוג מוצג, לוחצים עליו וממלאים את תיבת הדו-שיח.
הגדרת תפקידים והרשאות ב-IAM
בקטע הזה מתוארים התפקידים או ההרשאות של IAM שנדרשים לשימוש ב-Log Analytics:
-
כדי לקבל את ההרשאות שדרושות לשימוש בכלי לניתוח יומנים ולשאילתות של תצוגות יומנים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
כדי להריץ שאילתה על דלי היומנים
_Requiredו-_Default: מציג היומנים (roles/logging.viewer) -
כדי לשלוח שאילתה לכל תצוגות היומן בפרויקט:
בעל הרשאת גישה לתצוגת יומנים (
roles/logging.viewAccessor)
כדי להגביל חשבון משתמש לתצוגת יומן ספציפית, אפשר להוסיף תנאי IAM להענקת התפקיד Logs View Accessor (גישה לתצוגת יומנים) ברמת הפרויקט, או להוסיף קישור IAM לקובץ המדיניות של תצוגת היומן. מידע נוסף זמין במאמר בנושא שליטה בגישה לתצוגת יומן.
אלה אותן הרשאות שנדרשות כדי לצפות ברשומות ביומן בדף Logs Explorer. מידע על תפקידים נוספים שנדרשים כדי לשלוח שאילתות לתצוגות של מאגרי מידע שהוגדרו על ידי המשתמש או כדי לשלוח שאילתות לתצוגה
_AllLogsשל קטגוריה ביומן_Defaultזמין במאמר בנושא תפקידים ב-Cloud Logging. -
כדי להריץ שאילתה על דלי היומנים
-
כדי לקבל את ההרשאות שדרושות ליצירה ולשאילתה של מערכי נתונים מקושרים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט שבו מאוחסנת קטגוריית היומנים:
-
כדי ליצור קבוצות נתונים מקושרות ולצפות בהן:
כתיבת הגדרות של יומנים (
roles/logging.configWriter) -
כדי להריץ שאילתות במערכי נתונים מקושרים באמצעות משבצות זמן ב-BigQuery:
-
BigQuery User (
roles/bigquery.user) -
BigQuery Job User (
roles/bigquery.jobUser)
-
BigQuery User (
-
כדי להציג מערכי נתונים מקושרים ב-BigQuery Studio, צריך להקצות את כל התפקידים שמוזכרים בשלב הזה, ואת התפקיד הבא. אפשר להעניק את התפקיד הזה למערך נתונים או לפרויקט:
BigQuery Data Viewer (
roles/bigquery.dataViewer)
-
כדי ליצור קבוצות נתונים מקושרות ולצפות בהן:
כתיבת הגדרות של יומנים (
אימות המהדורה של BigQuery
אם אתם רוצים להריץ שאילתות על נתוני היומנים שלכם מהדף Log Analytics באמצעות משבצות זמן של BigQuery, ואם אתם משתמשים בפרויקטים עם VPC Service Controls, אתם צריכים לוודא שאתם משתמשים במהדורת Enterprise של BigQuery. מידע נוסף זמין במאמר הסבר על מהדורות BigQuery.
יצירת מערך נתונים מקושר ב-BigQuery
כדי להשתמש ביכולות של BigQuery לניתוח נתוני היומן, שדרגו קטגוריה ביומן לשימוש ב-Log Analytics, ולאחר מכן צרו מערך נתונים מקושר. בהגדרה הזו, שירות Logging שומר את נתוני היומן, אבל BigQuery יכול לקרוא את נתוני היומן.
מסוף Google Cloud
כדי ליצור קישור למערך נתונים ב-BigQuery עבור קטגוריה קיימת ביומן:
-
נכנסים לדף Logs Storage במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
מאתרים את קטגוריית היומן ומוודאים שבעמודה Log Analytics available מופיע הערך Open.
אם בעמודה הזו מופיע הכיתוב שדרוג, סימן שקטגוריה ביומן לא שודרגה לשימוש ב-Log Analytics. הגדרת Log Analytics:
- לוחצים על שדרוג.
- לוחצים על אישור בתיבת הדו-שיח.
אחרי שהשדרוג מסתיים, ממשיכים לשלב הבא.
בקטגוריה ביומן, לוחצים על סמל האפשרויות הנוספותmore_vert ואז על עריכת מאגר.
תיבת הדו-שיח עריכת קטגוריה ביומן נפתחת.
בוחרים באפשרות יצירת מערך נתונים חדש ב-BigQuery שמקושר לדלי הזה ומזינים את השם של מערך הנתונים החדש.
שם מערך הנתונים חייב להיות ייחודי לכל פרויקט. Google Cloud אם מזינים את השם של מערך נתונים קיים, מוצגת השגיאה הבאה:
Dataset name must be unique in the selected region.לוחצים על Done (סיום) ואז על Update bucket (עדכון מאגר).
אחרי שהשם של מערך הנתונים המקושר מוצג ב-Logging בדף Logs Storage, יכול להיות שיחלפו כמה דקות עד שמערך הנתונים יזוהה ב-BigQuery.
gcloud
כדי ליצור מערך נתונים מקושר לקטגוריית יומנים ששודרגה לשימוש ב-Log Analytics, מריצים את הפקודה gcloud logging links create:
gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION
הערך LINK_ID שאתם מספקים משמש כשם של מערך הנתונים ב-BigQuery, והערך של השדה הזה צריך להיות ייחודי לפרויקט Google Cloud שלכם.
הפקודה links create היא אסינכרונית. הערך שמוחזר משיטה אסינכרונית הוא אובייקט Operation, והוא מכיל מידע על התקדמות השיטה. כשהשיטה מסתיימת, האובייקט Operation מכיל את הסטטוס. מידע נוסף זמין במאמר בנושא שיטות אסינכרוניות של API.
השלמת הפקודה links create עשויה להימשך כמה דקות.
לדוגמה, הפקודה הבאה יוצרת מערך נתונים מקושר בשם mylink עבור קטגוריית היומנים בשם my-bucket:
gcloud logging links create mylink --bucket=my-bucket --location=global
שם מערך הנתונים חייב להיות ייחודי לכל פרויקט. Google Cloud אם מנסים ליצור מערך נתונים עם שם שזהה לשם של מערך נתונים קיים, מוצגת השגיאה הבאה:
BigQuery dataset with name "LINK_ID" already exists.
אם תנסו ליצור מערך נתונים מקושר עבור קטגוריה ביומן שלא שודרג לשימוש ב-Log Analytics, תופיע השגיאה הבאה:
A link can only be created for an analytics-enabled bucket.
REST
כדי ליצור מערך נתונים מקושר ב-BigQuery עבור קטגוריה ביומן קיימת ששודרגה לשימוש ב-Log Analytics, קוראים לשיטה האסינכרונית projects.locations.buckets.links.create של Cloud Logging API.
מכינים את הארגומנטים של השיטה באופן הבא:
- יוצרים את גוף הבקשה לפקודה
create. גוף הבקשה הוא אובייקט בפורמטLink. - בפרמטר השאילתה של הפקודה, משתמשים ב-
linkId=LINK_ID. הערך LINK_ID שאתם מספקים משמש כשם של מערך הנתונים ב-BigQuery, והערך של השדה הזה צריך להיות ייחודי לפרויקט Google Cloud שלכם.
התגובה לשיטות האסינכרוניות היא אובייקט Operation. האובייקט הזה מכיל מידע על ההתקדמות של השיטה. כשהשיטה מסתיימת, האובייקט Operation מכיל את הסטטוס. מידע נוסף זמין במאמר בנושא שיטות אסינכרוניות של API.
השיטה links.create נמשכת כמה דקות.
שם מערך הנתונים חייב להיות ייחודי לכל פרויקט. Google Cloud אם מנסים ליצור מערך נתונים עם שם שזהה לשם של מערך נתונים קיים, מוצגת השגיאה הבאה:
BigQuery dataset with name "LINK_ID" already exists.
אם תנסו ליצור מערך נתונים מקושר עבור קטגוריה ביומן שלא שודרג לשימוש ב-Log Analytics, תופיע השגיאה הבאה:
A link can only be created for an analytics-enabled bucket.
הרצת שאילתות מ-BigQuery
אם יש לכם קטגוריה ביומן שמשתמשת ב-Log Analytics ובמערכי נתונים מקושרים, תוכלו להציג את מערכי הנתונים המקושרים ולשלוח להם שאילתות באמצעות הדף BigQuery Studio. ההגדרה הזו מאפשרת לכם לנתח את מערכי הנתונים באמצעות פקודות, תהליכי עבודה ומערכי נתונים שזמינים רק ב-BigQuery Studio.
כדי לפתוח את BigQuery מתוך Log Analytics ואז להריץ שאילתה על מערך נתונים מקושר:
מוודאים שקיים מערך נתונים מקושר עבור קטגוריה ביומן שמארח את תצוגת היומן שרוצים להריץ עליה שאילתה:
-
נכנסים לדף Logs Storage במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
מאתרים את קטגוריית היומן ומוודאים שבעמודה BigQuery linked dataset (מערך נתונים מקושר ב-BigQuery) מוצג כתובת URL. אם הערך ריק, צריך ליצור מערך נתונים מקושר. מידע על השלבים האלה זמין במאמר בנושא יצירת מערך נתונים מקושר ב-BigQuery
-
-
נכנסים לדף manage_search Log Analytics במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
ברשימה Log views, מוצאים את תצוגת היומן ובוחרים אותה.
בחלונית סכימה, בוחרים באפשרות שאילתה.
בחלונית שאילתה מאוכלסת שאילתת ברירת מחדל. אפשר גם להזין שאילתה בחלונית שאילתה או לערוך שאילתה שמוצגת.
בסרגל הכלים, מרחיבים את הלחצן Run query (הפעלת שאילתה) או Run on BigQuery (הפעלה ב-BigQuery) ובוחרים באפשרות Open in BigQuery (פתיחה ב-BigQuery).
הדף BigQuery Studio ייפתח. ההצהרה של השאילתה משתנה כדי לציין את הנתיב לתצוגת היומן במערך הנתונים המקושר באמצעות תחביר הנתיב של הטבלה ב-BigQuery.
FROMאפשר גם לערוך את השאילתה שמוצגת.
בדף BigQuery Studio, לוחצים על Run query (הרצת שאילתה).
הפעלת שאילתות של ניתוח יומנים במשבצות זמן של BigQuery
אם רוצים לעקוב אחרי התוצאות של שאילתת SQL באמצעות מדיניות התראות, צריך להריץ את השאילתות במנוע של BigQuery. כדי לעשות את זה:
מוודאים שקיים מערך נתונים מקושר עבור קטגוריה ביומן שמארח את תצוגת היומן שרוצים להריץ עליה שאילתה:
-
נכנסים לדף Logs Storage במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
מאתרים את קטגוריית היומן ומוודאים שבעמודה BigQuery linked dataset (מערך נתונים מקושר ב-BigQuery) מוצג כתובת URL. אם הרשומה ריקה, צריך ליצור מערך נתונים מקושר ב-BigQuery.
-
מגדירים את Log Analytics להרצת השאילתות במנוע BigQuery:
-
נכנסים לדף manage_search Log Analytics במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
ברשימה Log views, מוצאים את התצוגה ובוחרים באפשרות Query או מזינים שאילתה.
אם בחלונית השאילתה מוצגת הודעת שגיאה שמתייחסת להצהרה
FROM, אי אפשר לפתור את הבעיה בטבלה כדי להציג תצוגת יומן ספציפית. מידע על פתרון השגיאה הזו מופיע במאמר בנושא שגיאהFROM clause must contain exactly one log view.עוברים לסרגל הכלים ומוודאים שמוצג בו לחצן עם התווית Run on BigQuery.
אם בסרגל הכלים מוצגת האפשרות הפעלת שאילתה, לוחצים על settings הגדרות ובוחרים באפשרות BigQuery.
אם הלחצן הפעלה ב-BigQuery מושבת, צריך ליצור מערך נתונים מקושר.
מריצים את השאילתה.
אפשר להשתמש באפשרויות שבסרגל הכלים כדי לעצב את השאילתה, לנקות אותה ולפתוח את מסמכי העזר של BigQuery SQL.
-
המאמרים הבאים
- מעקב אחרי תוצאות של שאילתת SQL באמצעות מדיניות התראות
- שמירה ושיתוף של שאילתת SQL
- דוגמאות לשאילתות SQL
- יצירת תרשים של תוצאות שאילתת SQL