במאמר הזה מוסבר איך ליצור תרשים של תוצאות השאילתות ב-Log Analytics, כדי לזהות דפוסים ומגמות בנתוני היומן. בעזרת שאילתות SQL, אפשר לחפש ביומנים ולצבור אותם ב-Log Analytics כדי לקבל תובנות שימושיות.
אחרי שמריצים שאילתה, אפשר לראות את התוצאות שלה בטבלה או להמיר אותן לתרשים. אפשר גם לשמור את השאילתה ואת התצוגה החזותית שלה במרכז בקרה.
לדוגמה, כדי לראות אילו סוגי חומרה נוצרים ביומנים, יוצרים תרשים שמציג את מספר היומנים שנוצרו ב-12 השעות האחרונות ומפרקים את היומנים לפי severity. בצילום המסך הבא אפשר לראות נקודות נתונים שמחולקות לסוגים שונים של חומרת הבעיה:
לפני שמתחילים
בקטע הזה מתוארים השלבים שצריך להשלים כדי להשתמש ב-Log Analytics.
הגדרת מאגרי יומנים
מוודאים ששדרגתם את מאגרי היומנים לשימוש ב-Log Analytics:
-
נכנסים לדף Logs Storage במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
- לכל קטגוריה ביומן שיש לה תצוגת יומנים שרוצים לשלוח אליה שאילתה, מוודאים שבעמודה Log Analytics available מופיעה האפשרות Open. אם הכפתור שדרוג מוצג, לוחצים עליו וממלאים את תיבת הדו-שיח.
הגדרת תפקידים והרשאות ב-IAM
בקטע הזה מתוארים התפקידים או ההרשאות של IAM שנדרשים לשימוש ב-Log Analytics:
-
כדי לקבל את ההרשאות שדרושות לשימוש בכלי לניתוח יומנים ולשאילתות של תצוגות יומנים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
כדי להריץ שאילתה על דלי היומנים
_Requiredו-_Default: מציג היומנים (roles/logging.viewer) -
כדי לשלוח שאילתה לכל תצוגות היומן בפרויקט:
בעל הרשאת גישה לתצוגת יומנים (
roles/logging.viewAccessor)
כדי להגביל חשבון משתמש לתצוגת יומן ספציפית, אפשר להוסיף תנאי IAM להענקת התפקיד Logs View Accessor (גישה לתצוגת יומנים) ברמת הפרויקט, או להוסיף קישור IAM לקובץ המדיניות של תצוגת היומן. מידע נוסף זמין במאמר בנושא שליטה בגישה לתצוגת יומן.
אלה אותן הרשאות שנדרשות כדי לצפות ברשומות ביומן בדף Logs Explorer. מידע על תפקידים נוספים שנדרשים כדי לשלוח שאילתות לתצוגות של מאגרי מידע שהוגדרו על ידי המשתמש או כדי לשלוח שאילתות לתצוגה
_AllLogsשל קטגוריה ביומן_Defaultזמין במאמר בנושא תפקידים ב-Cloud Logging. -
כדי להריץ שאילתה על דלי היומנים
-
כדי לקבל את ההרשאות שנדרשות להפעלת שאילתות בתצוגות ניתוח נתונים, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Observability Analytics User (
roles/observability.analyticsUser) בפרויקט. -
כדי לקבל את ההרשאות שנדרשות ליצירת תרשימים, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד Monitoring Editor (
roles/monitoring.editor) בפרויקט.
בחירת הנתונים ליצירת תרשים
כדי להגדיר אילו נתונים יוצגו בתרשים, צריך ליצור שאילתה באמצעות SQL. כשבוחרים בכרטיסייה תרשים, מוצג תרשים של תוצאות השאילתה. אחרי שהשאילתה מורצת ונוצר תרשים, אפשר לשנות את סוג התרשים ולבחור עמודות כדי להציג נתונים שונים.
כדי לראות את תוצאות השאילתה כתרשים, מריצים שאילתה באופן הבא:
-
נכנסים לדף manage_search Log Analytics במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
בחלונית Query, מזינים שאילתה ולוחצים על Run.
אחרי שהשאילתה מסתיימת, בכרטיסייה תוצאות בוחרים איך רוצים לראות את תוצאות השאילתה:
טבלה: עיצוב טבלאי בלבד.
תרשים: פורמט התרשים בלבד
גם וגם: פורמט של תרשים וטבלה.
אחרי שבוחרים איך להציג את תוצאות השאילתה, אפשר להגדיר שדות לתצוגה החזותית שנבחרה, ואז לשמור את השאילתה והתוצאות בלוח בקרה מותאם אישית. הפורמט השמור הוא טבלה אם בחרתם באפשרות טבלה. אחרת, הפורמט הוא תרשים.
בתרשימים, אפשרויות ההמחשה מאפשרות לבחור את סוג התרשים, ולבחור אילו שורות ועמודות יוצגו בתרשים. מידע נוסף על הגדרת התרשים זמין במאמר התאמה אישית של הגדרות התרשים.
התאמה אישית של הגדרות התרשים
אפשר להתאים אישית את הגדרות התרשים על ידי שינוי סוג התרשים, בחירת המאפיין והמדד שיוצגו בתרשים והוספת פירוט. המאפיין Dimension משמש לקיבוץ או לסיווג של שורות, והוא הערך בציר ה-X. המדד, או הערך בציר ה-Y, הוא סדרת נתונים שמוצגת בתרשים ביחס לציר ה-Y.
שינוי סוג התרשים
אפשר לבחור מבין סוגי התרשימים הבאים, בהתאם לסוג השורות והעמודות שבחרתם כמאפיין ומדד, ולאופן שבו אתם רוצים להציג את הנתונים.
תרשים עמודות (ברירת מחדל): בתרשימי עמודות מוצגים נתונים בשני צירים. אם התרשים משתמש בקטגוריה או במחרוזת כמאפיין, אפשר להגדיר את התצורה של תרשים העמודות כך שיהיה אופקי או אנכי, כך שהמאפיין והמדד יוחלפו.
תרשים קו: אפשר להשתמש בתרשימי קו כדי להציג שינויים בנתונים לאורך זמן. כשמשתמשים בתרשים קווי, כל סדרת זמן מוצגת על ידי קו שונה שמתאים למדדים שבחרתם.
אם ציר ה-X מבוסס על זמן, כל נקודה על הגרף מוצבת בתחילת מרווח זמן. כל נקודה על הגרף מחוברת באמצעות אינטרפולציה לינארית.
תרשים שטח מוערם: תרשים שטח מבוסס על תרשים קו, והאזור שמתחת לכל קו מוצלל. בתרשימי שטח, סדרות הנתונים מוערמות. לדוגמה, אם יש לכם שני נתונים זהים, הם יוצגו אחד על השני בתרשים קו, אבל בתרשים שטח הם יוצגו אחד מעל השני.
תרשים עוגה או תרשים טבעת: בתרשים עוגה מוצג היחס בין הקטגוריות במערך נתונים לבין מערך הנתונים כולו. התרשים מציג עיגול שמייצג את מערך הנתונים כולו, ופלחים בעיגול שמייצגים את הקטגוריות במערך הנתונים. גודל הפלח מציין את מידת התרומה של הקטגוריה לכלל, לרוב באחוזים.
טבלה: בטבלה מוצגת שורה אחת לכל שורה בתוצאת השאילתה. העמודות בטבלה מוגדרות על ידי פסוקית
SELECT. אם אתם מתכננים להציג נתונים בטבלה בלוח בקרה, כדאי להשתמש בסעיףLIMITכדי להגביל את מספר השורות בתוצאה לכמה מאות.מד או כרטיס ניקוד: במד או בכרטיס ניקוד מוצג הערך העדכני ביותר, לצד סימון ירוק, צהוב או אדום בהתאם להשוואה בין הערך לבין קבוצה של ערכי סף. בניגוד למדדים, שבהם מוצג רק המידע על הערך האחרון, בכרטיסי מידע אפשר לכלול גם מידע על ערכים קודמים.
מדדים וכרטיסי ניקוד יכולים להציג את תוצאת השאילתה רק אם היא מכילה לפחות שורה אחת, והשורה הזו מכילה עמודה עם חותמת זמן ועמודה עם נתונים מספריים. תוצאת השאילתה יכולה להכיל כמה שורות ויותר משתי עמודות.
אם רוצים לבצע את הצבירה לפי זמן כחלק מהשאילתה:
מגדירים את השאילתה כך שתצבור נתונים בפרק זמן מסוים, תמיין את התוצאות לפי חותמות זמן בסדר יורד ותגביל את מספר השורות בתוצאות. אפשר להשתמש בסעיף
LIMITאו בבורר טווח הזמן כדי להגביל את מספר השורות בתוצאת השאילתה.לדוגמה, השאילתה הבאה שולחת שאילתה לתצוגת יומן, מצברת נתונים לפי שעה, מגדירה מגבלה וממיינת את התוצאות:
SELECT TIMESTAMP_TRUNC(timestamp, HOUR) AS hour, severity, COUNT(*) AS count FROM `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID` WHERE severity IS NOT NULL AND severity = "DEFAULT" GROUP BY hour,severity ORDER BY hour DESC LIMIT 10התיאור הבא מסביר את המשמעות של השדות בביטוי הקודם:
- PROJECT_ID: מזהה הפרויקט.
- LOCATION: המיקום של תצוגת היומן או תצוגת ניתוח הנתונים.
- BUCKET_ID: השם או המזהה של קטגוריה ביומן.
- LOG_VIEW_ID: המזהה של תצוגת היומן, שמוגבל ל-100 תווים ויכול לכלול רק אותיות, ספרות, קווים תחתונים ומקפים.
מגדירים את המאפיין כך שיתאים לעמודה שמדווחת על יחידת הזמן. לדוגמה, אם השאילתה צוברת נתונים לפי שעה ויוצרת עמודה בשם
hour, צריך להגדיר את התפריט מאפיין ל-hour.בוחרים באפשרות השבתת המרווח כי השאילתה כבר מציינת את מרווח הצבירה. בדוגמה הזו, המרווח הוא שעה אחת.
מגדירים את המדד לעמודה המספרית, ומגדירים את הפונקציה לnone.
אם אתם רוצים להסתמך על Log Analytics כדי לבצע את הצבירה לפי זמן בשבילכם, אתם צריכים לפעול באופן הבא:
- מגדירים את בורר טווחי הזמן, שמשפיע על מספר השורות בתוצאת השאילתה.
- מגדירים את המאפיין כך שיתאים לעמודה שמדווחת על יחידת הזמן.
לדוגמה, אפשר להגדיר את התפריט הזה ל
timestamp. - בתפריט אינטרוול, מגדירים את מרווח צבירת הנתונים למרווח ספציפי. לדוגמה, מגדירים את הערך של השדה הזה ל-
1 hour. לא בוחרים באפשרות מרווח אוטומטי. - מגדירים את המדד לעמודה המספרית ובוחרים פונקציה כמו sum.
שינוי המאפיין והמדד
כדי לבחור אילו שורות ועמודות יוצגו בתרשים, בוחרים את שדות המאפיין והמדד.
מאפיין
המאפיין חייב להיות עמודה של חותמת זמן, מספר או מחרוזת. כברירת מחדל, המאפיין מוגדר לעמודה הראשונה שמבוססת על חותמת זמן בסכימה. אם אין חותמת זמן בשאילתה, העמודה הראשונה של המחרוזת נבחרת כמאפיין. אפשר גם להתאים אישית את המאפיין בחלונית תצוגת התרשים. כשבוחרים עמודה של חותמות זמן כמאפיין, התרשים מציג את השינויים בנתונים לאורך זמן. כשבוחרים עמודה של מחרוזת כמאפיין לתרשים עמודות, אפשר למיין את הנתונים בסדר עולה או יורד, כך שהמאפיין ממוין לפי סדר לקסיקלי. אפשר גם להשאיר את סדר המיון `default`, שממיין את המאפיין על סמך הערכים של המדד המתאים בסדר יורד.
כברירת מחדל, המרווח בין חותמות הזמן מוגדר אוטומטית, אבל אפשר גם לבחור מרווח בהתאמה אישית. הערכים של המרווחים האוטומטיים משתנים בהתאם לבורר טווח הזמן, כדי לשמור על קבוצות בגודל דומה.
אפשר גם להשבית את המרווח, כדי לציין צבירות וטווחים משלכם בשאילתה לניתוח מורכב יותר. השבתת המרווח מגדירה את פונקציית הצבירה של המדדים ל-
none. מותר להשתמש רק במדדים מספריים כשמרווח המאפיין מושבת.מדידה
אפשר לבחור כמה מדדים בחלונית תצוגת תרשים. כשבוחרים מדד, צריך לבחור גם את פונקציית הצבירה שתתבצע על הערכים המקובצים שלו, כמו
count,sum,averageו-percentile-99. לדוגמה, הפונקציהcount-distinctמחזירה את מספר הערכים הייחודיים בעמודה נתונה.אם מסמנים את התיבה השבתת המרווח של המאפיין, האפשרות
noneשל פונקציית הצבירה זמינה. אם המאפיין הוא ערך מחרוזת, תיבת הסימון השבתת המרווח לא מוצגת. עם זאת, אם מגדירים את פונקציות הצבירה של מדד ל-none, גם המרווח מושבת.
הוספת פירוט
כדי לפצל סדרת נתונים אחת לכמה סדרות נתונים על סמך עמודה אחרת, מוסיפים פירוט.
כשבוחרים פירוט, כדאי לבחור עמודות שמכילות מספר קטן של תוויות קצרות ומשמעותיות, כמו region_name, במקום שדות שיכולים להכיל מספר גדול של מחרוזות או מחרוזות ארוכות, כמו textPayload.
לדוגמה, בהגדרת התרשים הבאה, השדה מאפיין מוגדר ל-type, השדה מדד מוגדר ל-Count rows והשדה פירוט מוגדר ל-severity:

בצילום המסך הקודם אפשר לראות סדרת נתונים מוערמים, שבה סוג המשאב k8s_container מחולק לסוגים שונים של severity. כך תוכלו לזהות כמה יומנים מכל סוג חומרה נוצרו על ידי משאב מסוים.
שמירת תרשים במרכז בקרה בהתאמה אישית
אחרי שיוצרים תרשים מהשאילתה, אפשר לשמור אותו במרכז בקרה בהתאמה אישית. מרכזי בקרה מותאמים אישית מאפשרים לכם להציג ולארגן מידע שמועיל לכם באמצעות מגוון סוגים של ווידג'טים. בנוסף, בלוחות הבקרה האלה אפשר להגדיר משתנים, שהם מסננים ברמת לוח הבקרה שחלים רק על ווידג'טים ספציפיים. כדי להחיל משתנה על ווידג'ט, צריך לשנות את השאילתה. מידע נוסף זמין במאמר בנושא החלת משתנה על ווידג'ט.
אם הווידג'ט מכיל שאילתת SQL, ושאילתת SQL מורצת במנוע BigQuery, ומשאבי השאילתה לא נמצאים באותו גבול בעלות, תוצג הודעת אזהרה בלוח הבקרה. גבולות הבעלות נקבעים לפי כמה גורמים, שאחד מהם הוא ההיררכיה של המשאבים שבהם נעשה שימוש בשאילתה. כדי למנוע את האזהרות האלה, צריך להגדיר גבולות גזרה לשירות.
כדי לשמור את התרשים במרכז בקרה:
-
נכנסים לדף manage_search Log Analytics במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
מריצים שאילתה כדי ליצור תרשים, ואז לוחצים על שמירת התרשים בכרטיסייה תרשים.
בתיבת הדו-שיח שמירה במרכז הבקרה, מזינים שם לתרשים ובוחרים את מרכז הבקרה שבו רוצים לשמור את התרשים.
אופציונלי: כדי לראות את לוח הבקרה המותאם אישית, לוחצים על View dashboard (הצגת לוח הבקרה) בהודעה הקופצת.
כדי לראות רשימה של לוחות בקרה מותאמים אישית שמכילים תרשימים שנוצרו על ידי שאילתות SQL, לוחצים על הלחצן שמירת תרשים ואז על arrow_drop_down תפריט.
עריכה של תרשים שנשמר במרכז בקרה מותאם אישית
אפשר לשנות תרשים אחרי שהוא נשמר בלוח בקרה. מידע נוסף זמין במאמר בנושא שינוי ההגדרה של ווידג'ט. בתיבת הדו-שיח Configure widget, אפשר לבצע את הפעולות הבאות:
- לשנות את הנתונים שאתם שולחים לגביהם שאילתה.
- עריכת השאילתה שמשמשת ליצירת תרשים.
- אפשר להתאים אישית את הגדרות התרשים כדי להציג נתונים שונים.
מגבלות
אם Google Cloud הפרויקט שלכם נמצא בתיקייה שבה נעשה שימוש ב-Assured Workloads, לא ניתן להציג את התרשימים שאתם יוצרים בלוח בקרה בהתאמה אישית.
מסננים ברמת לוח הבקרה לא חלים על תרשימים שנוצרו משאילתת SQL.
בעמודות שנבחרו צריכה להיות לפחות שורה אחת עם ערך שאינו null.
אם שומרים שאילתה ומשנים את הגדרות התרשים, הגדרות התרשים המותאמות אישית לא נשמרות.
אם השאילתה כבר מכילה צבירות, יכול להיות שהתרשים שנוצר יהיה שונה בגלל צבירה נוספת שמוחלת באופן אוטומטי על ידי Log Analytics.
כדי ליצור תרשים של נתיבי JSON, צריך להמיר אותם למחרוזות או למספרים.
שאילתות לדוגמה
בקטע הזה מופיעות שאילתות SQL לדוגמה ליצירת תרשים של תוצאות השאילתה. כדי לקבל תובנות שימושיות יותר מהיומנים, אפשר להתאים אישית את הגדרות התרשים. כדי להשתמש בשאילתות לדוגמה:
-
נכנסים לדף manage_search Log Analytics במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
מזהים את שם הטבלה של תצוגת היומן שרוצים לשלוח לה שאילתה.
כדי לזהות את השם הזה, עוברים לרשימה Log views, מאתרים את תצוגת היומן ובוחרים באפשרות Query. בחלונית שאילתה מוצגת שאילתת ברירת מחדל, שכוללת את שם הטבלה של תצוגת היומן שעליה מופעלת השאילתה. שם הטבלה הוא בפורמט
project_ID.region.bucket_ID.view_ID.מידע נוסף על גישה לשאילתת ברירת המחדל זמין במאמר שליחת שאילתה לתצוגת יומן.
מחליפים את VIEW בשם הטבלה של תצוגת היומן שרוצים להריץ עליה שאילתה, ואז מעתיקים את השאילתה.
מדביקים את השאילתה בחלונית Query ולוחצים על Run query.
תרשים של רשומות ביומן לפי מיקום וחומרה
השאילתה הבאה בוחרת את location ואת severity, כשהמיקום מוגדר כמחרוזת:
SELECT
CAST(JSON_VALUE(resource.labels.location) AS STRING) AS location,
severity,
FROM
`VIEW`
WHERE resource.labels.location IS NOT NULL
דוגמה לתרשים ולהגדרת תרשים:
בצילום המסך הקודם, הגדרת התרשים היא:
- סוג התרשים: תרשים עמודות אופקי
- מאפיין:
location, עם מגבלה של 10 - מדד: ספירת שורות
- פירוט:
severity, עם מגבלה של חמש
יצירת תרשים של יומני הביקורת Data Access ב-BigQuery
השאילתה הבאה מסננת יומני ביקורת של BigQuery data_access ובוחרת שדות מסוימים, כמו user_email, ip, auth_permission ו-job_execution_project. לדוגמה, אפשר ליצור תרשים שמציג את תדירות השימוש ב-BigQuery API של כל גורם ראשי לאורך זמן.
SELECT
timestamp,
proto_payload.audit_log.authentication_info.principal_email as user_email,
proto_payload.audit_log.request_metadata.caller_ip as ip,
auth.permission as auth_permission,
auth.granted as auth_granted,
JSON_VALUE(data_access.resource.labels.project_id) AS job_execution_project,
SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(1)] AS referenced_project,
SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(3)] AS referenced_dataset,
SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(5)] AS referenced_table
FROM `VIEW` as data_access,
UNNEST(proto_payload.audit_log.authorization_info) AS auth
WHERE
log_id="cloudaudit.googleapis.com/data_access"
AND data_access.resource.type = 'bigquery_dataset'
דוגמה לתרשים ולהגדרת תרשים:
בצילום המסך הקודם, הגדרת התרשים כוללת את ההגדרות הבאות:
- סוג התרשים: תרשים עמודות אנכי
- מאפיין:
user_email, עד חמישה - מדד: ספירת שורות
- פירוט:
auth_permission, עם מגבלה של חמש
המאמרים הבאים
לסקירה כללית על ניתוח יומנים, ראו סקירה כללית על שאילתות וניתוח יומנים.
שאילתות לדוגמה זמינות במאמר שאילתות SQL לדוגמה.
במאמר שאילתות SQL לתובנות אבטחה מוסבר איך לנתח באמצעות יומני ביקורת באמצעות Log Analytics.