בעזרת Observability Analytics אתם יכולים להעריך את הנפח לחיוב של רשומות היומן, כדי להבין ולנהל את עלויות הרישום ביומן. אתם יכולים לכתוב שאילתות SQL כדי לצבור את נפח היומנים לפי מאפיינים כמו סוג המשאב או שם האפליקציה, ואז להציג את התוצאות או ליצור מהן תרשים.
איך שולחים שאילתה לגבי נפח ניתן לחיוב
הנפח הניתן לחיוב של רשומה ביומן, שהוא הגודל שמדווח לחיוב ב-Cloud, זמין דרך השדה storage_bytes.
בשאילתות, אתם יכולים להשתמש בשדה storage_bytes באותו אופן שבו אתם משתמשים בכל שדה סכימה שסוג הנתונים שלו הוא INTEGER.
לדוגמה, אפשר לכלול אותו בסעיפי SELECT, בהצהרות CASE ובביטויים נפוצים של טבלאות.
למידע נוסף על שליחת שאילתות על היומנים, ראו את המאמרים הבאים:
מכיוון שהחיוב ב-Cloud מבוסס על הנפח שניתן לחיוב, אתם יכולים לכתוב שאילתות שיעזרו לכם להבין את מקורות העלויות. לדוגמה, אתם יכולים לכתוב שאילתות שיעזרו לכם לקבוע אילו אפליקציות כותבות הכי הרבה רשומות ביומן. כדי להבין איך נפח ניתן לחיוב קשור לעלות, קראו את הקטעים שעוסקים ב-Cloud Logging בדף התמחור של Google Cloud Observability.
הנפח הניתן לחיוב של רשומה ביומן הוא לא הגודל של האובייקט LogEntry שנשלח ל-Cloud Logging API. הנפח הניתן לחיוב כולל בייטים שנדרשים לסריאליזציה ולמטא-נתונים.
לפני שמתחילים
בקטע הזה מוסבר מה צריך לעשות לפני שמשתמשים ב-Observability Analytics.
הגדרת קטגוריות ביומן
מוודאים ששדרגתם את קטגוריות היומנים לשימוש ב-Observability Analytics:
-
נכנסים לדף Logs Storage במסוף Google Cloud :
אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה עם כותרת המשנה Logging.
- בכל מאגר של יומנים שיש בו תצוגת יומנים שרוצים לשלוח אליה שאילתה, מוודאים שבעמודה Observability Analytics available מופיע הערך Open. אם מופיע הכפתור Upgrade, לוחצים עליו ומשלימים את תיבת הדו-שיח.
הגדרת תפקידים והרשאות ב-IAM
בקטע הזה מתוארים התפקידים או ההרשאות של IAM שנדרשים כדי להשתמש ב-Observability Analytics:
-
כדי לקבל את ההרשאות שנדרשות לשימוש ב-Observability Analytics ולשאילתות בתצוגות של יומנים, בקשו מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
כדי לשלוח שאילתות לדליים של היומנים
_Requiredו-_Default: צפייה ביומנים (roles/logging.viewer) -
כדי לשלוח שאילתות לכל תצוגות היומנים בפרויקט: גישה לתצוגות של יומנים (
roles/logging.viewAccessor)
כדי להגביל חשבון משתמש לתצוגת יומנים ספציפית, אתם יכולים להוסיף תנאי IAM להקצאת התפקיד "גישה לתצוגת יומנים" ברמת הפרויקט, או להוסיף קישור IAM לקובץ המדיניות של תצוגת היומנים. מידע נוסף זמין במאמר שליטה בגישה לתצוגת יומנים.
אלה אותן הרשאות שנדרשות כדי להציג רשומות ביומן בדף Logs Explorer. במאמר תפקידים ב-Cloud Logging מפורטים תפקידים נוספים שנדרשים כדי לשלוח שאילתות לתצוגות של קטגוריות בהגדרת המשתמש, או כדי לשלוח שאילתות לתצוגה
_AllLogsשל קטגוריית היומנים_Default. -
כדי לשלוח שאילתות לדליים של היומנים
-
כדי לקבל את ההרשאות שנדרשות לשליחת שאילתות לתצוגות ניתוח נתונים, בקשו מהאדמין להקצות לכם בפרויקט את התפקיד משתמש ב-Observability Analytics (
roles/observability.analyticsUser) ב-IAM.
שאילתות לדוגמה
בקטע הזה מופיעות דוגמאות לשאילתות שמנתחות נתונים מתצוגת יומנים אחת.
אם אתם מאחסנים נתונים בכמה תצוגות של יומנים ואתם רוצים לחשב ערכים נצברים של נתונים שמאוחסנים בתצוגות האלה, אתם צריכים להשתמש בהצהרה UNION.
אתם יכולים להריץ שאילתות על רשומות ביומן באמצעות הדף Observability Analytics או בכל מקום שבו אפשר להריץ שאילתות על מערכי נתונים של BigQuery, כולל הדפים BigQuery Studio ו-Looker Studio וכלי שורת הפקודה של BigQuery.
כדי להשתמש בשאילתות לדוגמה:
הדף Observability Analytics: מחליפים את VIEW בשם של תצוגת היומן. הפורמט הוא
project_ID.region.bucket_ID.view_ID.מערכי נתונים ב-BigQuery: מחליפים את VIEW בנתיב לטבלה במערך הנתונים המקושר ב-BigQuery.
שאילתה לגבי נפח היומנים לפי אפליקציה
כדי לחשב את סך הבייטים ליום, לכל אפליקציה, עבור רשומות ביומן שנכתבו כנגד משאב של Google Kubernetes Engine ויש להן מטען ייעודי (payload) של JSON, משתמשים בשאילתה הבאה:
SELECT
timestamp_trunc(timestamp,DAY) as day,
JSON_VALUE(labels["k8s-pod/app"]) as app_id,
SUM(storage_bytes) as total_bytes
FROM
`VIEW`
WHERE
json_payload IS NOT NULL
AND resource.type="k8s_container"
GROUP BY ALL
כדי להציג את הנתונים באופן חזותי, אפשר ליצור תרשים.
בדוגמה הבאה, הנתונים מוצגים בתרשים עמודות אופקי מוערם. כל עמודה בתרשים מציגה את המספר הכולל של הבייטים שמאוחסנים, לפי אפליקציה. בדוגמה הזו, האפליקציה frontend יוצרת את הכמות הגדולה ביותר של נתוני יומן:
שאילתה לגבי נפח היומנים לפי שם היומן
כדי להציג את מספר הבייטים המאוחסנים ואת שם היומן של כל רשומת יומן שיש לה מטען ייעודי (payload) בפורמט JSON, ושנכתבה במשאב של Google Kubernetes Engine, משתמשים בשאילתה הבאה:
SELECT
log_id AS log_name,
storage_bytes
FROM
`VIEW`
WHERE
json_payload IS NOT NULL
AND resource.type="k8s_container"
השאילתה הקודמת לא צוברת את התוצאות, אלא יש שורה אחת לכל רשומת יומן, והשורה הזו מכילה את שם היומן ואת מספר הבייטים המאוחסנים. אם תציגו את הנתונים האלה בתרשים, תוכלו לראות את החלק של נתוני היומן שנכתבו ביומנים שונים:
בתרשים הקודם אפשר לראות שרוב נתוני היומן נכתבים ביומן שנקרא stdout.
שימוש בכלי שורת הפקודה של BigQuery כדי לשלוח שאילתות על נפח היומנים לפי שם היומן
אפשר לכלול את השדה storage_bytes בשאילתות שמריצים דרך הדף BigQuery Studio או באמצעות כלי שורת הפקודה של BigQuery.
השאילתה הבאה מדווחת על שם היומן ועל מספר הבייטים המאוחסנים בכל רשומה ביומן:
bq query --use_legacy_sql=false 'SELECT log_id as log_name,
storage_bytes FROM `VIEW`'
התוצאה של השאילתה הזו דומה לתוצאה הבאה:
+----------+---------------+
| log_name | storage_bytes |
+----------+---------------+
| stdout | 716 |
| stdout | 699 |
| stdout | 917 |
| stdout | 704 |
כל שורה תואמת לרשומה אחת ביומן. הערך של העמודה storage_bytes הוא הנפח שניתן לחיוב של רשומת היומן הזו.
מגבלות
השדה storage_bytes זמין רק אם מתקיימים התנאים הבאים:
- הדלי לשדרוג משודרג לשימוש ב-Observability Analytics.
השאילתה מופעלת בדף Observability Analytics או בכל מקום שבו אפשר להריץ שאילתות על מערכי נתונים של BigQuery, כולל הדפים BigQuery Studio ו-Looker Studio וכלי שורת הפקודה של BigQuery.
הרשומה ביומן נכתבה ב-1 בינואר 2024 או אחרי התאריך הזה.