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

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

שירותי ההתראות, הבדיקות וההדמיה שמוצעים ב-Cloud Monitoring עוזרים לכם לענות על שאלות חשובות כמו:

  • מה העומס על השירות שלי?
  • האם האתר שלי מגיב בצורה תקינה?
  • האם השירות שלי פועל בצורה טובה?
  • מה מצב התקינות של האפליקציה שלי ב-App Hub?

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

שירותי 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 משאבים או רושמים אפליקציות ב-App Hub, שירות לוחות הבקרה יוצר באופן אוטומטי לוחות בקרה שמנוהלים על ידיGoogle Cloud. במרכזי הבקרה האלה מוצג מידע שנאסף ועוזר לכם להבין את מצב התקינות של המשאבים והאפליקציות שלכם. לדוגמה, באפליקציה ב-App Hub, נוצרים מרכזי בקרה לאפליקציה ולכל אחד מהשירותים ועומסי העבודה שלה. בלוחות הבקרה האלה מוצג מידע כמו יומן של אפליקציה או נתוני מדדים, ומספר ההתראות הפתוחות.

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

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

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

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

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

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

איסוף ואחסון נתונים

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

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

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

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

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

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

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

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

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

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

מודל הנתונים של 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 ואז להציג את ממוצע השימוש במעבד. בצילום המסך הבא מוצג תרשים עם ההגדרה הזו:

    ממוצע ניצול המעבד, מקובץ לפי סוג המכונה.

תמחור

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

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