המבנה של פעולות על ציר הזמן

‫Cloud Monitoring API מייצג את מודל המדדים של Cloud Monitoring באמצעות האובייקטים TimeSeries,‏ Metric,‏ MonitoredResource ואובייקטים של מתארים. הבנת המבנה הזה עוזרת להשתמש ב-Monitoring API ישירות, ליצור מדדים מותאמים אישית ולשלב מקורות חיצוניים כמו OpenTelemetry, שהנתונים שלו ממופים לאותו מודל. אם אתם משתמשים ב-Monitoring בעיקר דרך מסוף Google Cloud , כנראה שאתם לא צריכים את רמת הפירוט הזו.

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

בדיקה של מודל המדדים

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

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

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

    Points: [(value1, time1), (value2, time2), ...]
    Metric type information: integer? incremental?
    Monitored resource: project? location? method?

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

סדרת זמנים לדוגמה

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

    {
      "metric": {
        "labels": {
          "log": "kubelet",
          "severity": "DEFAULT"
        },
        "type": "logging.googleapis.com/log_entry_count"
      },
      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "5106847938295940291",
          "zone": "us-central1-a",
          "project_id": "a-gcp-project"
        }
      },
      "metricKind": "DELTA",
      "valueType": "INT64",
      "points": [
        {
          "interval": {
            "startTime": "2019-12-20T20:25:38Z",
            "endTime": "2019-12-20T20:26:38Z"
          },
          "value": {
            "int64Value": "20"
          }
        }
      ]
    }

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

  • השדה metric מתעד:

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

    המידע בשדה הזה מתואר בפירוט רב יותר בקטע מדדים.

  • השדה resource מתעד:

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

    המידע בשדה הזה מתואר בפירוט במאמר אובייקטים של משאבים במעקב.

  • השדות metricKind ו-valueType מסבירים איך לפרש את הערכים. למידע נוסף, קראו את המאמר סוגי ערכים וסוגי מדדים.

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

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

בהמשך הדף מפורט המידע שמופיע בשדות metric ו-resource.

משאבים במעקב

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

אובייקטים של משאבים במעקב

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

לדוגמה, זהו אובייקט של משאב במעקב שמתאר מכונה מסוימת של Compute Engine, שחולץ מסדרת הזמן לדוגמה:

      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "5106847938295940291",
          "zone": "us-central1-a",
          "project_id": "a-gcp-project"
        }
      }

המופע הזה של משאב במעקב הוא מסוג gce_instance, ויש לו ערך instance_id ספציפי (5106847938295940291) בפרויקט a-gcp-project. המכונה נמצאת בארה"ב. סדרת נתונים אחרת יכולה להגיע ממכונה אחרת של המשאב במעקב. כל שילוב של ערכי תוויות מזהה משאב ייחודי שממנו נאספים נתונים.

קבוצות שונות של תוויות מתאימות למשאבים שונים. קבוצת התוויות של משאב נקבעת לפי התיאור של המשאב במעקב מאותו סוג.

מתארי משאבים במעקב

המידע על סוג המשאב במעקב נשמר במבנה נתונים שנקרא מתאר של משאב במעקב. להגדרה של מבנה הנתונים הזה, ראו MonitoredResourceDescriptor.

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

{
  "type": "gce_instance",
  "displayName": "VM Instance",
  "description": "A virtual machine instance hosted in Compute Engine.",
  "name": "projects/[PROJECT_ID]/monitoredResourceDescriptors/gce_instance",
  "labels": [
    {
      "key": "project_id",
      "description": "The identifier of the GCP project associated with this resource, such as \"my-project\"."
    },
    {
      "key": "instance_id",
      "description": "The numeric VM instance identifier assigned by Compute Engine."
    },
    {
      "key": "zone",
      "description": "The Compute Engine zone in which the VM is running."
    }
  ]
}

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

אפשר לאחזר את התיאורים של המשאבים במעקב בפרויקט ב- Google Cloud באמצעות Cloud Monitoring API. לדוגמה, אפשר לעיין בדפי העזר של השיטות monitoredResourceDescriptors.list ו-monitoredResourceDescriptors.get.

דוגמה בזמן אמת: אם יש לכם פרויקט ב- Google Cloud , אתם יכולים לאחזר את התיאור הזה באמצעות הווידג'ט של APIs Explorer באופן הבא:

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

  2. בחלונית Try this method, בשדה name, מחליפים את PROJECT_ID במזהה הפרויקט ב-Google Cloud ומזינים את הפרטים הבאים:

    projects/PROJECT_ID/monitoredResourceDescriptors/gce_instance
    
  3. לוחצים על Execute.

הבקשה מחזירה את התיאור הקודם.

במאמר רשימת סוגי המדדים והמשאבים תוכלו למצוא דוגמאות לשימוש בשיטות של Monitoring API.

מדדים

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

אובייקטים של מדדים

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

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

    {
      "metric": {
        "labels": {
          "log": "kubelet",
          "severity": "DEFAULT"
        },
        "type": "logging.googleapis.com/log_entry_count"
      }

האובייקט הזה מציין שסדרת הזמנים מכילה logging.googleapis.com/log_entry_count מדידות. ערכי התוויות מציינים שסדרת הזמן הספציפית הזו סופרת רק רשומות ביומן ברמת החומרה DEFAULT בקובץ היומן שנקרא kubelet.

יש סדרת זמן אחת לכל שילוב של ערכי תוויות, כך שרשומות של INFO לאותו קובץ יומן מופיעות בסדרת זמן אחרת.

קבוצת התוויות שנאספות באובייקט של מדד מצוינת בתיאור של סוג המדד הזה.

תיאורי מדדים

המידע על סוג המדד נשמר במבנה נתונים שנקרא תיאור מדד. להגדרה של מבנה הנתונים הזה, ראו MetricDescriptor.

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

דוגמה לתיאור מדד:

{
  "type": "logging.googleapis.com/log_entry_count",
  "name": "projects/a-gcp-project/metricDescriptors/logging.googleapis.com/log_entry_count",
  "labels": [
    {
      "key": "log",
      "description": "Name of the log."
    },
    {
      "key": "severity",
      "description": "Severity of the log entry."
    }
  ],
  "metricKind": "DELTA",
  "valueType": "INT64",
  "unit": "1",
  "description": "Number of log entries that contributed to user-defined metrics.",
  "displayName": "Log entries",
  "metadata": {
    "launchStage": "GA",
    "samplePeriod": "60s"
  },
  "launchStage": "GA"
}

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

אפשר לאחזר תיאורי מדדים באמצעות Cloud Monitoring API. לדוגמה, עיינו בדפי העזר של השיטות metricDescriptors.list ו-metricDescriptors.get.

דוגמה בזמן אמת: אם יש לכם פרויקט ב- Google Cloud , אתם יכולים לאחזר את התיאור הזה באמצעות הווידג'ט של APIs Explorer באופן הבא:

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

  2. בחלונית Try this method, בשדה name, מחליפים את PROJECT_ID במזהה הפרויקט ב-Google Cloud ומזינים את הפרטים הבאים:

    projects/PROJECT_ID/metricDescriptors/logging.googleapis.com/log_entry_count
    
  3. לוחצים על Execute.

הבקשה מחזירה את התיאור הקודם.

לדוגמאות לשימוש בשיטות של Monitoring API, ראו רשימת סוגי המדדים והמשאבים.

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

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