יצירת תרשים מתוצאות של שאילתת SQL

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

לדוגמה, בתרשים הבא מוצג הסטטוס שדווח על ידי spans לאורך זמן, מקובץ לפי service_name:

תרשים לדוגמה שממחיש פירוט לפי שם השירות.

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

  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, if it is 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 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, if it is 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 API

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

    • Observability View Accessor ‏ (roles/observability.viewAccessor) בתצוגות הניראות שרוצים לשלוח אליהן שאילתות. התפקיד הזה תומך בתנאי IAM, שמאפשרים להגביל את ההקצאה לתצוגה ספציפית. אם לא מוסיפים תנאי להקצאת התפקיד, לחשבון המשתמש תהיה גישה לכל תצוגות הניטור.
    • עריכת מעקב (roles/monitoring.editor) בפרויקט.

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

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

בוחרים את הנתונים שרוצים להציג בתרשים.

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

כדי להציג את תוצאות השאילתה כתרשים, מריצים שאילתה באופן הבא:

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

    כניסה לדף Observability Analytics

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

  2. בחלונית Query, מזינים שאילתה ולוחצים על Run.

  3. אחרי שהשאילתה מסתיימת, בכרטיסייה Results בוחרים איך רוצים לראות את תוצאות השאילתה:

    • טבלה: פורמט טבלאי בלבד.

    • תרשים: פורמט תרשים בלבד.

    • שניהם: תרשים וטבלה.

      אחרי שבוחרים איך להציג את תוצאות השאילתה, אפשר להגדיר את השדות של התצוגה החזותית שנבחרה, ואז לשמור את השאילתה והתוצאות בלוח בקרה בהתאמה אישית. הפורמט שנשמר הוא טבלה אם בחרתם באפשרות Table. אחרת, הפורמט הוא תרשים.

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

התאמה אישית של הגדרות התרשים

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

שינוי סוג התרשים

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

  • תרשים עמודות (ברירת המחדל): תרשימי עמודות מציגים נתונים בשני צירים. אם התרשים משתמש בקטגוריה או במחרוזת בתור המאפיין, אתם יכולים להגדיר את התצורה של תרשים העמודות לאופקי או לאנכי, שבהם הצירים של המאפיין והמדד מוחלפים.

  • תרשים קו: תרשימי קו יכולים לשמש להצגת שינויים בנתונים לאורך זמן. כשמשתמשים בתרשים קו, כל סדרת זמנים מוצגת בקו אחר שתואם למדדים שבחרתם.

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

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

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

  • טבלה: בטבלה מוצגת שורה אחת לכל שורה בתוצאת השאילתה. העמודות בטבלה מוגדרות על ידי המשפט SELECT. אם אתם מתכננים להציג נתונים בטבלה בלוח בקרה, השתמשו בסעיף LIMIT כדי להגביל את מספר השורות בתוצאה לפחות מכמה מאות.

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

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

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

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

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

      SELECT TIMESTAMP_TRUNC(start_time, HOUR) AS hour,
         COALESCE(
            JSON_VALUE(resource.attributes, '$."service.name"'),
            JSON_VALUE(attributes, '$."service.name"'),
            JSON_VALUE(attributes, '$."g.co/gae/app/module"')) AS service_name,
         status.code AS status,
         COUNT(*) AS count
      FROM `PROJECT_ID.LOCATION._Trace.Spans._AllSpans`
      GROUP BY hour, service_name, status
      ORDER BY hour DESC
      LIMIT 1000

      המשמעות של השדות בביטוי הקודם:

      השאילתה הקודמת שימשה ליצירת התרשים שמוצג בתחילת המסמך הזה. באיור הזה מוצגת גם הגדרת התרשים.

    • מגדירים את המאפיין כך שיתאים לעמודה שמדווחת על יחידת הזמן. לדוגמה, אם השאילתה צוברת נתונים לפי שעה ויוצרת עמודה בשם hour, צריך להגדיר את התפריט Dimension לערך hour.

    • בוחרים באפשרות Disable interval כי השאילתה כבר מציינת את מרווח הצבירה. בדוגמה, המרווח הזה הוא שעה אחת.

    • מגדירים את Measure לעמודה המספרית, ומגדירים את הפונקציה ל-none.

    אם אתם רוצים להסתמך על Observability Analytics כדי לבצע את הצבירה לפי זמן, בצעו את הפעולות הבאות:

    • מגדירים את בורר טווח התאריכים, שמשפיע על מספר השורות בתוצאות השאילתה.
    • מגדירים את המאפיין כך שיתאים לעמודה שמדווחת על יחידת הזמן. לדוגמה, אפשר להגדיר את התפריט הזה לערך timestamp.
    • בתפריט Interval, מגדירים מרווח צבירה ספציפי. לדוגמה, מגדירים את הערך של השדה הזה בתור 1 hour. אל תבחרו באפשרות Automatic interval.
    • מגדירים את Measure לעמודה המספרית ובוחרים פונקציה כמו sum.

שינוי המאפיין והמדד

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

  • מאפיין

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

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

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

  • מדידה

    אפשר לבחור כמה מדדים בחלונית Chart display. כשבוחרים מדד, צריך גם לבחור את פונקציית הצבירה שתתבצע על הערכים המקובצים שלו, כמו count,‏ sum,‏ average ו-percentile-99. לדוגמה, הפונקציה count-distinct מחזירה את מספר הערכים הייחודיים בעמודה נתונה.

    אם מסמנים את התיבה Disable interval במאפיין, אפשר לבחור בפונקציית הצבירה none. אם המאפיין הוא ערך מחרוזת, תיבת הסימון Disable interval לא מוצגת. עם זאת, אם מגדירים את פונקציות הצבירה של המדד לערך none, גם המרווח מושבת.

הוספת פירוט

כדי לפצל סדרת נתונים אחת לכמה סדרות נתונים על סמך עמודה אחרת, מוסיפים פירוט.

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

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

דוגמה ללוח בקרה שמציג את השימוש בקטגוריות של Cloud Storage.

יצירה והצגה של דוגמאות למעקב

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

דרישות להגדרת התכונה

כדי להציג דגימות, התנאים הבאים צריכים להתקיים:

  • השאילתה של התרשים כתובה ב-SQL והיעד של השאילתה הוא נתוני המעקב.
  • התרשים מוצג כתרשים קו או כתרשים עמודות.
  • השדות trace_id ו-start_time הם חלק מתוצאות השאילתה.

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

איך המערכת יוצרת דוגמאות

המערכת מיישמת אסטרטגיית בחירה חכמה של דגימות כדי לשמור על דוגמאות קריאות ורלוונטיות:

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

מגבלות

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

שמירת תרשים במרכז בקרה בהתאמה אישית

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

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

כדי לשמור את התרשים במרכז בקרה:

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

    כניסה לדף Observability Analytics

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

  2. מריצים שאילתה כדי ליצור תרשים ולוחצים על Save to dashboard.

  3. בתיבת הדו-שיח Save to dashboard, נותנים שם לתרשים ובוחרים את מרכז הבקרה שבו רוצים לשמור את התרשים.

  4. אופציונלי: כדי לראות את מרכז הבקרה בהתאמה אישית, לוחצים על View dashboard בהודעה הקצרה.

כדי לראות רשימה של מרכזי בקרה בהתאמה אישית שכוללים תרשימים שנוצרו על ידי שאילתות SQL, עוברים ללחצן Save to dashboard ולוחצים על Menu.

עריכת תרשים שנשמר במרכז בקרה בהתאמה אישית

אפשר לשנות תרשים אחרי ששומרים אותו במרכז בקרה. למידע נוסף, קראו את המאמר שינוי ההגדרות של ווידג'ט. בתיבת הדו-שיח Configure widget, אתם יכולים לבצע את הפעולות הבאות:

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

מגבלות

  • אם הפרויקט שלכם ב- Google Cloud נמצא בתיקייה שמשתמשת ב-Assured Workloads, התרשימים שתיצרו לא יוכלו להופיע במרכז בקרה בהתאמה אישית.

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

  • בעמודות שנבחרו צריכה להיות לפחות שורה אחת עם ערך שאינו null.

  • אם שומרים שאילתה ומתאימים אישית את הגדרות התרשים, ההגדרות המותאמות אישית של התרשים לא נשמרות.

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

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

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