רכיבים של מודל המדדים

המודל של Cloud Monitoring לנתוני מעקב מורכב משלושה מושגים עיקריים:

  • סוגי משאבים במעקב
  • סוגי מדדים
  • פעולות על ציר הזמן

במסמך מודל המדדים מתוארים המושגים האלה ב-Cloud Monitoring במונחים כלליים. אם המושגים האלה חדשים לכם, כדאי לקרוא קודם את הדף הזה.

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

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

למידע נוסף על המושגים האלה ועל המיפוי שלהם ל-Cloud Monitoring API, אפשר לעיין במאמר מבנה של סדרות זמן, במיוחד אם אתם מתכננים להשתמש ב-Monitoring API או במדדים בהתאמה אישית.

כמה מילים על תוויות

גם סוגי המשאבים במעקב וגם סוגי המדדים תומכים בתוויות, שמאפשרות לסווג את הנתונים במהלך הניתוח. לדוגמה:

  • סוג של משאב בפיקוח למכונה וירטואלית יכול לכלול תוויות למיקום של המכונה ולמזהה הפרויקט שמשויך למכונה. כשמידע על המשאב שבמעקב מתועד, המידע כולל את הערכים של התוויות. למשאב במעקב יכולות להיות גם תוויות של מטא-נתונים שסופקו על ידי המערכת או על ידי המשתמש, בנוסף לתוויות שהוגדרו לסוג המשאב במעקב.
  • לסוג מדד שסופר בקשות ל-API יכולות להיות תוויות לתיעוד השם של ה-method שהופעל והסטטוס של הבקשה.

מידע נוסף על השימוש בתוויות זמין במאמר תוויות.

סוגי משאבים במעקב

משאב במעקב הוא משאב שממנו נאספים נתונים של מדדים. ‫Cloud Monitoring תומך בכ-270 סוגים של משאבים במעקב.

סוגי המשאבים שבמעקב כוללים צמתים ומשימות כלליים, רכיבים ארכיטקטוניים ב-Google Kubernetes Engine, טבלאות ב-Bigtable, משאבי AWS שונים ועוד.

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

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

דוגמה לסוג של משאב במעקב

בתמונה הבאה מוצגת רשומה ברשימה של קטגוריה ב-Cloud Storage:

רשימה של קטגוריית Cloud Storage.

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

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

סוגי מדדים

סוג מדד מתאר מדידות שאפשר לאסוף ממקור שעובר מעקב. סוג מדד כולל תיאור של מה נמדד ואיך מפרשים את המדידות. ‫Cloud Monitoring תומך בכ-6,500 סוגים של מדדים, ומאפשר לכם להגדיר סוגים חדשים.

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

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

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

דוגמה לסוג מדד

בתמונה הבאה מוצגת רשומה של סוג מדד של Cloud Storage:

קטע מרשימת המדדים של Cloud Storage.

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

דוגמה לנתוני טבלה ב-Cloud Storage:

  • סוג המדד: מזהה של סוג המדד, storage.googleapis.com/api/request_count בדוגמה.

    הקידומת storage.googleapis.com משמשת כמרחב שמות ל-Cloud Storage. כל סוגי המדדים שמשויכים לסוג מסוים של monitored-resource משתמשים באותו מרחב שמות.

    מרחבי שמות מושמטים מהערכים בטבלאות.

    כל סוגי המדדים שמשויכים ל-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,
method: read
{
(3, Wed 2:00pm),
(2, Wed 2:05pm),
(8, Wed 2:10pm),
...}
bucket: 1234 response_code: OK,
method: write
{
(1, Wed 2:01pm),
(2, Wed 2:04pm),
(7, Wed 2:09pm),
...}
bucket: 1234 response_code: FAIL,
method: write
{
(1, Wed 2:01pm),
(0, Wed 2:04pm),
(0, Wed 2:09pm),
...}
bucket: 9876 response_code: OK,
method: read
{
(2, Wed 1:59pm),
(4, Wed 2:05pm),
(3, Wed 2:10pm),
...}

‫Cloud Monitoring לא מתעד סדרות זמן 'ריקות'. בדוגמה של באקטים ב-Cloud Storage, אם אתם לא משתמשים בבאקט מסוים או אף פעם לא קוראים לשיטה מסוימת של API, לא נאספים נתונים לגבי התווית הזו, ולא מוזכרת סדרת זמן. המשמעות היא שאם בפרויקט שלכם אין נתונים בכלל לגבי מדד מסוים, לא תראו את סוג המדד.

סוגי המדדים לא מציינים אילו סוגים של משאבים במעקב נמצאים בסדרות הזמן של המדדים. ב-Cloud Storage יש רק סוג אחד של משאב במעקב – gcs_bucket. חלק מסוגי המדדים משויכים ליותר ממשאב אחד במעקב.

דוגמה פעילה: אם יש לכם Google Cloud פרויקט, תוכלו לנסות את הווידג'ט של APIs Explorer שנמצא בדף ההפניה לשיטה timeSeries.list ב-Monitoring API.

  1. פותחים את דף העזר של timeSeries.list.

  2. בחלונית עם הכותרת 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: מזינים את שעת הסיום.

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

{
  "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 כדי לזהות מדדים שעשויות להיות להם בעיות של קרדינליות. כדי להציג את הדף ניהול מדדים:

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

    נכנסים אל ניהול מדדים.

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

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

מידע נוסף על הדף ניהול מדדים זמין במאמר איך רואים את השימוש במדדים ומנהלים אותו.

למידע טכני על האופן שבו Cloud Monitoring מאחסן ומאחזר נתונים של סדרות זמנים, אפשר לעיין במאמר Monarch: Google's Planet-Scale In-Memory Time Series Database (מונארך: מסד נתונים של סדרות זמנים בזיכרון של Google בקנה מידה עולמי).

מידע על מגבלות של מדדים מוגדרים על ידי המשתמש ב-Cloud Monitoring מופיע במאמר מדדים מוגדרים על ידי המשתמש.