סקירה כללית על Cloud Monitoring

‫Cloud Monitoring אוסף, מאחסן ומנתח נתונים של מדדים כדי לעזור לכם להבין את ההתנהגות, התקינות והביצועים של האפליקציות וGoogle Cloud השירותים שלכם. ‫Cloud Monitoring אוסף באופן אוטומטי מדדי ביצועים עבור רוב Google Cloud השירותים. אפשר גם לאסוף מדדים של Prometheus באמצעות השירות המנוהל של Google Cloud ל-Prometheus, או להתקין את סוכן תפעול במכונות וירטואליות (VM) של Compute Engine כדי לאסוף מדדים ויומנים מהאפליקציות ומתוכנות של צד שלישי.

בעזרת שירותי ההתראות, הבדיקות וההדמיה של Cloud Monitoring, אתם יכולים לעקוב אחרי העומס והביצועים של השירות, לוודא שהאתר רספונסיבי ולפקח על התקינות של אפליקציות מרכז האפליקציות. אפשר לגשת לרוב השירותים של Cloud Monitoring ולנהל אותם באמצעות מסוף Google Cloud , Cloud Monitoring API, Google Cloud CLI או Terraform.

שירותי Cloud Monitoring

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

התראות ב-Cloud Monitoring

כדי לקבל התראה כשערך של מדד לבדיקת ביצועים עומד בקריטריונים שהגדרתם, צריך ליצור מדיניות התראות. מדיניות ההתראות כוללת את רשימת האנשים או הקבוצות שיקבלו התראות. ‫Monitoring תומך בערוצים נפוצים להתראות, כולל אימייל, Cloud Mobile App ושירותים כמו PagerDuty או Slack. לדוגמה, אתם יכולים ליצור מדיניות התראות כדי לקבל התראה כשניצול המעבד של מכונה וירטואלית חורג מ-80%.

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

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

אפשר ליצור ולנהל מדיניות התראות באמצעות מסוף Google Cloud , Cloud Monitoring API,‏ Google Cloud CLI או Terraform.

מעקב ואימות יזומים

כדי לבדוק את הזמינות, העקביות והביצועים של השירותים, האפליקציות, דפי האינטרנט וממשקי ה-API, צריך ליצור בדיקות סינתטיות. לדוגמה, אפשר לבדוק את התגובה של נקודות קצה מסוג HTTP,‏ HTTPS ו-TCP באמצעות בדיקות זמינות, ולקבל התראה כשנקודת קצה לא מגיבה. אפשר גם ליצור כלי לבדיקת קישורים שבורים כדי לסרוק דף אינטרנט ואז לקבל התראה כשמזוהים קישורים שבורים.

אפשר ליצור ולנהל בדיקות סינתטיות באמצעות Google Cloud המסוף, Cloud Monitoring API,‏ Google Cloud CLI או Terraform.

המחשה של נתונים

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

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

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

    במרכזי הבקרה המותאמים אישית שלכם יכולים להופיע הנתונים הבאים:

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

    אפשר ליצור ולנהל לוחות בקרה באמצעות מסוףGoogle Cloud או API.

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

איסוף נתונים ואחסון שלהם

‫Cloud Monitoring אוסף ומאחסן את סוגי נתוני המדדים הבאים:

  • מדדים מבוססי-יומן שמתעדים מידע מספרי על היומנים שנכתבו ב-Cloud Logging. מדדים מבוססי-יומן שמוגדרים על ידי Google כוללים ספירות של השגיאות שהשירות מזהה ואת המספר הכולל של רשומות היומן שמתקבלות בפרויקט Google Cloud . אפשר גם להגדיר מדדים מבוססי-יומן.

שפות שאילתה ל-Cloud Monitoring

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

  • Google Cloud מסוף: אפשר לבנות את השאילתה על ידי בחירה באפשרויות בתפריטים, או לכתוב שאילתה. עורכי שאילתות זמינים עבור Prometheus Query Language (PromQL). עורך השאילתות מספק בדיקות תחביר והצעות. אפשר גם לכתוב ביטוי של מסנן Monitoring.

  • ‫Cloud Monitoring API: ה-API תומך ב-Prometheus Query Language‏ (PromQL) ובביטויי סינון של Monitoring.

מעקב אחרי מדדים של כמה Google Cloud פרויקטים

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

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

פרויקט ההיקף מארח גם היקף מדדים. היקף המדדים מגדיר את הפרויקטים והחשבונות שהמדדים שלהם גלויים לפרויקט ההיקף. אתם יכולים להגדיר את היקף המדדים בפרויקט כך שיכלול נתונים של סדרות זמנים מפרויקטים אחרים Google Cloud ומחשבונות AWS. במאמר הגדרת היקף מדדים למספר פרויקטים מוסבר איך משנים את היקף המדדים.

מודל הנתונים של Cloud Monitoring

בקטע הזה מוצג מודל הנתונים של Cloud Monitoring:

  • סוג מדד מתאר משהו שנמדד. דוגמאות לסוגי מדדים: ניצול ה-CPU של מכונה וירטואלית ואחוז הדיסק שנמצא בשימוש.

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

הנה כמה פרטים על מה שסדרת זמן מכילה:

  • המערך points מכיל את המדידות עם חותמת הזמן.

    זו דוגמה למערך points עם שני ערכים:

      "points": [
        {
          "interval": {
            "startTime": "2020-07-27T20:20:21.597143Z",
            "endTime": "2020-07-27T20:20:21.597143Z"
          },
          "value": {
            "doubleValue": 0.473005
          }
        },
        {
          "interval": {
            "startTime": "2020-07-27T20:19:21.597239Z",
            "endTime": "2020-07-27T20:19:21.597239Z"
          },
          "value": {
            "doubleValue": 0.473025
          }
        },
      ],
    

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

  • בשדה resource מתואר רכיב החומרה או התוכנה שנמצא במעקב. ב-Cloud Monitoring, רכיב החומרה או התוכנה נקרא משאב במעקב. דוגמאות למשאבים שנמצאים במעקב כוללות מכונות של Compute Engine ואפליקציות של App Engine. רשימה של משאבים במעקב זמינה במאמר רשימת משאבים במעקב.

    דוגמה לשדה resource:

      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "2708613220420473591",
          "zone": "us-east1-b",
          "project_id": "sampleproject"
        }
      }
    
    • בשדה type מופיע המשאב שבמעקב כ-gce_instance, מה שמציין שהמדידות האלה מתבצעות במכונה וירטואלית של Compute Engine.

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

  • בשדה metric מתואר מה נמדד.

    דוגמה לשדה metric:

      "metric": {
        "labels": {
          "instance_name": "test"
        },
        "type": "compute.googleapis.com/instance/cpu/utilization"
      },
    
    • בשביל Google Cloud שירותים, השדה type מציין את השירות ואת מה שעובר מעקב. בדוגמה הזו, שירות Compute Engine מודד את ניצול המעבד. אם השדה type מתחיל ב-custom או ב-external, המדד הוא מדד מותאם אישית או מדד שהוגדר על ידי צד שלישי.
    • השדה labels מכיל צמדי מפתח/ערך שמספקים מידע נוסף על המדידה. התוויות האלה מוגדרות כחלק מMetricDescriptor, שהוא מבנה נתונים שמגדיר את המאפיינים של הנתונים שנמדדים. הערך MetricDescriptor של המדד compute.googleapis.com/instance/cpu/utilization כולל את התווית instance_name.
  • בשדה metricKind מתואר הקשר בין מדידות סמוכות בסדרת זמן:

    • GAUGE מדדים שומרים את הערך של הדבר שנמדד בנקודת זמן מסוימת – לדוגמה, רשומה של טמפרטורה לפי שעה.

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

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

  • בשדה valueType מציינים את סוג הנתונים של המדידה: INT64,‏ DOUBLE,‏ BOOL,‏ STRING או DISTRIBUTION.

‫Cloud Monitoring כותב סדרת זמן אחת לכל שילוב של ערכי תווית משאב ומדד. אפשר להשתמש בתוויות האלה כדי לקבץ ולסנן סדרות זמן. לדוגמה, אם פרויקט Google Cloud מכיל כמה מופעים של מכונות וירטואליות ב-Compute Engine, ניצול המעבד של כל מופע של מכונה וירטואלית הוא סדרת זמן ייחודית. אלה כמה מהדרכים שבהן אפשר להציג את הנתונים האלה:

  • אפשר להציג את ניצול המעבד של כל מכונה וירטואלית.
  • כדי להציג את ניצול המעבד (CPU) של מופע ספציפי של מכונה וירטואלית, צריך לסנן את סדרת הזמן לפי ערך יחיד של התווית instance_id.
  • אפשר לקבץ את מופעי מכונות ה-VM לפי התווית machine_type, ואז להציג את ממוצע השימוש במעבד. בצילום המסך הבא מוצג תרשים עם ההגדרה הזו:

    השימוש הממוצע במעבד (CPU) מקובץ לפי סוג המכונה.

תמחור

למידע על התמחור של Cloud Monitoring, אפשר לעיין בדף התמחור של Google Cloud Observability.

המאמרים הבאים