ניתוח נתוני יומנים באמצעות BigQuery

במאמר הזה מוסבר איך לנתח את נתוני היומן באמצעות שירותי BigQuery, שמאפשרים להריץ שאילתות על מערכי נתונים מקושרים של BigQuery. אם יוצרים קבוצת נתונים מקושרת ב-BigQuery בקטגוריה ביומן, אפשר לשלוח שאילתות על נתוני היומנים באמצעות BigQuery או Data Studio. בנוסף, אפשר להגדיר את הדף Observability Analytics להרצת שאילתות במנוע BigQuery. אתם יכולים ליצור מדיניות התראות שתנטר את תוצאות שאילתות ה-SQL שמופעלות במנוע BigQuery.

אי אפשר ליצור מערך נתונים מקושר ב-BigQuery עבור תצוגת ניתוח נתונים.

אם אתם לא מכירים את Observability Analytics, כדאי לעיין בסקירה הכללית של Observability Analytics.

מתי צריך קבוצת נתונים מקושרת

לא צריך מערך נתונים מקושר ב-BigQuery כשרוצים להריץ שאילתות על נתוני היומן או על נתוני היומן והמעקב. בתרחישים כאלה, אפשר להשתמש בדף Observability Analytics. אפשר גם לשמור ולשתף את השאילתות, ולשמור את השאילתה במרכז בקרה מותאם אישית. מידע על שליחת שאילתות לגבי נתוני מעקב זמין במאמר שליחת שאילתות וניתוח של נתוני מעקב.

אתם צריכים מערך נתונים מקושר ב-BigQuery אם אתם רוצים לבצע את הפעולות הבאות:

מערך נתונים מקושר ב-BigQuery עבור מאגר יומנים מאפשר ל-BigQuery לקרוא את הנתונים במאגר היומנים.

איך דלי אחסון של יומנים ותצוגות יומנים ממופים לאובייקטים של BigQuery

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

לדוגמה, נניח שלפרויקט my_project יש קטגוריית יומנים בשם example, ולקטגוריית היומנים הזו יש תצוגת יומנים בשם _AllLogs. אם יוצרים מערך נתונים מקושר עבור מאגר היומנים הזה עם השם my_dataset, אז בדף הסייר של BigQuery מוצגת רשומה של my_project. צאצא של רשומה my_project הוא מערך נתונים בשם my_dataset, ומערך הנתונים הזה מפרט תצוגה וירטואלית בשם _AllLogs.

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

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

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

מנועי שאילתות זמינים

בעזרת Observability Analytics אפשר להריץ שאילתות SQL במנוע ברירת המחדל של Logging או במנוע של BigQuery. אם מריצים שאילתה במנוע BigQuery, המערכת יוצרת שאילתה במערך הנתונים המקושר של BigQuery, כלומר ההרשאות שלכם ב-BigQuery מאומתות.

מידע נוסף זמין במאמר בנושא בחירת מנוע השאילתות של Observability Analytics.

פעולות מערכת שמתרחשות כשיוצרים מערך נתונים מקושר

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

  • ביומני הביקורת מתועדת הבקשה ליצירת קישור והשלמת הפעולה.
  • אם חשבון השירות של Monitoring לא קיים, הוא נוצר על ידי Google Cloud Observability.

    כדי ליצור את חשבון השירות הזה, צריך להפעיל את Cloud Monitoring API.

  • כדי ליצור מערך נתונים מקושר, צריך להגדיר חשבון שירות ב-Google Cloud Observability. כשצריך, נוצר חשבון שירות:

  • יומן הביקורת מתעד את הבקשה של מנהל סוכני השירות להעניק לחשבון השירות של Monitoring את תפקיד ה-IAM‏ Monitoring Service Agent.

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

בקטע הזה מתוארים השלבים שצריך להשלים כדי להשתמש ב-Observability Analytics.

הגדרת קטגוריות ביומן

מוודאים ששדרגתם את מאגרי היומנים כדי להשתמש ב-Observability Analytics:

  1. נכנסים לדף Logs Storage במסוף Google Cloud :

    כניסה אל Logs Storage

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

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

הגדרת תפקידים והרשאות ב-IAM

בקטע הזה מתוארים התפקידים או ההרשאות של IAM שנדרשים לשימוש ב-Observability Analytics:

  • כדי לקבל את ההרשאות שדרושות לשימוש ב-Observability Analytics ולשאילתות של תצוגות יומן, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:

    כדי להגביל חשבון משתמש לתצוגת יומן ספציפית, אפשר להוסיף תנאי IAM להקצאת התפקיד Logs View Accessor שבוצעה ברמת הפרויקט, או להוסיף קישור IAM לקובץ המדיניות של תצוגת היומן. מידע נוסף זמין במאמר בנושא שליטה בגישה לתצוגת יומן.

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

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

    • כדי ליצור מערך נתונים מקושר ב-BigQuery: Logs Configuration Writer (roles/logging.configWriter)
    • כדי להריץ שאילתות במערכי נתונים מקושרים של BigQuery באמצעות משבצות זמן של BigQuery:
    • כדי להציג מערכי נתונים מקושרים של BigQuery ב-BigQuery Studio, צריך להעניק את כל התפקידים שמוזכרים בשלב הזה, ואת התפקיד הבא. אפשר להעניק את התפקיד הזה למערך נתונים או לפרויקט: BigQuery Data Viewer (roles/bigquery.dataViewer)

הפעלת ממשקי ה-API

מפעילים את Cloud Monitoring API.

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

כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

להפעלת ה-API

אימות המהדורה של BigQuery

אם אתם רוצים להריץ שאילתות על נתוני היומן מהדף Observability Analytics באמצעות משבצות זמן של BigQuery, ואם אתם משתמשים בפרויקטים עם VPC Service Controls, אתם צריכים לוודא שאתם משתמשים במהדורת Enterprise של BigQuery. מידע נוסף זמין במאמר הסבר על מהדורות BigQuery.

כדי להשתמש ביכולות של BigQuery לניתוח נתוני יומנים, שדרגו קטגוריה ביומן לשימוש ב-Observability Analytics, ואז צרו מערך נתונים מקושר. בהגדרה הזו, שירות Logging שומר את נתוני היומן, אבל ל-BigQuery יש גישה לקריאת נתוני היומן.

מסוף Google Cloud

כדי ליצור קישור למערך נתונים ב-BigQuery עבור קטגוריה ביומן קיימת:

  1. נכנסים לדף Logs Storage במסוף Google Cloud :

    כניסה אל Logs Storage

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

  2. מאתרים את קטגוריית היומנים ומוודאים שבעמודה Observability Analytics available מופיע הערך Open.

    אם בעמודה הזו מופיע הכיתוב שדרוג, סימן שלא שדרגתם את קטגוריית היומן לשימוש ב-Observability Analytics. הגדרת ניתוח נתונים של ניראות (observability):

    1. לוחצים על שדרוג.
    2. לוחצים על אישור בתיבת הדו-שיח.

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

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

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

  4. בוחרים באפשרות יצירת מערך נתונים חדש ב-BigQuery שמקושר למאגר הזה ומזינים את השם של מערך הנתונים החדש.

    שם מערך הנתונים חייב להיות ייחודי לכל Google Cloud פרויקט. אם מזינים שם של מערך נתונים קיים, מוצגת השגיאה הבאה: Dataset name must be unique in the selected region.

  5. לוחצים על Done ואז על Update bucket.

    אחרי ששם מערך הנתונים המקושר מוצג ב-Logging בדף Logs Storage, יכול להיות שיעברו כמה דקות עד שמערך הנתונים יזוהה ב-BigQuery.

gcloud

כדי ליצור מערך נתונים מקושר עבור קטגוריית יומנים ששודרגה לשימוש ב-Observability 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.

אם תנסו ליצור קבוצת נתונים מקושרת עבור קטגוריה ביומן שלא שודרג לשימוש ב-Observability Analytics, תופיע השגיאה הבאה:

A link can only be created for an analytics-enabled bucket.

REST

כדי ליצור מערך נתונים מקושר ב-BigQuery עבור קטגוריה ביומן קיימת ששודרגה לשימוש ב-Observability Analytics, צריך לקרוא לשיטה האסינכרונית projects.locations.buckets.links.create של Cloud Logging API.

מכינים את הארגומנטים של השיטה באופן הבא:

  1. יוצרים את גוף הבקשה לפקודה create. גוף הבקשה הוא אובייקט בפורמט Link.
  2. בפרמטר השאילתה של הפקודה, משתמשים ב-linkId=LINK_ID. הערך LINK_ID שאתם מספקים משמש כשם של מערך הנתונים ב-BigQuery, והערך של השדה הזה צריך להיות ייחודי עבור הפרויקט שלכם ב- Google Cloud .

התגובה לשיטות האסינכרוניות היא אובייקט Operation. האובייקט הזה מכיל מידע על ההתקדמות של השיטה. כשהשיטה מסתיימת, האובייקט Operation מכיל את הסטטוס. מידע נוסף זמין במאמר שיטות אסינכרוניות של API.

השיטה links.create נמשכת כמה דקות.

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

BigQuery dataset with name "LINK_ID" already exists.

אם תנסו ליצור קבוצת נתונים מקושרת עבור קטגוריה ביומן שלא שודרג לשימוש ב-Observability Analytics, תופיע השגיאה הבאה:

A link can only be created for an analytics-enabled bucket.

הפעלת שאילתות מ-BigQuery

אם יש לכם קטגוריה ביומן שמשתמשת ב-Observability Analytics ובמערכי נתונים מקושרים, תוכלו להציג את מערכי הנתונים המקושרים ולשלוח להם שאילתות באמצעות הדף BigQuery Studio. ההגדרה הזו מאפשרת לכם לנתח את מערכי הנתונים באמצעות פקודות, תהליכי עבודה ומערכי נתונים שזמינים רק ב-BigQuery Studio.

כדי לפתוח את BigQuery מ-Observability Analytics ואז להריץ שאילתה על מערך נתונים מקושר:

  1. מוודאים שקיים קבוצת נתונים מקושרת עבור קטגוריה ביומן שמארחת את תצוגת היומן שרוצים להריץ עליה שאילתה:

    1. נכנסים לדף Logs Storage במסוף Google Cloud :

      כניסה אל Logs Storage

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

    2. מאתרים את קטגוריית היומנים ומוודאים שבעמודה BigQuery linked dataset (מערך נתונים מקושר ב-BigQuery) מוצג כתובת URL. אם הרשומה ריקה, צריך ליצור מערך נתונים מקושר. מידע על השלבים האלה זמין במאמר בנושא יצירת מערך נתונים מקושר ב-BigQuery

  2. נכנסים לדף Observability Analytics במסוף Google Cloud :

    עוברים אל Observability Analytics

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

  3. ברשימה Log views, מוצאים את תצוגת היומן ובוחרים אותה.

  4. בחלונית סכימה, בוחרים באפשרות שאילתה.

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

  5. בסרגל הכלים, מרחיבים את הלחצן הפעלת שאילתה או הפעלה ב-BigQuery ובוחרים באפשרות פתיחה ב-BigQuery.

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

    אפשר גם לערוך את השאילתה שמוצגת.

  6. בדף BigQuery Studio, לוחצים על Run query (הרצת שאילתה).

הפעלת שאילתות של Observability Analytics במשבצות זמן של BigQuery

אם רוצים לעקוב אחרי התוצאות של שאילתת SQL באמצעות מדיניות התראות, צריך להריץ את השאילתות במנוע BigQuery. כדי לעשות את זה:

  1. מוודאים שקיים קבוצת נתונים מקושרת עבור קטגוריה ביומן שמארחת את תצוגת היומן שרוצים להריץ עליה שאילתה:

    1. נכנסים לדף Logs Storage במסוף Google Cloud :

      כניסה אל Logs Storage

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

    2. מאתרים את קטגוריית היומנים ומוודאים שבעמודה BigQuery linked dataset (מערך נתונים מקושר ב-BigQuery) מוצג כתובת URL. אם הרשומה ריקה, צריך ליצור מערך נתונים מקושר ב-BigQuery.

  2. מגדירים את Observability Analytics להרצת השאילתות במנוע BigQuery:

    1. נכנסים לדף Observability Analytics במסוף Google Cloud :

      עוברים אל Observability Analytics

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

    2. ברשימה Log views, מוצאים את התצוגה ובוחרים באפשרות Query או מזינים שאילתה.

      אם בחלונית השאילתה מוצגת הודעת שגיאה שמתייחסת להצהרה FROM, אי אפשר לפתור את הבעיה בטבלה כדי להציג תצוגת יומן ספציפית. מידע על פתרון הכשל הזה זמין במאמר בנושא שגיאה FROM clause must contain exactly one log view.

    3. עוברים לסרגל הכלים ומוודאים שמוצג בו לחצן עם התווית Run on BigQuery.

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

      אם הלחצן הפעלה ב-BigQuery מושבת, צריך ליצור מערך נתונים מקושר.

    4. מריצים את השאילתה.

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

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