בעזרת Observability Analytics אפשר להריץ שאילתות SQL על נתוני Cloud Trace כדי לגלות מגמות בביצועים, ליצור תובנות מצטברות ולהציג את התוצאות בתרשימים ובטבלאות. השאילתות מופעלות על התצוגה _AllSpans שמוגדרת כברירת מחדל, שכוללת את כל נתוני המעקב שמאוחסנים בפרויקט. אפשר לשמור את התוצאות בלוחות בקרה בהתאמה אישית.
אם רוצים לבדוק עקבות, יחידות לוגיות למעקב או מאפייני יחידות לוגיות למעקב ספציפיים, צריך להשתמש בדף Trace Explorer. מידע נוסף זמין במאמר בנושא איתור עקבות ובדיקתם.
מידע על מערכי נתונים מקושרים ב-BigQuery
לא צריך מערך נתונים מקושר ב-BigQuery כדי להריץ שאילתות על נתוני המעקב או על נתוני המעקב והיומן. בתרחישים האלה, אפשר להשתמש בדף Observability Analytics. מידע על שליחת שאילתות לנתוני יומנים מופיע במאמר שליחת שאילתות ליומנים וניתוח שלהם באמצעות Observability Analytics.
אתם צריכים מערך נתונים מקושר ב-BigQuery אם אתם רוצים לבצע את הפעולות הבאות:
- צירוף נתוני מעקב למערכי נתונים אחרים של BigQuery.
- הפעלת שאילתות על נתוני מעקב משירות אחר, כמו הדף BigQuery Studio או Data Studio.
- כדי לשפר את הביצועים של שאילתות Observability Analytics, אפשר להריץ אותן ביחידות קיבולת (slots) שמורות ב-BigQuery.
- מעקב אחרי תוצאות של שאילתות SQL באמצעות מדיניות התראות.
במאמר הזה לא מוסבר איך ליצור מערך נתונים מקושר ב-BigQuery או איך להגדיר את Observability Analytics להרצת שאילתות על משבצות שמורות. מידע על הנושאים האלה זמין במאמר יצירת מערך נתונים מקושר ב-BigQuery.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Observability API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Observability API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
כדי לקבל את ההרשאות שדרושות לטעינת הדף Observability Analytics, לכתיבה, להרצה ולשמירה של שאילתות פרטיות בנתוני המעקב, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
- Observability View Accessor (
roles/observability.viewAccessor) on the observability views that you want to query. התפקיד הזה תומך בתנאי IAM, שמאפשרים להגביל את ההרשאה לתצוגה ספציפית. אם לא מצרפים תנאי למתן התפקיד, לחשבון המשתמש תהיה גישה לכל תצוגות הנתונים של יכולת התצפית. - משתמש עם הרשאת ניתוח נתוני יכולת צפייה (
roles/observability.analyticsUser) בפרויקט. התפקיד הזה כולל את ההרשאות שנדרשות לשמירה ולהרצה של שאילתות פרטיות, ולהרצה של שאילתות משותפות.
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
- Observability View Accessor (
הצגת הסכימה
הסכימה מגדירה איך הנתונים מאוחסנים, כולל השדות וסוגי הנתונים שלהם. המידע הזה חשוב לכם כי הסכימה קובעת את השדות שאתם שולחים להם שאילתות ואם אתם צריכים להגדיר שדות לסוגי נתונים שונים. לדוגמה, כדי לכתוב שאילתה שמחשבת את זמן האחזור הממוצע של בקשות HTTP, צריך לדעת איך לגשת לשדה זמן האחזור, ואם הוא מאוחסן כמספר שלם כמו 100 או כמחרוזת כמו "100". אם נתוני ההשהיה מאוחסנים כמחרוזת, השאילתה צריכה להמיר את הערך לערך מספרי לפני חישוב הממוצע.
כדי לזהות את הסכימה:
-
נכנסים לדף manage_search Observability Analytics במסוף Google Cloud :
עוברים אל Observability Analytics
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
בתפריט Views, עוברים לקטע
Traces ובוחרים באפשרות _Trace.Spans._AllSpans.החלונית סכימה מתעדכנת. הכלי Observability Analytics מסיק באופן אוטומטי את השדות של עמודה כשסוג הנתונים הוא JSON. כדי לראות באיזו תדירות השדות האלה שנוצרו על סמך הסקה מופיעים בנתונים, לוחצים על more_vert אפשרויות ובוחרים באפשרות הצגת מידע ותיאור.
מידע על הסכימה זמין במאמר סכימת אחסון לנתוני מעקב.
אם לא מופיע תצוגה בשם
_Trace.Spans._AllSpans, סימן שהפרויקטGoogle Cloud לא מכיל קטגוריה של נתוני תצפית בשם_Trace. מידע על פתרון השגיאה הזו מופיע במאמר האתחול של אחסון הנתונים של Trace נכשל.
נתוני מעקב של שאילתות
בקטע הזה מתוארות הגישות שבהן אפשר להשתמש כדי לשלוח שאילתות לנתוני העקבות:
- טוענים שאילתה שהוגדרה על ידי המערכת, עורכים אותה ומריצים אותה.
- מזינים ומריצים שאילתה בהתאמה אישית. לדוגמה, אפשר להדביק שאילתה קיימת או לכתוב שאילתה חדשה. שאילתות בהתאמה אישית יכולות לכלול הצטרפויות, שאילתות מקוננות ומשפטי SQL מורכבים אחרים. דוגמאות אפשר לראות בשאילתות SQL לדוגמה.
- בוחרים אפשרויות בתפריט כדי ליצור שאילתה, ואז מריצים את השאילתה. הכלי Observability Analytics ממיר את הבחירות שלכם לשאילתת SQL, שאפשר גם לראות וגם לערוך.
טעינה, עריכה והרצה של שאילתה שמוגדרת על ידי המערכת
-
נכנסים לדף manage_search Observability Analytics במסוף Google Cloud :
עוברים אל Observability Analytics
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
בתפריט Views, עוברים לקטע
Traces ובוחרים באפשרות _Trace.Spans._AllSpans.אם לא מופיע תצוגה בשם
_Trace.Spans._AllSpans, סימן שהפרויקטGoogle Cloud לא מכיל קטגוריה של נתוני תצפית בשם_Trace. מידע על פתרון השגיאה הזו מופיע במאמר האתחול של אחסון הנתונים של Trace נכשל.מבצעים אחת מהפעולות הבאות:
כדי לטעון שאילתה שמוגדרת על ידי המערכת ומסתמכת על הכלי ליצירת שאילתות, שמאפשר להגדיר את השאילתה באמצעות בחירות בתפריט, מוודאים שבחלונית שאילתה מוצג הכלי ליצירת שאילתות. אם מוצג עורך SQL, לוחצים על tune Builder.
כדי לטעון שאילתה שמוגדרת על ידי המערכת ומחלצת ערכי JSON, מוודאים שבחלונית Query מוצג עורך ה-SQL. אם בחלונית מוצג הכלי ליצירת שאילתות, לוחצים על code SQL.
בחלונית סכימה, בוחרים באפשרות שאילתה ואז לוחצים על החלפה.
בחלונית Query מוצגת שאילתה שהוגדרה על ידי המערכת. אם בחרתם במצב הכלי ליצירת שאילתות אבל אתם רוצים לראות את שאילתת ה-SQL, לוחצים על code SQL.
אופציונלי: משנים את השאילתה.
כדי להריץ את השאילתה, עוברים לסרגל הכלים ולוחצים על Run Query (הרצת שאילתה).
תוצאות השאילתה מוצגות בטבלה ב-Observability Analytics. עם זאת, אפשר ליצור תרשים, ואפשר גם לשמור את הטבלה או התרשים במרכז בקרה בהתאמה אישית. מידע נוסף זמין במאמר בנושא יצירת תרשים של תוצאות שאילתת SQL.
אם בסרגל הכלים מוצגת האפשרות Run in BigQuery, צריך להחליף את מנוע השאילתות של Observability Analytics למנוע ברירת המחדל. כדי לבצע את השינוי הזה, בסרגל הכלים של החלונית שאילתה, לוחצים על settings הגדרות ואז בוחרים באפשרות Analytics (ברירת מחדל).
הזנה והרצה של שאילתה בהתאמה אישית
כדי להזין שאילתת SQL:
-
נכנסים לדף manage_search Observability Analytics במסוף Google Cloud :
עוברים אל Observability Analytics
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
בחלונית Query, לוחצים על code SQL.
כדי לציין טווח זמן, מומלץ להשתמש בבורר time-range. אם מוסיפים פסקה
WHEREשמציינת את השדהtimestamp, הערך הזה מבטל את ההגדרה בכלי לבחירת טווח התאריכים, והכלי הזה מושבת.דוגמאות אפשר לראות בשאילתות SQL לדוגמה.
בכלי לעריכת SQL מוצג השם המוגדר במלואו של התצוגה
_Trace.Spans._AllSpans, שמופיע בפורמט הבא:FROM `PROJECT_ID.LOCATION._Trace.Spans._AllSpans`
השדות בביטוי הקודם מייצגים את הדברים הבאים:
- PROJECT_ID: מזהה הפרויקט.
- LOCATION: המיקום של קטגוריית הנתונים של יכולת התצפית.
אם בחלונית השאילתה מוצגת הודעת שגיאה שמתייחסת להצהרה
FROM, המשמעות היא שלא ניתן למצוא את התצוגה. מידע על פתרון הבעיה הזו מופיע במאמר הודעת שגיאה שמודיעה שתצוגה לא קיימת.
כדי להריץ את השאילתה, עוברים לסרגל הכלים ולוחצים על Run Query (הרצת שאילתה).
תוצאות השאילתה מוצגות בטבלה ב-Observability Analytics. עם זאת, אפשר ליצור תרשים, ואפשר גם לשמור את הטבלה או התרשים במרכז בקרה בהתאמה אישית. מידע נוסף זמין במאמר בנושא יצירת תרשים של תוצאות שאילתת SQL.
אם בסרגל הכלים מוצגת האפשרות Run in BigQuery, צריך להחליף את מנוע השאילתות של Observability Analytics למנוע ברירת המחדל. כדי לבצע את השינוי הזה, בסרגל הכלים של החלונית שאילתה, לוחצים על settings הגדרות ואז בוחרים באפשרות Analytics (ברירת מחדל).
איך בונים, עורכים ומריצים שאילתה
בממשק הכלי ליצירת שאילתות אפשר ליצור שאילתה על ידי בחירה מתוך תפריטים. הכלי Observability Analytics ממיר את הבחירות שלכם לשאילתת SQL, שאפשר לראות ולערוך. לדוגמה, אפשר להתחיל להשתמש בממשק של כלי ליצירת שאילתות ואז לעבור לעורך ה-SQL כדי לשפר את השאילתה.
תמיד אפשר להמיר את הבחירות בתפריט מתוך הממשק של הכלי ליצירת שאילתות לשאילתת SQL ב-Observability Analytics. עם זאת, לא כל שאילתות ה-SQL יכולות להיות מיוצגות בממשק של כלי ליצירת שאילתות. לדוגמה, אי אפשר להציג בממשק הזה שאילתות עם הצטרפות.
כדי ליצור שאילתה:
-
נכנסים לדף manage_search Observability Analytics במסוף Google Cloud :
עוברים אל Observability Analytics
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
אם בחלונית Query מוצג עורך SQL, בוחרים באפשרות tune Builder כדי לפתוח את החלונית הכלי ליצירת שאילתות.
בתפריט מקור בוחרים את התצוגה שרוצים לשלוח אליה שאילתה. הבחירות שלכם ממופות לסעיף
FROMבשאילתת ה-SQL.אופציונלי: אפשר להשתמש בתפריטים הבאים כדי להגביל את טבלת התוצאות או לעצב אותה:
חיפוש בכל השדות: חיפוש מחרוזות תואמות. הבחירות שלכם ממופות לסעיף
WHEREבשאילתת ה-SQL.עמודות: בוחרים את העמודות שיופיעו בטבלת התוצאות. הבחירות שלכם ממופות לסעיפים
SELECTבשאילתת ה-SQL.כשבוחרים שם של שדה בתפריט הזה, נפתחת תיבת דו-שיח. בתיבת הדו-שיח הזו, אפשר לבצע את הפעולות הבאות:
משתמשים בתפריט כדי לצבור או לקבץ את הנתונים.
כדי למנוע שגיאות תחביר, כל צבירה וקיבוץ שאתם מגדירים בעמודה אחת מוגדרים באופן אוטומטי גם בעמודות אחרות. דוגמה לאופן צבירה וקיבוץ של רשומות מופיעה במאמר קיבוץ וצבירה של נתונים באמצעות הכלי ליצירת שאילתות.
המרת ערך מכל סוג לסוג נתונים אחר שצוין. מידע נוסף זמין במאמרי העזרה בנושא
CAST.חילוץ מחרוזת משנה של ערכים באמצעות ביטויים רגולריים. מידע נוסף זמין במאמרי העזרה בנושא
REGEXP_EXTRACT.
מסננים: מוסיפים מסננים כשרוצים להגביל את השאילתה לטווחים שמכילים מאפיין ספציפי או מזהה טווח. בתפריט מופיעות כל אפשרויות הסינון הזמינות. הבחירות שלכם ממופות לסעיף
WHEREבשאילתת ה-SQL.מיון לפי: הגדרת העמודות למיון, והאם המיון הוא בסדר עולה או יורד. הבחירות שלכם ממופות לסעיף
ORDER BYבשאילתת ה-SQL.Limit (מגבלה): הגדרת מספר השורות המקסימלי בטבלת התוצאות. הבחירות שלכם ממופות לסעיף
LIMITבשאילתת ה-SQL.
כדי להריץ את השאילתה, עוברים לסרגל הכלים ולוחצים על Run Query (הרצת שאילתה).
תוצאות השאילתה מוצגות בטבלה ב-Observability Analytics. עם זאת, אפשר ליצור תרשים, ואפשר גם לשמור את הטבלה או התרשים במרכז בקרה בהתאמה אישית. מידע נוסף זמין במאמר בנושא יצירת תרשים של תוצאות שאילתת SQL.
אם בסרגל הכלים מוצגת האפשרות Run in BigQuery, צריך להחליף את מנוע השאילתות של Observability Analytics למנוע ברירת המחדל. כדי לבצע את השינוי הזה, בסרגל הכלים של החלונית שאילתה, לוחצים על settings הגדרות ואז בוחרים באפשרות Analytics (ברירת מחדל).
דוגמה: קיבוץ וצבירה של נתונים באמצעות הכלי ליצירת שאילתות
כשבוחרים עמודה בכלי ליצירת שאילתות, כל שדה כולל תפריט שבו אפשר להוסיף קיבוץ וצבירה. קיבוץ מאפשר לארגן את הנתונים בקבוצות על סמך הערך של עמודה אחת או יותר, וצבירה מאפשרת לבצע חישובים על הקבוצות האלה כדי להחזיר ערך יחיד.
לכל שדה שבוחרים ברכיב עמודות יש תפריט מצורף עם האפשרויות הבאות:
- ללא: לא מתבצע קיבוץ או צבירה לפי השדה הזה.
- Aggregate: קיבוץ השדות שמופיעים ברכיב Columns, אלא אם השדה כולל בחירה של Aggregate. לגבי השדות האלה, מחשבים את הערך על ידי ביצוע פעולה על כל הרשומות בכל קבוצה. הפעולה יכולה להיות חישוב הממוצע של שדה או פעולה כמו ספירת מספר הערכים בכל קיבוץ.
- קיבוץ לפי: קיבוץ הרשומות לפי כל השדות שמופיעים ברכיב עמודות.
בדוגמה הזו מוצג איך להשתמש בהכלי ליצירת שאילתות כדי לקבץ יחידות לוגיות למעקב לפי שעת התחלה, שם היחידה הלוגית למעקב וסיווג היחידה הלוגית למעקב, ואז לחשב את משך הזמן הממוצע בננו-שניות לכל קבוצה:
- בתפריט עמודות, בוחרים בשדות
start_time,name,kindו-duration_nano. - כדי לקצר את שעת ההתחלה לשעה, מרחיבים את התפריט בעמודה
start_timeובוחרים באפשרות Group By (קיבוץ לפי). מוודאים שהתפריט 'רמת הפירוט' מוגדר לשעה. לוחצים על אישור.
כשבוחרים באפשרות קיבוץ לפי עבור עמודה כלשהי, המערכת מקבצת את הרשומות לפי כל העמודות. בדוגמה הזו, הרשומות מקובצות לפי הערך שקוצר של
start_time, שם היחידה הלוגית למעקב, סיווג היחידה הלוגית למעקב והערך של משך הזמן.עם זאת, המטרה בדוגמה הזו היא לקבץ את הרשומות לפי הזמן הקטום, שם הטווח וסוג הטווח, ואז לחשב את משך הזמן הממוצע לכל קבוצה. בשלב הבא, משנים את הקיבוץ ומוסיפים צבירה.
מרחיבים את התפריט בשדה
duration_nano, בוחרים באפשרות Aggregate ומגדירים את השדה Aggregation לערך Average.כשמריצים את השאילתה, כל שורה מתאימה לקבוצה, שמורכבת מזמן קטום, שם טווח וסוג טווח. הערך האחרון בכל שורה הוא משך הזמן הממוצע של כל הערכים בקבוצה הזו.
התוצאה של השאילתה הזו דומה לתוצאה הבאה:
+-----------------------------------+----------------+----------+-----------------------+ | Row | hour_timestamp | span_name | kind | average_duration_nano | | | TIMESTAMP | STRING | INTEGER | FLOAT | +-----+-----------------------------+-----------+---------------+-----------------------+ | 1 | 2025-10-09 13:00:00.000 EDT | http.receive | 3 | 122138.22813990474 | 2 | 2025-10-09 13:00:00.000 EDT | query.request | 1 | 6740819304.390297 | 3 | 2025-10-09 13:00:00.000 EDT | client.handler | 2 | 6739339098.409376השאילתה יכולה לכלול כמה צבירות. לדוגמה, כדי להוסיף עמודה שסופרת את מספר הערכים בכל קבוצה, מבצעים את הפעולות הבאות:
- ברכיב Columns (עמודות), לוחצים על Add column (הוספת עמודה).
- בוחרים באפשרות הכול (*).
- בתיבת הדו-שיח, בוחרים באפשרות צבירה, בוחרים באפשרות ספירה בקטע צבירה ואז בוחרים באפשרות החלה.
בעקבות השינוי הזה, הקיבוץ נשאר זהה. הערכים מקובצים לפי שעת ההתחלה הקצרה, שם הטווח וסוג הטווח. עם זאת, לכל קבוצה, השאילתה מחשבת את משך הזמן הממוצע ואת מספר הרשומות.
שאילתת ה-SQL המתאימה לדוגמה הקודמת היא:
WITH
scope_query AS (
SELECT
*
FROM
`PROJECT_ID.us._Trace.Spans._AllSpans` )
SELECT
-- Report the truncated start time, span name, span kind, average duration and number
-- of entries for each group.
TIMESTAMP_TRUNC( start_time, HOUR ) AS hour_start_time,
name AS span_name,
kind,
AVG( duration_nano ) AS average_duration_nano,
COUNT( * ) AS count_all
FROM
scope_query
GROUP BY
TIMESTAMP_TRUNC( start_time, HOUR ),
name,
kind
LIMIT
100
המאמרים הבאים
- סקירה כללית על אחסון של נתוני מעקב
- שמירה ושיתוף של שאילתת SQL
- יצירת תרשים של תוצאות שאילתת SQL
- שאילתות SQL לדוגמה
- יצירת מערך נתונים מקושר של BigQuery