המודל של Cloud Monitoring לנתוני מעקב מורכב משלושה מושגים עיקריים:
- סוגי משאבים במעקב
- סוגי מדדים
- פעולות על ציר הזמן
במסמך מודל המדדים מתוארים המושגים האלה של Cloud Monitoring במונחים כלליים. אם המושגים האלה חדשים לכם, כדאי לקרוא קודם את הדף הזה.
בדף הזה מתוארים סוגי מדדים, משאבים שנמצאים במעקב וסדרות זמן, וגם כמה מושגים קשורים, בפירוט רב יותר. המושגים האלה הם הבסיס לכל המדדים ב-Monitoring.
כדאי להבין את המידע שבדף הזה אם רוצים לבצע אחת מהפעולות הבאות:בודקים את נתוני המדדים באמצעות Metrics Explorer.
כדאי ליצור כללי מדיניות התראות כדי לקבל הודעה כשערך חורג מהמגבלות הרגילות שלו, כמו שמתואר במאמר שימוש בכללי מדיניות התראות.
אחזור נתוני מעקב גולמיים או מצטברים באמצעות Monitoring API, כמו שמתואר במאמר אחזור נתונים של סדרות זמן.
אפשר ליצור סוגי מדדים משלכם, כמו שמתואר במאמר סקירה כללית על מדדים שהוגדרו על ידי המשתמש.
כמה מילים על תוויות
גם סוגי המשאבים במעקב וגם סוגי המדדים תומכים בתוויות, שמאפשרות לסווג את הנתונים במהלך הניתוח. לדוגמה:
- סוג של משאב בפיקוח למכונה וירטואלית יכול לכלול תוויות למיקום של המכונה ולמזהה הפרויקט שמשויך למכונה. כשמידע על המשאב במעקב מתועד, המידע כולל את הערכים של התוויות. למשאב במעקב יכולות להיות גם תוויות של מטא-נתונים שסופקו על ידי המערכת או על ידי המשתמש, בנוסף לתוויות שהוגדרו לסוג המשאב במעקב.
- לסוג מדד שסופר בקשות ל-API יכולות להיות תוויות לתיעוד השם של השיטה שהופעלה והסטטוס של הבקשה.
מידע נוסף על השימוש בתוויות זמין במאמר תוויות.
סוגי משאבים במעקב
משאב במעקב הוא משאב שממנו נאספים נתונים של מדדים. Cloud Monitoring תומך בכ-270 סוגים של משאבים במעקב.
סוגי המשאבים שבמעקב כוללים צמתים ומשימות כלליים, רכיבים ארכיטקטוניים ב-Google Kubernetes Engine, טבלאות ב-Bigtable, משאבי AWS שונים ועוד.כל סוג של משאב במעקב מתואר באופן רשמי במבנה נתונים שנקרא מתאר של משאב במעקב. מידע נוסף זמין במאמר מתארי משאבים במעקב.
לכל אחד מסוגי המשאבים במעקב הנתמכים יש רשומה ברשימת המשאבים במעקב. הערכים ברשימה נוצרים מתיאורי המשאבים המנוטרים. בקטע הזה מתואר המידע שמתועד בתיאור של משאב במעקב, ומוסבר איך הוא מוצג ברשימה.
דוגמה לסוג של משאב במעקב
בתמונה הבאה מוצגת רשומה ברשימה של קטגוריה של Cloud Storage:
כל הערכים ברשימה כוללים את הפרטים הבאים:
- סוג: הכותרת ברשימות הרשומות מציינת את סוג המשאב במעקב. בדוגמה:
gcs_bucket. - שם לתצוגה: תיאור קצר של המשאב שבמעקב.
- תיאור: תיאור ארוך יותר של המשאב המפוקח.
- תוויות: קבוצה של מאפיינים לסיווג נתונים. מידע נוסף זמין במאמר תוויות.
סוגי מדדים
סוג מדד מתאר מדידות שאפשר לאסוף ממקור שעובר מעקב. סוג מדד כולל תיאור של מה שנמדד ושל אופן הפרשנות של המדידות. Cloud Monitoring תומך בכ-6,500 סוגים של מדדים, ומאפשר לכם להגדיר סוגים חדשים.סוגי המדדים כוללים ספירות של קריאות ל-API, נתונים סטטיסטיים על השימוש בדיסק, צריכת אחסון ועוד.
כל סוג מדד מתואר באופן רשמי במבנה נתונים שנקרא מתאר מדד. למידע נוסף, ראו תיאורי מדדים.
לכל אחד מסוגי המדדים המובנים יש רשומה בדפים של רשימת המדדים. הערכים בטבלאות האלה נוצרים מתיאורי המדדים. בקטע הזה מתואר המידע שמתועד בסוג מדד, ומוסבר איך הוא מוצג בחומר העזר.
דוגמה לסוג מדד
בתמונה הבאה מוצגת רשומה של סוג מדד של Cloud Storage:
סוגי המדדים מוצגים בטבלה, ובכותרת הטבלה מוסבר הפריסה של המידע. בקטע הזה מוצגת דוגמה של רשומה אחת, אבל כל הטבלאות משתמשות באותו פורמט.
דוגמה לערך בטבלת Cloud Storage מספקת את המידע הבא על סוג מדד אחד:
סוג המדד: מזהה של סוג המדד,
storage.googleapis.com/api/request_countבדוגמה.הקידומת
storage.googleapis.comמשמשת כמרחב שמות ל-Cloud Storage. כל סוגי המדדים שמשויכים לסוג מסוים של משאב במעקב משתמשים באותו מרחב שמות.מרחבי שמות מושמטים מהערכים בטבלאות.
כל סוגי המדדים שמשויכים ל-Cloud Storage מפורטים בטבלה של מדדי Cloud Storage.
שלב ההשקה: בלוק צבעוני שמציין את שלב ההשקה של סוג המדד עם ערך כמו אלפא, בטא וזמינות כללית (GA).
שם לתצוגה: מחרוזת קצרה שמתארת את סוג המדד, למשל 'מספר הבקשות'.
Kind, Type, Unit: בשורה הזו מופיע מידע שיעזור לכם להבין את ערכי הנתונים: בדוגמה מוצג מדד דלתא שנרשם כמספר שלם של 64 ביט ללא יחידה (זה הערך
1).סוג: הדוגמה הזו היא מדד דלתא, שמתעד שינוי לאורך תקופה. כלומר, כל נקודה על הגרף מתעדת את מספר הקריאות ל-API מאז שנכתבה נקודת הנתונים הקודמת. מידע נוסף על סוגים זמין במאמר סוגי ערכים וסוגי מדדים.
סוג: בדוגמה הזו, הערכים נרשמים כמספרים שלמים בגודל 64 ביט. מידע נוסף על סוגים זמין במאמר סוגי ערכים וסוגי מדדים.
יחידה: לא צריך לציין יחידה למדד הזה כי הוא מייצג ספירה. הספרה
1מציינת שלא צריך יחידה.
משאבים במעקב: המשאבים במעקב שסוג המדד הזה זמין עבורם. הערכים כאן זהים לאלה שמתוארים בקטע סוגי משאבים במעקב.
תיאור: מידע מפורט יותר על מה שמתועד ואיך. השם מוצג באותיות מוטות כדי להבדיל אותו מהתוויות.
תוויות: קבוצה של מאפיינים לסיווג נתונים. מידע נוסף זמין במאמר תוויות.
כשניגשים לנתוני מעקב דרך Cloud Monitoring API, צריך לכלול Google Cloud פרויקט בקריאה ל-API. אפשר לאחזר רק את הנתונים שגלויים בפרויקט Google Cloud . לדוגמה, אם תבקשו את נתוני הפרויקט שלכם עבור סוג המדד storage.googleapis.com/api/request_count, תראו את ספירת ה-API רק עבור קטגוריות של Cloud Storage בפרויקט.
אם הפרויקט לא משתמש בקטגוריות של Cloud Storage, לא יוחזרו נתוני מדדים.
סוגים של מדדים מובנים
סוגי מדדים מובנים מוגדרים על ידי Google Cloud שירותים, כולל Cloud Monitoring. סוגי המדדים האלה מתארים מדידות סטנדרטיות למגוון רחב של תשתיות נפוצות, וכל אחד יכול להשתמש בהם.
ברשימת המדדים מוצג כל סט סוגי המדדים המובנים. המדדים שמופיעים בדף External metrics list הם קבוצת משנה מיוחדת של מדדים מובנים שמוגדרים על ידי Cloud Monitoring בשיתוף עם פרויקטים בקוד פתוח או ספקי צד שלישי. בדרך כלל, הקידומת של המדדים האלה היאexternal.googleapis.com.
מדדים מותאמים אישית
כשמפתחים אפליקציה, יכול להיות שרוצים למדוד מאפיינים מסוימים, דברים שלא נכללים במדדים המובנים ב-Cloud Monitoring. באמצעות Cloud Monitoring, אתם יכולים להגדיר סוגי מדדים משלכם או לייבא סוגי מדדים ממקורות חיצוניים. סוגי המדדים האלה נקראים מדדים מותאמים אישית. אם למדד יש קידומת של custom.googleapis.com
או prometheus.googleapis.com, זהו מדד מותאם אישית.
המדדים האלה בדרך כלל מגיעים מהשירות המנוהל של Google Cloud ל-Prometheus.
לדוגמה, אם רוצים לעקוב אחרי מספר הווידג'טים שנמכרו בחנויות, צריך להשתמש במדד בהתאמה אישית. מידע נוסף זמין במאמר סקירה כללית על מדדים שהוגדרו על ידי המשתמש.
תוויות
תווית היא צמד מפתח/ערך שאפשר להשתמש בו כדי לספק מידע על ערך נתונים.
תוויות של מדדים ומשאבים במעקב
ההגדרות של סוגי המדדים וסוגי המשאבים שבמעקב כוללות תוויות. תוויות הן מסווגים של הנתונים שנאספים. הן עוזרות לסווג את הנתונים לצורך ניתוח מעמיק יותר. לדוגמה:
- לסוג המדד Cloud Storage
storage.googleapis.com/api/request_countיש שתי תוויות,response_codeו-method. - סוג המשאב המנוטר של Cloud Storage
gcs_bucketכולל שלוש תוויות:project_id,bucket_nameו-location. התוויות מזהות מקרים ספציפיים של סוג המשאב.
לכן, כל הנתונים שנאספים עבור בקשות API מקטגוריה של Cloud Storage מסווגים לפי השיטה שהופעלה, קוד התגובה של הקריאה, השם, המיקום והפרויקט של הקטגוריה הרלוונטית. קבוצת התוויות משתנה בהתאם למדד או לסוג המשאב במעקב. התוויות הזמינות מתועדות בדפים רשימת המדדים ורשימת המשאבים במעקב.
אם עוקבים אחרי קוד התגובה, שם השיטה והמיקום כשסופרים קריאות ל-API, אפשר לאחזר את מספר הקריאות לשיטת API מסוימת, את מספר הקריאות שנכשלו לשיטה כלשהי או את מספר הקריאות שנכשלו לשיטה ספציפית במיקום ספציפי.
מספר התוויות ומספר הערכים שכל אחת יכולה לקבל נקרא עוצמה. העוצמה (cardinality) היא מספר סדרות הזמן האפשריות שאפשר לאסוף עבור זוג של מדד וסוג משאב למעקב: יש סדרת זמן אחת לכל שילוב של ערכי התוויות שלהם. למידע נוסף, ראו קרדינליות: סדרות זמנים ותוויות.
תוויות של מטא-נתונים של משאבים
בנוסף לתוויות שהוגדרו בסוגי המדדים והמשאבים במעקב, מערכת Monitoring אוספת באופן פנימי מידע נוסף על משאבים במעקב ושומרת את המידע הזה בתוויות של מטא-נתונים של המערכת. תוויות המטא-נתונים של המערכת זמינות למשתמשים כערכים לקריאה בלבד. חלק מהמשאבים מאפשרים למשתמשים ליצור תוויות מטא-נתונים משלהם למשאבים, כשמגדירים משאבים כמו מכונות וירטואליות במסוף Google Cloud .
התוויות של המטא-נתונים של המערכת והמשתמש נקראות ביחד תוויות של מטא-נתונים של משאבים. אפשר להשתמש בתוויות האלה כמו בתוויות שמוגדרות במדד ובסוגי המשאבים המפוקחים במסנני סדרות זמן.
תוויות של מטא-נתונים של משאבים מופיעות בתוצאת השאילתה רק אם מבצעים צבירה לפי התוויות האלה באופן מפורש.
מידע נוסף על סינון זמין במאמר מסננים ב-Monitoring.
סדרת זמן: נתונים ממשאב במעקב
בקטע הזה מוסבר מהם נתוני מעקב ואיך הם מסודרים בסדרות זמן. כאן הרכיבים המושגיים של מודל המדדים הופכים לארטיפקטים מוחשיים.
ב-Cloud Monitoring נשמרות מדידות רגילות לאורך זמן של זוגות של מדדים וסוגי משאבים במעקב. הנתונים נאספים בסדרות עיתיות, וכל סדרה עיתית מכילה את הפריטים הבאים:
השם של סוג המדד שאליו שייכת סדרת הזמן, ושילוב אחד של ערכים לתוויות של המדד.
סדרה של זוגות (חותמת זמן, ערך). הערך value הוא המדידה, והערך timestamp הוא השעה שבה המדידה בוצעה.
המשאב המנוטר שהוא המקור של נתוני סדרת הזמן, ושילוב אחד של ערכים לתוויות של המשאב.
נוצרת סדרת זמן לכל שילוב של מדד ותוויות משאבים שמפיק נתונים.
דוגמה עם סגנון: לסוג המדד storage.googleapis.com/api/request_count יכולות להיות הרבה סדרות זמן עבור קטגוריות Cloud Storage של הפרויקט. בטבלה הבאה מוצגות כמה סדרות זמן אפשריות.
בטבלה, הערך bucket: xyz מייצג את הערך של התווית bucket_name בסוג המשאב שבמעקב, והערכים response_code ו-method הם תוויות בסוג המדד. יש סדרת זמן אחת לכל שילוב של ערכים בתוויות של המשאב והמדד. בטבלה מוצגים חלק מהם:
| תווית המשאב במעקב |
תוויות מדדים | נתוני מדדים |
|---|---|---|
bucket: 1234 |
response_code: OK, |
{ |
bucket: 1234 |
response_code: OK, |
{ |
bucket: 1234 |
response_code: FAIL, |
{ |
bucket: 9876 |
response_code: OK, |
{ |
Cloud Monitoring לא מתעד סדרות זמן 'ריקות'. בדוגמה של דלי Cloud Storage, אם אתם לא משתמשים בדלי מסוים או אף פעם לא קוראים לשיטה מסוימת של API, לא נאספים נתונים לגבי התווית הזו, ולא מוזכרת סדרת זמן. המשמעות היא שאם בפרויקט שלכם אין נתונים בכלל לגבי מדד מסוים, לא תראו את סוג המדד.
סוגי המדדים לא מציינים אילו סוגים של משאבים במעקב נמצאים בסדרות הזמן של המדדים. ב-Cloud Storage יש רק סוג אחד של משאב במעקב – gcs_bucket. יש סוגים של מדדים שמשויכים ליותר ממשאב אחד במעקב.
דוגמה פעילה: אם יש לכם Google Cloud פרויקט, תוכלו לנסות את הווידג'ט של APIs Explorer שנמצא בדף ההפניה לשיטה timeSeries.list ב-Monitoring API.
פותחים את דף העזר של
timeSeries.list.בחלונית עם התווית Try this method (אפשר לנסות את השיטה הזו), מזינים את הפרטים הבאים:
- name:
projects/PROJECT_IDמחליפים אתPROJECT_IDבמזהה הפרויקט ב- Google Cloud . - filter (מסנן):
metric.type="logging.googleapis.com/log_entry_count" resource.type="gce_instance" - interval.start_time: מזינים את שעת ההתחלה ומוודאים שהיא מוקדמת ב-20 דקות משעת הסיום.
- interval.end_time: מזינים את שעת הסיום.
- name:
אם הבקשה תתבצע בהצלחה, היא תחזיר את נתוני הסדרה העיתית שתואמים לבקשה. הוא ייראה כמו קטע הקוד הבא:
{
"timeSeries": [
{
"metric": {
"labels": {
"severity": "INFO",
"log": "compute.googleapis.com/activity_log"
},
"type": "logging.googleapis.com/log_entry_count"
},
"resource": {
"type": "gce_instance",
"labels": {
"instance_id": "0",
"zone": "us-central1",
"project_id": "your-project-id"
}
},
"metricKind": "DELTA",
"valueType": "INT64",
"points": [
{
"interval": {
"startTime": "2024-03-29T13:53:00Z",
"endTime": "2024-03-29T13:54:00Z"
},
"value": {
"int64Value": "0"
}
},
...
]
},
...
]
}
מידע נוסף על השימוש בווידג'ט APIs Explorer, כולל פתרון בעיות, מופיע במאמר APIs Explorer.
עוצמה (cardinality): סדרות זמן ותוויות
כל סדרת זמן משויכת לזוג ספציפי של מדד וסוג משאב במעקב. כל אחד מהמדדים ומהסוגים של המשאבים שבמעקב מספק מספר מסוים של תוויות. ב-Cloud Monitoring, מספר השילובים הייחודיים של ערכים עבור קבוצת התוויות הוא העוצמה (cardinality) של סוג המדד או סוג המשאב שבמעקב. הערכים האלה נקראים עוצמת המדד ועוצמת המשאב, והם קובעים כמה סדרות זמן אפשריות, העוצמה הכוללת, עשויות להיווצר.
מדד, משאב ועוצמה כוללת
נניח שיש לכם סוג מדד שמציין שתי תוויות, color ו-zone. העוצמה של המדד תלויה במספר הערכים האפשריים של התוויות האלה:
- אם יש רק שלושה צבעים אפשריים, 'אדום', 'ירוק' ו'כחול', התווית
colorיכולה לכלול עד שלושה ערכים שונים. - אם יש רק שני אזורים אפשריים, 'מזרח' ו'מערב', אז לתווית
zoneיכולים להיות עד שני ערכים שונים.
העוצמה של המדד הזה היא 6 (3×2). אם יש 1,000 ערכים אפשריים לתווית color, ואם כל צבע יכול להופיע בכל אזור, הקרדינליות של המדד היא 2,000 (1,000×2). אותו חישוב חל אם אלה תוויות בסוג של משאב למעקב ולא בסוג של מדד.
ערך העוצמה הזה הוא מקסימלי, והוא מבוסס על מספר השילובים של ערכי התוויות האפשריים. הערך האפקטיבי בעולם האמיתי עשוי להיות נמוך משמעותית אם לא כל השילובים של ערכי התוויות מתרחשים בפועל. לדוגמה, אם כל צבע מופיע רק באזור אחד, ולא בשני האזורים, אז מספר סדרות הזמן המקסימלי שיוצגו במערכת הפעילה הוא 1,000. אבל התועלת של קרדינליות יעילה תלויה בסיבות לכך ששילובים מסוימים לא מופיעים, ובשאלה אם הם עשויים להופיע בעתיד.

כשנתונים של סדרות זמנים נכתבים, הם מסווגים לפי מדד וסוגי משאבים במעקב. לכל צמד של מדד וסוג משאב, העוצמה הכוללת היא המכפלה של עוצמת המדד ועוצמת המשאב. אם יש לכם מדד עם קרדינליות של 1,000, ולמשאב יש קרדינליות של 100, ואם כל ערך של תווית מופיע, אז יש לכם 100,000 סדרות זמן (1,000×100).
כשמעצבים מדדים משלכם, חשוב לוודא שקבוצת הערכים האפשריים של כל תווית מוגבלת. הגישה המומלצת היא להשתמש בקבוצה קטנה של ערכים נפרדים (כמו 'אדום', 'ירוק' ו'כחול'). לדוגמה, אם משתמשים בערכי RGB של 8 ביט לתוויתcolor, אפשר להשתמש ביותר מ-16 מיליון ערכים שונים. אין להשתמש בערכים ברזולוציה גבוהה כמו חותמות זמן, מזהים ייחודיים מכל סוג, מזהי משתמשים, כתובות IP, כתובות URL ללא פרמטרים וכו' לתוויות של מדדים.
ביצועי שאילתה וקרדינליות
כשמריצים שאילתה לנתונים, נפח הנתונים שמבקשים הוא הגורם הכי משמעותי לביצועי השאילתה: שאילתה לנתונים של שעה אחת בדרך כלל מהירה יותר מאותה שאילתה לנתונים של שישה חודשים. אבל נפח הנתונים שמוחזרים על ידי בקשה מושפע גם ממספר סדרות הזמן בבקשה. שאילתה שמחלצת נתונים של חודשיים למדד עם עוצמה נמוכה צפויה להיות מהירה יותר משאילתה אחרת שמחלצת נתונים של חודשיים למדד עם עוצמה גבוהה מאוד, בגלל כמות הנתונים שמחולצת.
העוצמה תלויה בעיקר במספר הערכים שהתוויות יכולות לקבל, ולא במספר התוויות. באופן כללי, אין לכם שליטה על הקרדינליות של המשאבים, כמו שינוי מספר הפודים או המכונות הווירטואליות בהתאם לצרכים העסקיים. אבל כשמייבאים מדדים ל-Cloud Monitoring, במקום להשתמש במדדי מערכת, יש לכם בדרך כלל שליטה מסוימת בקרדינליות של המדדים. לדוגמה, במדדים מותאמים אישית שהוגדרו על ידי המשתמש, אתם קובעים את התוויות ואת הערכים האפשריים שלהן. אם אתם מבצעים המרה של מדדים מ-Prometheus, אתם יכולים להשתמש בהגדרה מחדש של תוויות כדי לשנות את קבוצת התוויות ולהסיר סדרות זמן שאתם לא רוצים להמיר.
אפשר להשתמש בדף ניהול מדדים ב-Cloud Monitoring כדי לזהות מדדים שעשויות להיות להם בעיות של קרדינליות. כדי להציג את הדף ניהול מדדים:
-
נכנסים לדף Metrics management במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Monitoring.
- בסרגל הכלים, בוחרים את חלון הזמן. כברירת מחדל, בדף ניהול מדדים מוצג מידע על המדדים שנאספו ביום הקודם.
מידע נוסף על הדף ניהול מדדים זמין במאמר איך רואים ומנהלים את השימוש במדדים.
לרקע טכני על האופן שבו Cloud Monitoring מאחסן ומאחזר נתונים של סדרות זמנים, אפשר לעיין במאמר Monarch: Google's Planet-Scale In-Memory Time Series Database (מונארך: מסד נתונים של סדרות זמנים בזיכרון של Google בקנה מידה עולמי).
מידע על מגבלות על מדדים מוגדרים על ידי המשתמש ב-Cloud Monitoring זמין במאמר מדדים מוגדרים על ידי המשתמש.