מעבר אל Observability Analytics

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

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

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

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

  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 Observability API.

    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 API

  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 Observability API.

    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 API

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

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

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

  9. במסוף Google Cloud , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

    בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

מעבר אל Observability Analytics

  1. ביצעתם את הפעולות שמפורטות בקטע לפני שמתחילים במסמך הזה. הפעולות האלה כוללות הפעלה של Observability API.

  2. כדי לוודא שיש לכם גישה לנתוני המעקב, משתמשים ב-Observability Analytics:

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

      עוברים אל Observability Analytics

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

    2. בתפריט תצוגות, עוברים לקטע מעקב ובוחרים באפשרות _Trace.Spans._AllSpans.

      החלונית Schema מתעדכנת ומציגה את הסכימה.

      אם לא מופיע תצוגה בשם _Trace.Spans._AllSpans, סימן שהפרויקטGoogle Cloud לא מכיל קטגוריה של נתונים שניתנים לצפייה בשם _Trace. במאמר האתחול של אחסון הנתונים של Trace נכשל מוסבר איך לפתור את הבעיה.

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

      השדה של עורך השאילתות מתעדכן. הסעיף FROM מציג רשומה שדומה לרשומה הבאה:

      `PROJECT_ID.us._Trace.Spans._AllSpans`
      
    4. בסרגל הכלים, בוחרים באפשרות Run Query (הפעלת שאילתה).

      אם בסרגל הכלים מוצגת האפשרות Run in BigQuery (הפעלה ב-BigQuery), לוחצים על Settings (הגדרות) ובוחרים באפשרות Analytics (default) (Analytics (ברירת מחדל)).

    בדקתם שאפשר לשלוח שאילתות לנתוני העקבות באמצעות הדף Observability Analytics.

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

  4. מוחקים את מאגרי הנתונים של העקבות וערכות נתונים מיותרות:

    1. כדי להציג רשימה של יעד קיים של נתוני מעקב, מריצים את הפקודה gcloud alpha trace sinks list:

      gcloud alpha trace sinks list
      
    2. לכל יעד, מריצים את הפקודה gcloud alpha trace sinks delete:

      gcloud alpha trace sinks delete SINK_NAME
      
    3. אופציונלי: מוחקים מערכי נתונים מיותרים ב-BigQuery. מידע על מחיקת מערך נתונים ב-BigQuery זמין במאמר מחיקת מערכי נתונים.

השוואת סכימות

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

שם Analytics מדור קודם
מזהה מעקב trace_id extendedFields.traceId
מזהה Span span_id span.spanId
מזהה יחידה לוגית למעקב הורה parent_span_id span.parentSpanId
שם ה-Span name span.displayName.value
סוג הטווח kind
לערכים, אפשר לעיין בOpenTelemetry: SpanKind.
span.spanKind
הערכים מופיעים בדף SpanKind הפניית API של Cloud Trace.
שעת ההתחלה של טווח הזמן start_time span.startTime
שעת הסיום של טווח הזמן end_time span.endTime
מאפיינים

לכל אחד מהמאפיינים span,‏ resource ו-instrumentation יש פורמט ייחודי. השדות האלה הם מסוג נתוני JSON ב-BigQuery. דוגמאות:

  • attributes["somekey"]
  • resource.attributes["somekey"]
  • instrumentation_scope.attributes["somekey"]

כל המאפיינים משתמשים באותו פורמט: span.attributes.attributeMap.ATTRIBUTE_KEY

דוגמאות:

  • span.attributes.attributeMap._http_method
  • span.attributes.attributeMap.g_co_agent
  • span.attributes.attributeMap.rpc_service
  • span.attributes.attributeMap.rpc_method

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