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

מערך נתונים מקושר של BigQuery במערך הנתונים של יכולת התצפית מאפשר לכם להריץ שאילתות על נתוני Cloud Trace באמצעות שירותי BigQuery. אחרי הייצוא אפשר לצרף את נתוני המעקב למערכי נתונים עסקיים ולנתח את טווחי הזמן באמצעות BigQuery Studio או BigQuery API.

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

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

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

  • צירוף נתוני מעקב למערכי נתונים אחרים ב-BigQuery.
  • הפעלת שאילתות על נתוני מעקב משירות אחר כמו BigQuery Studio או Data Studio.
  • הפעלת שאילתות ממנוע BigQuery בדף Observability Analytics.

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

  • מעקב אחרי תוצאות של שאילתות SQL באמצעות מדיניות התראות.

  • הפעלת צינורות נתונים אוטומטיים, שאילתות אנליטיות רציפות או תהליכי עבודה של סוכני AI שקוראים באופן פרוגרמטי כמויות גדולות של נתוני מעקב בלי מגבלות הקצב של Trace API.

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

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

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

  • יכול להיות ש-Google Cloud Observability ייצור את חשבונות השירות הבאים או ישנה את ההרשאות שלהם בתפקידי IAM:

  • ביומני הביקורת מתועדת הבקשה ליצירת קישור והבקשה מאדמין של סוכן שירות להעניק לחשבון השירות של 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, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  8. כדי לקבל את ההרשאות שנדרשות ליצירת קישור במערך נתונים של יכולת התבוננות, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ Observability Editor (roles/observability.editor) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

יצירת מערך נתונים

gcloud

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

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

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

‫Linux,‏ macOS או Cloud Shell

gcloud 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 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 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 request issued for: [mydataset]
Waiting for operation [projects/my-project/locations/us/operations/operation-1775164903749-64e80c9817833-9ff804b6-c3e9cbe7] to complete...done.
Created link [mydataset].

Terraform

כדי ליצור קישור במערך נתונים של יכולת תצפית, משתמשים במשאב Terraform‏ google_observability_link ומגדירים את השדות הבאים:

  • ‫project: מזהה הפרויקט.
  • ‫location: המיקום של הקישור. המיקום הזה צריך להיות זהה למיקום של מאגר הנתונים של יכולת התצפית.
  • ‫bucket: המזהה של קטגוריית הנתונים של יכולת התצפית. לדוגמה, _Trace.
  • ‫dataset: המזהה של מערך הנתונים של יכולת התצפית. לדוגמה, Spans.
  • ‫link_id: המזהה של מערך הנתונים ב-BigQuery.

אפשר גם לעדכן ולמחוק קישורים.

REST

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

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

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

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

  • ‫PROJECT_ID: מזהה הפרויקט.
  • ‫LOCATION: המיקום של קטגוריית הנתונים של יכולת התצפית.
  • ‫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/datasets/DATASET_ID/links/LINK_ID
    

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

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

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

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

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

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