שליחת שאילתות וניתוח יומנים באמצעות Observability Analytics

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

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

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

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

מידע על מערכי נתונים מקושרים של BigQuery

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

אתם צריכים לקשר קבוצת נתונים ב-BigQuery אם אתם רוצים:

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

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

בקטע הזה מתוארים השלבים שצריך לבצע לפני שמשתמשים ב-Observability Analytics.

הגדרת קטגוריות ביומן

מוודאים ששדרגתם את קטגוריות היומנים לשימוש ב-Observability Analytics:

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

    נכנסים לדף Logs Storage.

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

  2. בכל קטגוריית יומנים שיש בה תצוגת יומנים שרוצים לשלוח אליה שאילתה, מוודאים שבעמודה Observability Analytics available מופיע הערך Open. אם מופיע הכפתור Upgrade, לוחצים עליו ומשלימים את תיבת הדו-שיח.

הגדרת תפקידים והרשאות ב-IAM

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

  • כדי לקבל את ההרשאות שדרושות לשימוש ב-Observability Analytics ולשאילתות בתצוגות של יומנים, בקשו מהאדמין להקצות לכם את התפקידים הבאים ב-IAM בפרויקט:

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

    אלה אותן הרשאות שנדרשות כדי להציג רשומות ביומן בדף Logs Explorer. במאמר תפקידים ב-Cloud Logging מפורט מידע על תפקידים נוספים שנדרשים כדי לשלוח שאילתות לתצוגות של קטגוריות בהגדרת המשתמש, או כדי לשלוח שאילתות לתצוגה _AllLogs של קטגוריית היומנים _Default.

  • כדי לקבל את ההרשאות שנדרשות לשליחת שאילתות לתצוגות של ניתוח נתונים, בקשו מהאדמין להקצות לכם את התפקיד משתמש ב-Observability Analytics (roles/observability.analyticsUser) ב-IAM בפרויקט.

נתוני יומן השאילתות

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

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

טעינה, עריכה והרצה של השאילתה שמוגדרת במערכת

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

    כניסה לדף Observability Analytics

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

  2. בתפריט Views, עוברים לקטע Logs או לקטע Analytics Views ובוחרים את תצוגת ניתוח הנתונים שרוצים לשלוח אליה שאילתה.

    כדי למצוא את התצוגה שרוצים לשלוח אליה שאילתה, משתמשים בסרגל Filter או גוללים ברשימה:

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

  3. מבצעים אחת מהפעולות הבאות:

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

    • כדי לטעון שאילתה שמוגדרת על ידי המערכת ומחלצת ערכי JSON, צריך לוודא שבחלונית Query מוצג עורך ה-SQL. אם בחלונית הזו מוצג הכלי ליצירת שאילתות, לוחצים על  SQL.

  4. בחלונית Schema, בוחרים באפשרות Query ולוחצים על Overwrite.

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

  5. אופציונלי: משנים את השאילתה.

  6. כדי להריץ את השאילתה, עוברים לסרגל הכלים ולוחצים על Run Query.

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

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

הזנה והרצה של שאילתה בהתאמה אישית

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

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

    כניסה לדף Observability Analytics

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

  2. בחלונית Query, לוחצים על  SQL.

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

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

    • אפשר לשלוח שאילתות לתצוגות של יומנים או לתצוגות ניתוח נתונים. צריך להשתמש בפורמט הבא לסעיף FROM:

      • תצוגות ביומן:
        FROM `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
      • תצוגות ניתוח נתונים:
        FROM `analytics_view.PROJECT_ID.LOCATION.ANALYTICS_VIEW_ID`

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

      • ‫PROJECT_ID: מזהה הפרויקט.
      • ‫LOCATION: המיקום של תצוגת היומן או של תצוגת ניתוח הנתונים.
      • ‫BUCKET_ID: השם או המזהה של קטגוריית היומנים.
      • ‫LOG_VIEW_ID: המזהה של תצוגת היומן, שמוגבל ל-100 תווים ויכול לכלול רק אותיות, ספרות, קווים תחתונים ומקפים.
      • ‫ANALYTICS_VIEW_ID: המזהה של תצוגת ניתוח הנתונים, שמוגבל ל-100 תווים ויכול לכלול רק אותיות, ספרות, קווים תחתונים ומקפים.

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

  3. כדי להריץ את השאילתה, עוברים לסרגל הכלים ולוחצים על Run Query.

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

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

איך יוצרים, עורכים ומריצים שאילתות

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

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

כדי ליצור שאילתה:

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

    כניסה לדף Observability Analytics

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

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

  3. בתפריט Source, בוחרים את התצוגה שרוצים לשלוח אליה שאילתה. הבחירות שלכם ממופות לסעיף FROM בשאילתת ה-SQL.

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

    • חיפוש בכל השדות: חיפוש מחרוזות תואמות. האפשרויות שבחרתם ממופות לסעיף WHERE בשאילתת ה-SQL.

    • עמודות: בוחרים את העמודות שיופיעו בטבלת התוצאות. האפשרויות שבחרתם ממופות לסעיפי SELECT בשאילתת ה-SQL.

      כשבוחרים שם של שדה בתפריט הזה, נפתחת תיבת דו-שיח. בתיבת הדו-שיח הזו אפשר לבצע את הפעולות הבאות:

      • משתמשים בתפריט כדי לצבור או לקבץ את הנתונים.

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

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

      • חלץ תת-מחרוזת של ערכים באמצעות ביטויים רגולריים. מידע נוסף מופיע במאמרי העזרה של REGEXP_EXTRACT.

    • ‫Filters: מוסיפים מסננים כשרוצים להגביל את השאילתה לטווחים שמכילים מאפיין או מזהה טווח ספציפיים. בתפריט מופיעות כל אפשרויות הסינון הזמינות. האפשרויות שתבחרו ימופו לסעיף WHERE בשאילתת ה-SQL.

    • מיון לפי: הגדרת העמודות שלפיהן יתבצע המיון, וקביעה אם המיון יהיה בסדר עולה או יורד. האפשרויות שתבחרו ימופו לסעיף ORDER BY בשאילתת ה-SQL.

    • ‫Limit (מגבלה): מגדירים את מספר השורות המקסימלי בטבלת התוצאות. הבחירות שלכם ממופות לסעיף LIMIT בשאילתת ה-SQL.

  5. כדי להריץ את השאילתה, עוברים לסרגל הכלים ולוחצים על Run Query.

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

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

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

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

לכל שדה שבוחרים ברכיב Columns יש תפריט מצורף עם האפשרויות הבאות:

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

בדוגמה הבאה מוסבר איך להשתמש בכלי ליצירת שאילתות כדי לקבץ רשומות ביומן לפי חומרה וחותמת זמן, ואז לחשב את הממוצע של השדה http_request.response_size לכל קבוצה:

  1. בתפריט Columns, בוחרים את השדות timestamp,‏ severity ו-http_request.response_size.

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

    2. כדי לבצע צבירה בשדה http_request.response_size, לוחצים על השדה כדי לפתוח את תיבת הדו-שיח של ההגדרות. בתיבת הדו-שיח הזו, בוחרים באפשרות Aggregate. בתפריט Aggregation, לוחצים על Average.

  2. בתפריט Filters, מוסיפים את http_request.response_size ומגדירים את ההשוואה ל-IS NOT NULL. המסנן הזה תואם לרשומות ביומן שמכילות ערך של response_size.

    התפריטים של הכלי ליצירת שאילתות נראים בערך כך:

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

  3. כדי להריץ את השאילתה, עוברים לסרגל הכלים ולוחצים על הפעלת השאילתה.

    התוצאה של השאילתה הזו דומה לתוצאה הבאה:

    +-----------------------------------+----------+---------------+
    | Row | hour_timestamp              | severity | response_size |
    |     | TIMESTAMP                   | STRING   | INTEGER       |
    +-----+-----------------------------+----------+---------------+
    | 1   | 2025-10-06 16:00:00.000 UTC | NOTICE   | 3082          |
    | 2   | 2025-10-06 17:00:00.000 UTC | WARNING  | 338           |
    | 3   | 2025-10-06 16:00:00.000 UTC | INFO     | 149           |
    

שאילתת ה-SQL המתאימה לדוגמה הקודמת היא:

SELECT
  -- Truncate the timestamp by hour.
  TIMESTAMP_TRUNC( timestamp, HOUR ) AS hour_timestamp,
  severity,
  -- Compute average response_size.
  AVG( http_request.response_size ) AS average_http_request_response_size
FROM
  `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
WHERE
  -- Matches log entries that have a response_size.
  http_request.response_size IS NOT NULL
GROUP BY
  -- Group log entries by timestamp and severity.
  TIMESTAMP_TRUNC( timestamp, HOUR ),
  severity
LIMIT
  1000

הצגת הסכימה

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

כדי לזהות את הסכימה:

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

    כניסה לדף Observability Analytics

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

  2. בתפריט Views, עוברים לקטע Logs או לקטע Analytics Views ובוחרים את תצוגת ניתוח הנתונים שרוצים לשלוח אליה שאילתה.

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

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

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