יצירת לוחות בקרה, תרשימים והתראות
במאמר הזה מוסבר איך ליצור תרשימים והתראות כדי לעקוב אחרי משאבי BigQuery באמצעות Cloud Monitoring.
לפני שמתחילים
לפני שמשתמשים ב-Cloud Monitoring, צריך לוודא שיש לכם:
- חשבון לחיוב ב-Cloud.
- פרויקט ב-BigQuery עם חיוב מופעל.
צפייה ויצירה של לוחות בקרה, תרשימים והתראות
הצגת לוח הבקרה של Cloud Monitoring
כדי להשתמש ב-Cloud Monitoring למעקב אחרי פרויקט BigQuery:
נכנסים לדף Monitoring במסוף Google Cloud .
אם שם הפרויקט לא נבחר כבר בחלק העליון של הדף, בוחרים אותו.
כדי לראות את המשאבים של BigQuery, בוחרים באפשרות Dashboards > BigQuery. בדף הזה מוצגת רשימה של טבלאות, אירועים ודיווח על אירועים שניתנים להגדרה על ידי המשתמש, וגם תרשימים של מדדי פרויקטים או מדדי מערכי נתונים.
הצגה חזותית של המשבצות הזמינות והמשבצות שהוקצו
כדי לראות את ה-slots שזמינים ואת ה-slots שהוקצו לפרויקט, נכנסים למרכז הבקרה של BigQuery שמתואר במאמר הצגת מרכז הבקרה של Cloud Monitoring:
נכנסים לדף Monitoring במסוף Google Cloud .
בוחרים באפשרות מרכזי בקרה > BigQuery.
בלוח הבקרה של Cloud Monitoring ל-BigQuery, גוללים לתרשים Slot Utilization.
התרשים Slot Utilization מופיע גם בלוח הבקרה הראשי שמוגדר כברירת מחדל ב-Cloud Monitoring וגם בלוח הבקרה של Cloud Monitoring ל-BigQuery.
יצירת לוח בקרה ותרשים
אתם יכולים להציג את המדדים שנאספו באמצעות Cloud Monitoring בתרשימים ובלוחות הבקרה הפרטיים שלכם:
נכנסים לדף Monitoring במסוף Google Cloud .
לוחצים על Dashboards > Create Dashboard.
לוחצים על הוספת תרשים. הדף Add Chart מופיע:
בשדות של החלונית Find resource type and metric:
- ברשימה הנפתחת Resource type, בוחרים באפשרות Global. יכול להיות שתצטרכו להרחיב את הרשימה Resource types כדי לראות את האפשרות Global.
- ברשימה הנפתחת Metric, בוחרים באפשרות Query execution time.
השדות בחלונית Aggregation קובעים איך יוצגו נתוני זמן הביצוע. אפשר לשנות את הגדרות ברירת המחדל של השדות האלה.
לוחצים על Save.
צפייה במכסות ובניצול שלהן
ב-Cloud Monitoring אפשר לראות מדדים של שימוש במכסות ומגבלות:
נכנסים לדף Monitoring במסוף Google Cloud .
בחלונית הניווט, בוחרים באפשרות Metrics explorer.
בסרגל הכלים, לוחצים על Explorer > Configuration.
בקטע Resource & Metric, לוחצים על Select a metric.
בוחרים באפשרות Consumer Quota > Quota > Quota limit, ואז לוחצים על Apply.
לוחצים על Add filter, ובתפריט Label בוחרים באפשרות limit_name.
בתפריט Value, בוחרים את המכסה שרוצים לראות את המדדים שלה.
יצירת התראה
כדי ליצור מדיניות התראה שמופעלת כשהאחוזון ה-99 של זמן הביצוע של שאילתת BigQuery חורג ממגבלה שמוגדרת על ידי המשתמש, משתמשים בהגדרות הבאות.
| תנאי חדש שדה |
ערך |
|---|---|
| משאב ומדד | בתפריט Resources, בוחרים באפשרות BigQuery Project. בתפריט Metric categories בוחרים באפשרות Query. בתפריט Metrics, בוחרים באפשרות Query execution times. |
| סינון | |
| Across time series Time series group by |
priority |
| בסדרות זמן צבירה של סדרות זמן |
99th percentile |
| חלון זמן דינמי | 5 m |
| פונקציית חלון זמן דינמי | sum |
| הגדרת טריגר להתראה שדה |
ערך |
|---|---|
| סוג התנאי | Threshold |
| טריגר להתראה | Any time series violates |
| מיקום הסף | Above threshold |
| ערך הסף | אתם קובעים את הערך הזה, אבל מומלץ להגדיר סף של 60 שניות. |
| חלון הבדיקה החוזרת | most recent value |
כדי ליצור מדיניות התראה שמופעלת כשסך כל הבייטים שנסרקו וחוייבו בפרויקט BigQuery חורג מהמגבלה שהוגדרה על ידי המשתמש, משתמשים בהגדרת מדיניות ההתראה הבאה.
|
תנאי חדש שדה |
ערך |
|---|---|
| משאב ומדד |
בתפריט Resources, בוחרים באפשרות BigQuery Project. בתפריט Metric categories בוחרים באפשרות Query. בתפריט Metrics, בוחרים באפשרות Statement scanned bytes billed. |
| סינון | (אין צורך במסנן להתראה ברמת הפרויקט) |
|
Across time series Time series group by |
(אם רוצים לצבור את כל הסדרות, משאירים את השדה ריק) |
|
בסדרות זמן צבירה של סדרות זמן |
sum |
| חלון זמן דינמי |
5 m |
| פונקציה של חלון זמן דינמי |
sum
|
|
הגדרת טריגר להתראה שדה |
ערך |
|---|---|
| סוג התנאי |
Threshold
|
| טריגר להתראה |
Any time series violates
|
| מיקום הסף |
Above threshold
|
| ערך הסף |
אתם קובעים את הערך הזה. לדוגמה, כדי להפעיל התראה כשהשימוש חורג מ-1TiB, מזינים 1000000000000.
|
מדיניות ההתראות עוקבת אחרי סך הבייטים שנסרקו, אבל אתם יכולים להגדיר סף שמבוסס על תקציב ספציפי. כדי להגדיר את מדיניות ההתראות הזו שמבוססת על תקציב, קודם צריך להמיר את סף העלות הרצוי למספר הבייטים המקביל. הנוסחה מבוססת על התמחור של BigQuery לפי דרישה. מידע נוסף זמין במאמר תמחור של ניתוח נתונים על פי דרישה.
כדי להמיר את סף העלות לבייטים, אפשר להשתמש בנוסחה הבאה:
Threshold in Bytes = (Target Amount / (price per TiB)) * 1,000,000,000,000דוגמה: הפעלת התראה כשהשימוש חורג מ-100$
נניח שאתם רוצים לקבל התראה כשעלויות השאילתות בפרויקט חורגות מ-100$.
- מחשבים את נפח הנתונים המקביל ב-TiB:
$100 / (price per TiB) = Equivalent Data Volume in TiB - המרת נפח הנתונים לבייטים:
(Equivalent Data Volume in TiB) * 1,000,000,000,000 = Threshold Value in Bytes - הגדרת ערך הסף:
בקטע Configure alert trigger של המדיניות, מזינים את הערך של "Threshold Value in Bytes" בתור Threshold value.
עכשיו, מדיניות ההתראות מופעלת כשסך הבייטים שנסרקו וחוייבו בחלון הזמן הדינמי תואם לעלויות של כ-100$ לשאילתות על פי דרישה.
מדדים שאפשר להציג בתרשים
המדדים הבאים זמינים, עם עיכוב של עד כמה שעות.
| סוג המשאב | שם | יחידות | תיאור |
|---|---|---|---|
| BigQuery | Scanned bytes |
בייטים לדקה | מספר הבייטים שנסרקו. |
| BigQuery | Scanned bytes billed |
בייטים לדקה | מספר הבייטים שנשלחו לחיוב כשמשתמשים במודל הניתוח על פי דרישה. יכול להיות שיהיה הבדל בין הבייטים שנסרקו לבין הבייטים שנסרקו וחויבו, כי החיובים מעוגלים כלפי מעלה, עם כמות מינימלית של נתונים שעובדו לכל שאילתה. |
| BigQuery | BI Engine Query Fallback Count (Preview) |
שאילתות | שיעור השאילתות שלא השתמשו ב-BI Engine. אפשר להגדיר את האפשרות קיבוץ לפי לערך reason כדי להפריד את הספירה לפי סיבות שונות למעבר למצב חלופי, כולל:
|
| BigQuery | Query count |
שאילתות | שאילתות בתהליך. |
| BigQuery | Query execution count (Preview) |
שאילתות | מספר השאילתות שהופעלו. |
| BigQuery |
Query execution times
|
שניות | זמני הרצת שאילתות שלא נשמרו במטמון. |
| BigQuery | Slots used by project |
מכונות מזל | מספר יחידות הקיבולת של BigQuery שהוקצו למשימות של שאילתות בפרויקט.
המשבצות מוקצות לכל חשבון לחיוב, וכמה פרויקטים יכולים לחלוק את אותה הקצאת משבצות. |
| BigQuery | Slots used by project and job type |
מכונות מזל | מספר ה-slots שהוקצו לפרויקט בכל שלב, בחלוקה לפי סוג העבודה.
אפשר גם לחשוב על זה כמספר ה-slots שבהם הפרויקט משתמש. משימות טעינה וחילוץ הן פעולות חינמיות, והן פועלות במאגר משאבים ציבורי.
המשבצות מוקצות לכל חשבון לחיוב, וכמה פרויקטים יכולים לחלוק את אותה הקצאת משבצות. |
| BigQuery | Slots used by project, reservation, and job type |
מכונות מזל | מספר יחידות הקיבולת של BigQuery שהוקצו לפרויקט. אפשר לחלק את הקצאת המשבצות לפי סוג העבודה וההזמנה. |
| BigQuery | Total slots |
מכונות מזל | המספר הכולל של משבצות שזמינות לפרויקט.
אם הפרויקט חולק הקצאה של משבצות עם פרויקטים אחרים, המשבצות שבהן משתמשים הפרויקטים האחרים לא מוצגות. |
| BigQuery | Slots used across projects in reservations |
מכונות מזל | מספר יחידות קיבולת של BigQuery שהוקצו לפרויקטים בהזמנה. חשוב לזכור שנתוני המדדים מדווחים רק כשפרויקט אחד לפחות הוקצה להזמנה ומשתמש במשבצות. במקום זאת, כדאי לשלוח שאילתות לגבי פרטי ההזמנות מ-INFORMATION_SCHEMA.
כדי לראות את מדדי השימוש ביחידות קיבולת (Slot) בכל הפרויקטים שצורכים משאבים ממקום שמור, צריך להוסיף באופן מפורש את הפרויקטים האלה להיקף המדדים בפרויקט של הפרויקט שבו אתם צופים במרכז הבקרה.
|
| BigQuery | Slots used by project in reservation |
מכונות מזל | מספר יחידות קיבולת של BigQuery שהוקצו לפרויקט במקום השמור. כדי לראות את מדדי השימוש ביחידות קיבולת (Slot) בכל הפרויקטים שצורכים משאבים ממאגר, צריך להוסיף באופן מפורש את הפרויקטים האלה להיקף המדדים בפרויקט של הפרויקט שבו אתם צופים במרכז הבקרה. |
| משימה רציפה ב-BigQuery | Estimated backlog logical bytes |
בייטים | מספר הבייטים בצבר המשימות לכל שלב במשימה הרציפה. |
| משימה רציפה ב-BigQuery | Estimated backlog records |
רשומות | המספר המשוער של רשומות בצבר המשימות לכל שלב במשימה הרציפה. |
| משימה רציפה ב-BigQuery | Estimated bytes processed |
בייטים | מספר הבייטים המשוער שעובדו בכל שלב של המשימה הרציפה. |
| משימה רציפה ב-BigQuery | Output watermark |
חותמת הזמן | חותמת הזמן האחרונה, במיקרו-שניות מאז ראשית זמן יוניקס (Unix epoch), שעד אליה כל הנתונים עובדו בשלב הזה של המשימה הרציפה. |
| משימה רציפה ב-BigQuery | Records read |
רשומות | מספר רשומות הקלט שנקראו בכל שלב של המשימה הרציפה. |
| משימה רציפה ב-BigQuery | Records written |
רשומות | מספר רשומות הפלט שנכתבו בכל שלב של המשימה הרציפה. |
| משימה רציפה ב-BigQuery | Slots used |
אלפיות שנייה של משבצת | המספר הכולל של אלפיות השנייה של ה-slot שבהן השתמש המשימה הרציפה. |
| מערך נתונים ב-BigQuery | Stored bytes |
בייטים | בייטים שמאוחסנים במערך הנתונים – ב-100 הטבלאות הכי גדולות במערך הנתונים, הבייטים שמאוחסנים מוצגים לכל טבלה בנפרד (לפי שם). כל הטבלאות הנוספות במערך הנתונים (מעבר ל-100 הגדולות ביותר) מדווחות כסכום יחיד, ושם הטבלה של הסיכום הוא מחרוזת ריקה. |
| מערך נתונים ב-BigQuery | Table count |
Tables | מספר הטבלאות במערך הנתונים. |
| מערך נתונים ב-BigQuery | Uploaded bytes |
בייטים לדקה | מספר הבייטים שהועלו לטבלה כלשהי במערך הנתונים. |
| מערך נתונים ב-BigQuery | שורות שהועלו | שורות לדקה | מספר הרשומות שהועלו לטבלה כלשהי במערך הנתונים. |
רשימה מלאה של המדדים הזמינים ל- Google Cloud מופיעה במאמר מדדיGoogle Cloud .
בעיות מוכרות
אם לא פועלות שאילתות, לא יוחזרו נתונים לגבי משבצות שהוקצו, משבצות זמינות או משתנים שקשורים לשאילתות. כדי לראות את הנתונים, צריך להתרחק.
אם השאילתות פועלות גם בארה"ב וגם באיחוד האירופי, יכול להיות שה-slots שהוקצו וה-slots הזמינים לא נכונים.
המשבצות שהוקצו מדווחות כערך הממוצע בחלון זמן (רוחב חלון הזמן תלוי ברמת הזום של התרשים). הגדלה והקטנה של התצוגה יכולות לשנות את הערך של המשבצות שהוקצו. אם מגדילים את התצוגה לחלון זמן של שעה או פחות, מוצגים הערכים האמיתיים של המשבצות שהוקצו. בטווח הזה, בכל זמן שמוצג בתרשים,
avg(slots allocated) = slots allocated.הנתונים בתרשימים של Cloud Monitoring רלוונטיים רק לפרויקט שנבחר.
מדדים הם ערכים מיידיים שנדגמים בנקודת זמן מסוימת, ויכול להיות שהם יחמיצו נקודות על הגרף בין מרווחי הדגימה. לדוגמה, המדד של ספירת המשימות נדגם כל דקה. הערך הוא מספר המשימות באותו זמן ספציפי, ולא המספר המקסימלי של משימות במהלך כל הדקה.