שליחת שאילתות וניתוח יומנים באמצעות 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. אם הכפתור שדרוג מוצג, לוחצים עליו וממלאים את תיבת הדו-שיח.

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

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

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

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

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

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

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

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

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

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

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

    עוברים אל Observability Analytics

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    עוברים אל Observability Analytics

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

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

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

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

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

      • תצוגות ביומן:
        FROM `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
      • תצוגות מפורטות ב-Analytics:
        FROM `analytics_view.PROJECT_ID.LOCATION.ANALYTICS_VIEW_ID`

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

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

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

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

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

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

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

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

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

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

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

    עוברים אל Observability Analytics

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. בתפריט עמודות, בוחרים בשדות timestamp, severity ו-http_request.response_size.

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

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

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

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

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

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

    התוצאות של השאילתה הזו אמורות להיראות כך:

    +-----------------------------------+----------+---------------+
    | 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 (תצוגות ב-Analytics) של (פלח) או (טבלת נתונים), ובוחרים את התצוגה שרוצים לשלוח אליה שאילתה.

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

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

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