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

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

כדי להתחיל להשתמש ב-Observability Analytics, אפשר לעיין במאמר שאילתות וניתוח של נתוני מעקב.

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

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

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

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

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

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

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

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

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

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

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Monitoring and Observability APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Monitoring and Observability APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

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

דרישות מוקדמות

  1. מבצעים את השלבים בקטע לפני שמתחילים.
  2. כדי לקבל את ההרשאות שדרושות ליצירת קישור במערך נתונים של יכולת התבוננות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:

    להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

    יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

gcloud

לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:

  • LINK_ID: השם של מערך הנתונים ב-BigQuery.
  • DATASET_ID: מזהה קבוצת הנתונים. נתוני המעקב מאוחסנים במערך נתונים בשם Spans.
  • BUCKET_ID: המזהה של קטגוריית הנתונים של יכולת התצפית. לדוגמה, המזהה יכול להיות _Trace.
  • LOCATION: המיקום של קטגוריות הנתונים של יכולת התצפית.
  • PROJECT_ID: מזהה הפרויקט.

מריצים את הפקודה gcloud beta observability buckets datasets links create:

‫Linux,‏ macOS או Cloud Shell

gcloud beta observability buckets datasets links create \
  projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID \
 --dataset=DATASET_ID\
 --bucket=BUCKET_ID \
 --location=LOCATION \
 --project=PROJECT_ID

‏Windows (PowerShell)

gcloud beta observability buckets datasets links create `
  projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID `
 --dataset=DATASET_ID`
 --bucket=BUCKET_ID `
 --location=LOCATION `
 --project=PROJECT_ID

Windows‏ (cmd.exe)

gcloud beta observability buckets datasets links create ^
  projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID ^
 --dataset=DATASET_ID^
 --bucket=BUCKET_ID ^
 --location=LOCATION ^
 --project=PROJECT_ID

הפקודה create מתחילה פעולה ממושכת. בדוגמה הבאה אפשר לראות תגובה שהתקבלה אחרי שהפקודה הסתיימה ללא שגיאות:

Create request issued for: [mydataset]
Waiting for operation [projects/my-project/locations/us/operations/operation-1775164903749-64e80c9817833-9ff804b6-c3e9cbe7] to complete...done.
Created link [mydataset].

REST

כדי ליצור קישור למערך נתונים ב-BigQuery, שולחים בקשה לנקודת הקצה projects.locations.buckets.datasets.links.create.

צריך לציין את פרמטר האב, שמופיע בפורמט הבא:

projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID

השדות בביטוי הקודם מייצגים את המשמעויות הבאות:

  • PROJECT_ID: מזהה הפרויקט.
  • LOCATION: המיקום של קטגוריית ה-Observability.
  • BUCKET_ID: המזהה של קטגוריית הנתונים של יכולת התצפית. לדוגמה, המזהה יכול להיות _Trace.
  • DATASET_ID: המזהה של מערך הנתונים שנשלחת אליו השאילתה. לדוגמה, המזהה יכול להיות Spans.

הפקודה הזו דורשת פרמטר של שאילתה וגוף בקשה:

  • צריך לציין את פרמטר השאילתה, linkId, ולהגדיר אותו לשם של מערך הנתונים ב-BigQuery. לדוגמה, linkId="my_link". שם מערך הנתונים ב-BigQuery חייב להיות ייחודי לפרויקט Google Cloud , והוא יכול לכלול רק אותיות, ספרות וקווים תחתונים. השם מוגבל ל-100 תווים.

  • גוף הבקשה הוא אובייקט Link. הערך בשדה name הוא בפורמט הבא:

    projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/dataset/DATASET_ID/links/LINK_ID
    

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

    השדה LINK_ID הוא השם של מערך הנתונים ב-BigQuery.

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

רשימה מלאה של נקודות הקצה של Observability API זמינה במאמרי העזרה של Observability API.

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

הרצת שאילתות על נתוני מעקב מ-BigQuery Studio

בקטע הזה מוסבר איך להריץ שאילתות על נתוני העקבות בדף BigQuery Studio.

מידע על העלויות שקשורות לשימוש ב-BigQuery זמין במאמר בנושא תמחור ב-BigQuery.

דרישות מוקדמות

  1. מבצעים את השלבים בקטע לפני שמתחילים.
  2. כדי לקבל את ההרשאות שנדרשות להרצת שאילתות במערך נתונים מקושר מ-BigQuery, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ BigQuery Data Viewer (roles/bigquery.dataViewer) בפרויקט או במערך הנתונים המקושר. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

    יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

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

שימוש ב-BigQuery Studio

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

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

    עוברים אל Observability Analytics

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

  2. מזינים או טוענים שאילתה. מידע נוסף זמין במאמר שאילתות וניתוח של עקבות.

  3. בסרגל הכלים, מרחיבים את התפריט עם התווית Run query או Run on BigQuery ובוחרים באפשרות Open in BigQuery.

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

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

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

הרצת שאילתות במנוע BigQuery

כברירת מחדל, בדף Observability Analytics מורצות השאילתות שאתם כותבים במנוע השאילתות שמוגדר כברירת מחדל. השאילתות שאתם מריצים מתחרות עם כל השאילתות האחרות על מיקומים. לכן, יכול להיות שההרצה של שאילתה תתעכב בגלל חוסר זמינות של משבצות. מנוע השאילתות שמוגדר כברירת מחדל יכול לבצע שאילתות רק בתצוגות של נתוני observability, בתצוגות של מאגרי יומנים ובתצוגות של נתוני ניתוח.

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

יש שני תרחישי שימוש עיקריים להרצת שאילתות במנוע BigQuery:

  • יוצרים מדיניות התראות מבוססת-SQL. השאילתות לגבי המדיניות הזו צריכות להיות מורצות במנוע BigQuery.

  • אתם רוצים לשמור תרשים בלוח בקרה שבו מוצגת התוצאה של צירוף בין נתוני יכולת התבוננות לבין נתונים עסקיים אחרים.

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

מידע על העלויות שקשורות לשימוש ב-BigQuery זמין במאמר בנושא תמחור ב-BigQuery.

דרישות מוקדמות

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

    • Observability View Accessor (roles/observability.viewAccessor) בתצוגות הניראות שרוצים לשלוח אליהן שאילתות. התפקיד הזה תומך בתנאי IAM, שמאפשרים להגביל את ההרשאה לתצוגה ספציפית. אם לא מצרפים תנאי להענקת התפקיד, לחשבון המשתמש תהיה גישה לכל תצוגות הנתונים של יכולת התצפית.
    • מציג היומנים (roles/logging.viewer) בפרויקט
    • BigQuery User (roles/bigquery.user) בפרויקט
    • BigQuery Job User (roles/bigquery.jobUser) בפרויקט

    להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

    יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

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

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

שימוש במנוע BigQuery

כדי להריץ שאילתה במנוע BigQuery כשמשתמשים בדף Observability Analytics:

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

    עוברים אל Observability Analytics

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

  2. מזינים או טוענים שאילתה. מידע נוסף זמין במאמר שאילתות וניתוח של עקבות.

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

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

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

  4. לוחצים על Run on BigQuery (הפעלה ב-BigQuery).

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