במאמר הזה מוסבר איך לנתח את נתוני היומן באמצעות שירותי BigQuery, שמאפשרים להריץ שאילתות על מערכי נתונים מקושרים של BigQuery. אם יוצרים קבוצת נתונים מקושרת ב-BigQuery בקטגוריה ביומן, אפשר לשלוח שאילתות על נתוני היומנים באמצעות BigQuery או Data Studio. בנוסף, אפשר להגדיר את הדף Observability Analytics להרצת שאילתות במנוע BigQuery. אתם יכולים ליצור מדיניות התראות שתנטר את תוצאות שאילתות ה-SQL שמופעלות במנוע BigQuery.
אי אפשר ליצור מערך נתונים מקושר ב-BigQuery עבור תצוגת ניתוח נתונים.
אם אתם לא מכירים את Observability Analytics, כדאי לעיין בסקירה הכללית של Observability Analytics.
מתי צריך קבוצת נתונים מקושרת
לא צריך מערך נתונים מקושר ב-BigQuery כשרוצים להריץ שאילתות על נתוני היומן או על נתוני היומן והמעקב. בתרחישים כאלה, אפשר להשתמש בדף Observability Analytics. אפשר גם לשמור ולשתף את השאילתות, ולשמור את השאילתה במרכז בקרה מותאם אישית. מידע על שליחת שאילתות לגבי נתוני מעקב זמין במאמר שליחת שאילתות וניתוח של נתוני מעקב.
אתם צריכים מערך נתונים מקושר ב-BigQuery אם אתם רוצים לבצע את הפעולות הבאות:
- לצרף נתונים של רשומות ביומן למערכי נתונים אחרים ב-BigQuery.
- להריץ שאילתות על נתוני יומן משירות אחר, כמו הדף BigQuery Studio או Data Studio.
- יוצרים מדיניות התראות שעוקבת אחרי התוצאה של שאילתת SQL. מידע נוסף מופיע במאמר בנושא מעקב אחרי תוצאות של שאילתות SQL באמצעות מדיניות התראות.
מערך נתונים מקושר ב-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. כשצריך, נוצר חשבון שירות:
חשבון שירות של Cloud Observability: נדרש לקישור במערך נתונים של ניראות.
חשבון שירות של Cloud Logging: נדרש לקישור בקטגוריית יומנים.
יומן הביקורת מתעד את הבקשה של מנהל סוכני השירות להעניק לחשבון השירות של Monitoring את תפקיד ה-IAM Monitoring Service Agent.
לפני שמתחילים
בקטע הזה מתוארים השלבים שצריך להשלים כדי להשתמש ב-Observability Analytics.
הגדרת קטגוריות ביומן
מוודאים ששדרגתם את מאגרי היומנים כדי להשתמש ב-Observability Analytics:
-
נכנסים לדף Logs Storage במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
- לכל קטגוריה ביומן שיש לה תצוגת יומנים שרוצים לשלוח אליה שאילתה, מוודאים שבעמודה Observability Analytics available מופיע הערך Open. אם הכפתור שדרוג מוצג, לוחצים עליו וממלאים את תיבת הדו-שיח.
הגדרת תפקידים והרשאות ב-IAM
בקטע הזה מתוארים התפקידים או ההרשאות של IAM שנדרשים לשימוש ב-Observability Analytics:
-
כדי לקבל את ההרשאות שדרושות לשימוש ב-Observability Analytics ולשאילתות של תצוגות יומן, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
כדי להריץ שאילתה על מאגרי היומנים
_Requiredו-_Default: מציג היומנים (roles/logging.viewer) -
כדי לשלוח שאילתה לכל תצוגות היומן בפרויקט:
בעל הרשאת גישה לתצוגת יומנים (
roles/logging.viewAccessor)
כדי להגביל חשבון משתמש לתצוגת יומן ספציפית, אפשר להוסיף תנאי IAM להקצאת התפקיד Logs View Accessor שבוצעה ברמת הפרויקט, או להוסיף קישור IAM לקובץ המדיניות של תצוגת היומן. מידע נוסף זמין במאמר בנושא שליטה בגישה לתצוגת יומן.
אלה אותן הרשאות שנדרשות כדי לצפות ברשומות ביומן בדף Logs Explorer. מידע על תפקידים נוספים שנדרשים כדי לשלוח שאילתות לתצוגות של קטגוריות שהוגדרו על ידי המשתמש או כדי לשלוח שאילתות לתצוגה
_AllLogsשל קטגוריה ביומן_Defaultזמין במאמר בנושא תפקידים ב-Cloud Logging. -
כדי להריץ שאילתה על מאגרי היומנים
-
כדי לקבל את ההרשאות שדרושות ליצירה ולשליחת שאילתות של מערכי נתונים מקושרים ב-BigQuery, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט שבו מאוחסנת קטגוריית היומן:
-
כדי ליצור מערך נתונים מקושר ב-BigQuery:
Logs Configuration Writer (
roles/logging.configWriter) -
כדי להריץ שאילתות במערכי נתונים מקושרים של BigQuery באמצעות משבצות זמן של BigQuery:
- BigQuery User (
roles/bigquery.user) - BigQuery Job User (
roles/bigquery.jobUser)
- BigQuery User (
-
כדי להציג מערכי נתונים מקושרים של BigQuery ב-BigQuery Studio, צריך להעניק את כל התפקידים שמוזכרים בשלב הזה, ואת התפקיד הבא. אפשר להעניק את התפקיד הזה למערך נתונים או לפרויקט:
BigQuery Data Viewer (
roles/bigquery.dataViewer)
-
כדי ליצור מערך נתונים מקושר ב-BigQuery:
Logs Configuration Writer (
הפעלת ממשקי ה-API
מפעילים את Cloud Monitoring API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים
אימות המהדורה של BigQuery
אם אתם רוצים להריץ שאילתות על נתוני היומן מהדף Observability Analytics באמצעות משבצות זמן של BigQuery, ואם אתם משתמשים בפרויקטים עם VPC Service Controls, אתם צריכים לוודא שאתם משתמשים במהדורת Enterprise של BigQuery. מידע נוסף זמין במאמר הסבר על מהדורות BigQuery.
יצירת מערך נתונים מקושר ב-BigQuery
כדי להשתמש ביכולות של BigQuery לניתוח נתוני יומנים, שדרגו קטגוריה ביומן לשימוש ב-Observability Analytics, ואז צרו מערך נתונים מקושר. בהגדרה הזו, שירות Logging שומר את נתוני היומן, אבל ל-BigQuery יש גישה לקריאת נתוני היומן.
מסוף Google Cloud
כדי ליצור קישור למערך נתונים ב-BigQuery עבור קטגוריה ביומן קיימת:
-
נכנסים לדף Logs Storage במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
מאתרים את קטגוריית היומנים ומוודאים שבעמודה Observability Analytics available מופיע הערך Open.
אם בעמודה הזו מופיע הכיתוב שדרוג, סימן שלא שדרגתם את קטגוריית היומן לשימוש ב-Observability Analytics. הגדרת ניתוח נתונים של ניראות (observability):
- לוחצים על שדרוג.
- לוחצים על אישור בתיבת הדו-שיח.
אחרי שהשדרוג מסתיים, ממשיכים לשלב הבא.
בקטגוריה ביומן, לוחצים על סמל האפשרויות הנוספותmore_vert ואז על עריכת קטגוריה.
תיבת הדו-שיח עריכת קטגוריה ביומן נפתחת.
בוחרים באפשרות יצירת מערך נתונים חדש ב-BigQuery שמקושר למאגר הזה ומזינים את השם של מערך הנתונים החדש.
שם מערך הנתונים חייב להיות ייחודי לכל Google Cloud פרויקט. אם מזינים שם של מערך נתונים קיים, מוצגת השגיאה הבאה:
Dataset name must be unique in the selected region.לוחצים על 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.
מכינים את הארגומנטים של השיטה באופן הבא:
- יוצרים את גוף הבקשה לפקודה
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.
אם תנסו ליצור קבוצת נתונים מקושרת עבור קטגוריה ביומן שלא שודרג לשימוש ב-Observability Analytics, תופיע השגיאה הבאה:
A link can only be created for an analytics-enabled bucket.
הפעלת שאילתות מ-BigQuery
אם יש לכם קטגוריה ביומן שמשתמשת ב-Observability Analytics ובמערכי נתונים מקושרים, תוכלו להציג את מערכי הנתונים המקושרים ולשלוח להם שאילתות באמצעות הדף BigQuery Studio. ההגדרה הזו מאפשרת לכם לנתח את מערכי הנתונים באמצעות פקודות, תהליכי עבודה ומערכי נתונים שזמינים רק ב-BigQuery Studio.
כדי לפתוח את BigQuery מ-Observability Analytics ואז להריץ שאילתה על מערך נתונים מקושר:
מוודאים שקיים קבוצת נתונים מקושרת עבור קטגוריה ביומן שמארחת את תצוגת היומן שרוצים להריץ עליה שאילתה:
-
נכנסים לדף Logs Storage במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
מאתרים את קטגוריית היומנים ומוודאים שבעמודה BigQuery linked dataset (מערך נתונים מקושר ב-BigQuery) מוצג כתובת URL. אם הרשומה ריקה, צריך ליצור מערך נתונים מקושר. מידע על השלבים האלה זמין במאמר בנושא יצירת מערך נתונים מקושר ב-BigQuery
-
-
נכנסים לדף manage_search Observability Analytics במסוף Google Cloud :
עוברים אל Observability Analytics
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
ברשימה Log views, מוצאים את תצוגת היומן ובוחרים אותה.
בחלונית סכימה, בוחרים באפשרות שאילתה.
בחלונית שאילתה מאוכלסת שאילתת ברירת מחדל. אפשר גם להזין שאילתה בחלונית שאילתה או לערוך שאילתה שמוצגת.
בסרגל הכלים, מרחיבים את הלחצן הפעלת שאילתה או הפעלה ב-BigQuery ובוחרים באפשרות פתיחה ב-BigQuery.
הדף BigQuery Studio ייפתח. ההצהרה של השאילתה משתנה כדי לציין את הנתיב לתצוגת היומן במערך הנתונים המקושר באמצעות תחביר הנתיב של הטבלה ב-BigQuery.
FROMאפשר גם לערוך את השאילתה שמוצגת.
בדף BigQuery Studio, לוחצים על Run query (הרצת שאילתה).
הפעלת שאילתות של Observability Analytics במשבצות זמן של BigQuery
אם רוצים לעקוב אחרי התוצאות של שאילתת SQL באמצעות מדיניות התראות, צריך להריץ את השאילתות במנוע BigQuery. כדי לעשות את זה:
מוודאים שקיים קבוצת נתונים מקושרת עבור קטגוריה ביומן שמארחת את תצוגת היומן שרוצים להריץ עליה שאילתה:
-
נכנסים לדף Logs Storage במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
מאתרים את קטגוריית היומנים ומוודאים שבעמודה BigQuery linked dataset (מערך נתונים מקושר ב-BigQuery) מוצג כתובת URL. אם הרשומה ריקה, צריך ליצור מערך נתונים מקושר ב-BigQuery.
-
מגדירים את Observability Analytics להרצת השאילתות במנוע BigQuery:
-
נכנסים לדף manage_search Observability Analytics במסוף Google Cloud :
עוברים אל Observability Analytics
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא 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