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

במסמך הזה מוסבר איך ליצור תרשים של תוצאות שאילתות SQL שמריצים בדף Observability Analytics. תרשימים יכולים לעזור לכם לזהות דפוסים ומגמות בנתונים. במאמר הזה מוסבר גם איך לשמור את התרשים במרכז בקרה בהתאמה אישית.

בצילום המסך הבא מוצגות התוצאות של שאילתה לדוגמה, שמתוארת בהמשך המאמר הזה. צילום המסך מציג את הסטטוס שדווח על ידי טווחים, אחרי צבירת התגובות לפי זמן ולפי 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.

    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, לכתיבה ולהרצה של שאילתות על נתוני המעקב ולשמירה של תרשימים בלוחות בקרה בהתאמה אישית, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

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

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

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

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

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

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

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

    עוברים אל Observability Analytics

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

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

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

    • טבלה: עיצוב טבלאי בלבד.

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

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

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

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

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

אפשר להתאים אישית את הגדרות התרשים על ידי שינוי סוג התרשים, בחירת המאפיין והמדד שיוצגו בתרשים והוספת פילוח. המאפיין Dimension משמש לקיבוץ או לסיווג של שורות, והוא הערך בציר ה-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, צריך להגדיר את התפריט מאפיין לערך hour.

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

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

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

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

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

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

  • מאפיין

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

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

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

  • מדידה

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

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

הוספת פירוט

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

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

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

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

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

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

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

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

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

    עוברים אל Observability Analytics

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

  2. מריצים שאילתה כדי ליצור תרשים, ואז לוחצים על שמירת התרשים בכרטיסייה תרשים.

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

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

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

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

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

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

מגבלות

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

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

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

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

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

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

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