מעקב אחר צריכת ההזמנות

במאמר הזה נסביר איך לעקוב אחרי צריכת הזמנות של משאבים אזוריים ב-Compute Engine באמצעות Cloud Monitoring.

‫Monitoring אוסף ומאחסן נתוני ביצועים של Cloud de Confiance by S3NS שירותים כמו Compute Engine. נתוני הביצועים נקראים מדדים וסדרות זמנים. אתם יכולים לגשת למדדים ולסדרת הזמנים של ההזמנות שלכם ב-Compute Engine כדי לבצע את הפעולות הבאות:

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

לפני שמתחילים

  • כדאי לעיין בדרישות וב הגבלות בנוגע להזמנות.
  • מפעילים את Monitoring API, אם הוא עדיין לא מופעל.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    להפעלת ה-API

  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    המסוף

    כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים Cloud de Confiance by S3NS ולממשקי ה-API, לא צריך להגדיר אימות.

    REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      מתקינים את ה-CLI של Google Cloud ואז נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות ליצירת לוחות בקרה של Monitoring או מדיניות התראות למעקב אחרי ניצול ההזמנות, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ Monitoring Admin (roles/monitoring.admin) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

ההרשאות הנדרשות

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

  • כדי ליצור מרכזי בקרה: ‫monitoring.dashboards.create בפרויקט
  • כדי ליצור התראות בנוגע למדיניות: monitoring.alertPolicies.create בפרויקט

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

הגבלות

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

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

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

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

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

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

מדדים של הזמנות

כשיוצרים לוחות בקרה של Monitoring או מדיניות התראות, קודם צריך לבחור את Cloud de Confiance המדד למדידת הביצועים של השירות Cloud de Confiance . לגבי מקומות שמורים, אפשר לבחור את המדדים הבאים של Compute Engine:

  • ‫Reserved: מספר המכונות הווירטואליות (VM) ששוריינו בכל הזמנה בפרויקט הנוכחי.

  • בשימוש: מספר המכונות הווירטואליות שנעשה בהן שימוש בכל שריון בפרויקט הנוכחי.

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

מסננים של הזמנות

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

סלקטור שם התווית תיאור
metadata.system machine_type סוג המכונה שצוין במכונות הווירטואליות המשוריינות להזמנה.
metadata.system name שם ההזמנה.
metadata.system state הסטטוס של ההזמנה. אפשר לעקוב רק אחרי הזמנות במצב ACTIVE, כלומר אחרי שההזמנה בוצעה.
metric reserved_resource_type סוג המשאבים של תחום מוגדר השמורים לפי מקום שמור. אפשר לעקוב רק אחרי הסוג instance, שהוא מכונה וירטואלית.
metric service_name

כשבוחרים את המדד Used במסוף Cloud de Confiance , אפשר לראות איזה מוצר Cloud de Confiance צורך את הקיבולת שהוזמנה. הערך יכול להיות אחד מהבאים:

  • ‫COMPUTE_ENGINE: מכונות וירטואליות ב-Compute Engine
  • ‫VERTEX_ONLINE_PREDICTION: מכונות וירטואליות במשימות חיזוי של Vertex AI
  • ‫VERTEX_TRAINING: מכונות וירטואליות ב-Vertex AI משימות אימון בהתאמה אישית

אם אתם משתמשים בהזמנות גם ב-Compute Engine וגם ב-Vertex AI, אתם צריכים ליצור מסנן לכל אחד מהערכים הקודמים.

resource location התחום שבו נמצאת ההזמנה.
resource reservation_id המזהה של הזמנה.
resource resource_container מספר הפרויקט שבו קיימת ההזמנה. אפשר לעקוב רק אחרי ההזמנות שנוצרו בפרויקט שלכם.

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

resource.location = "us-central1-a"

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

מעקב אחרי צריכת המשאבים שהוזמנו

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

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

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

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

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

יצירת מרכז בקרה

אתם יכולים ליצור לוחות בקרה של Monitoring ולראות את סדרות הזמן שקשורות לניצול של ההזמנות שלכם באמצעות מסוף Cloud de Confiance (מומלץ) ו-Monitoring API.

כשמגדירים איך להציג את נתוני סדרת הזמנים של מסנן ב-Monitoring, צריך להשתמש באחת מהשיטות הבאות:

  • שאילתה בסיסית: השיטה הזו שימושית להגדרה מהירה של נתוני סדרת הזמן לווידג'ט של מרכז הבקרה.

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

  • ‫PromQL: השיטה הזו שימושית לאחזור, סינון ושינוי של נתוני סדרות זמן כדי ליצור הגדרות מורכבות יותר לווידג'ט של לוח הבקרה.

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

שאילתה בסיסית

בדוגמה הבאה מוסבר איך ליצור לוח בקרה ב-Monitoring עם ווידג'ט של תרשים קו, כדי להציג את המקומות השמורים שנוצלו באזור us-central1-a.

המסוף

כדי ליצור לוח בקרה של Monitoring באמצעות שאילתה בסיסית:

  1. במסוף Cloud de Confiance , עוברים אל Dashboards.

    מעבר אל Dashboards

  2. לוחצים על יצירת לוח בקרה.

    נפתח הדף New dashboard.

  3. לוחצים על הוספת ווידג'ט.

    מופיעה החלונית Add widget (הוספת ווידג'ט).

  4. לוחצים על אחד מהווידג'טים הזמינים. לדוגמה, לוחצים על הווידג'ט Line.

    מופיעה החלונית Configure widget.

  5. לוחצים על בחירת מדד.

  6. בחלון בחירת מדד, מבצעים את הפעולות הבאות:

    1. מזינים Reservation ולוחצים על הזמנה.

    2. ברשימה Active metrics categories בוחרים שוב באפשרות Reservation.

    3. ברשימה Active metrics, בוחרים אחד מהמדדים הזמינים. לדוגמה, בוחרים באפשרות משומש.

    4. לוחצים על אישור.

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

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

    2. ברשימה Comparator בוחרים באחד מהאופרטורים הזמינים. בדוגמה הזו, בוחרים באפשרות = (שווה) (ברירת מחדל).

    3. ברשימה Value, בוחרים את האזור שרוצים להשתמש בו כדי לסנן את השריונים. בדוגמה הזו, בוחרים באפשרות us-central1-a.

  8. לוחצים על אישור.

אפשרויות נוספות להתאמה אישית של לוחות בקרה ב-Monitoring באמצעות מסוף Cloud de Confiance זמינות במאמר יצירה וניהול של לוחות בקרה בהתאמה אישית.

REST

כדי ליצור לוח בקרה של Monitoring באמצעות Basic Query, שולחים בקשת POST אל ה-method‏ dashboards.create.

POST https://monitoring.googleapis.com/v1/projects/PROJECT_ID/dashboards

{
  "displayName": "Consumed reservations in zone us-central1-a",
  "mosaicLayout": {
    "columns": 12,
    "tiles": [
      {
        "height": 4,
        "widget": {
          "title": "Reservation - Used for us-central1-a [MEAN]",
          "xyChart": {
            "chartOptions": {
              "mode": "COLOR"
            },
            "dataSets": [
              {
                "minAlignmentPeriod": "60s",
                "plotType": "LINE",
                "targetAxis": "Y1",
                "timeSeriesQuery": {
                  "timeSeriesFilter": {
                    "aggregation": {
                      "alignmentPeriod": "60s",
                      "perSeriesAligner": "ALIGN_MEAN"
                    },
                    "filter": "FILTER",
                    "secondaryAggregation": {
                      "alignmentPeriod": "60s",
                      "perSeriesAligner": "ALIGN_NONE"
                    }
                  }
                }
              }
            ],
            "timeshiftDuration": "0s",
            "yAxis": {
              "scale": "LINEAR"
            }
          }
        },
        "width": 6
      }
    ]
  }
}

מחליפים את מה שכתוב בשדות הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט הנוכחי.

  • ‫FILTER: המסנן של Monitoring שבו רוצים להשתמש בלוח הבקרה. לדוגמה, כדי לעקוב אחרי הניצול של ההזמנות באזור us-central1-a, מציינים את הפרטים הבאים:

    resource.type = 'compute.googleapis.com/Reservation' AND metric.type = 'compute.googleapis.com/reservation/used' AND resource.location = 'us-central1-a'

אפשרות נוספת להתאמה אישית של לוחות בקרה של Monitoring באמצעות Monitoring API מפורטת במאמר יצירה וניהול של לוחות בקרה באמצעות ה-API.

PromQL

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

המסוף

כדי ליצור לוח בקרה ב-Monitoring ולהוסיף ווידג'ט שמוגדר עם שאילתה באמצעות PromQL:

  1. נכנסים לדף  Dashboards במסוף Cloud de Confiance :

    עוברים אל מרכזי בקרה.

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

  2. לוחצים על Create dashboard.

    נפתח הדף New dashboard.

  3. לוחצים על הוספת ווידג'ט.

    מופיעה החלונית Add widget (הוספת ווידג'ט).

  4. לוחצים על אחד מהווידג'טים הזמינים. לדוגמה, לוחצים על הווידג'ט Line.

    מופיעה החלונית Configure widget.

  5. אם עורך הקוד לא מופיע, לוחצים על PromQL או על MQL. בקטע שפה, בוחרים באפשרות PromQL.

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

    (
      max by (metadata_system_name) ({"compute.googleapis.com/reservation/used"})
      /
      max by (metadata_system_name) ({"compute.googleapis.com/reservation/reserved"})
    )
    
  7. לוחצים על Run query.

  8. לוחצים על אישור.

אפשרויות נוספות להתאמה אישית של לוחות בקרה ב-Monitoring באמצעות מסוף Cloud de Confiance זמינות במאמר יצירה וניהול של לוחות בקרה בהתאמה אישית.

REST

כדי ליצור לוח בקרה של Monitoring ולהוסיף לו ווידג'ט שמוגדר עם שאילתה באמצעות PromQL, שולחים בקשת POST אל ה-method‏ dashboards.create.

POST https://monitoring.googleapis.com/v1/projects/PROJECT_ID/dashboards

{
  "displayName": "Consumed reservations in zone us-central1-a",
  "mosaicLayout": {
    "columns": 12,
    "tiles": [
      {
        "height": 4,
        "widget": {
          "title": "Reservation - Used for us-central1-a [MEAN]",
          "xyChart": {
            "chartOptions": {
              "mode": "COLOR"
            },
            "dataSets": [
              {
                "plotType": "LINE",
                "targetAxis": "Y1",
                "timeSeriesQuery": {
                  "timeSeriesQueryLanguage": "PROMQL_QUERY"
                }
              }
            ],
            "timeshiftDuration": "0s",
            "yAxis": {
              "scale": "LINEAR"
            }
          }
        },
        "width": 6,
        "xPos": 6
      }
    ]
  }
}

מחליפים את מה שכתוב בשדות הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט הנוכחי.

  • ‫PROMQL_QUERY: שאילתת PromQL לשימוש בווידג'ט של תרשים הקו. לדוגמה, כדי לראות את היחס בין המכונות הווירטואליות שבשימוש לבין המכונות הווירטואליות השמורות, צריך לציין את הפרטים הבאים:

    (
    max by (metadata_system_name) ({"compute.googleapis.com/reservation/used"})
    /
    max by (metadata_system_name) ({"compute.googleapis.com/reservation/reserved"})
    )

אפשרות נוספת להתאמה אישית של לוחות בקרה של Monitoring באמצעות Monitoring API מפורטת במאמר יצירה וניהול של לוחות בקרה באמצעות ה-API.

יצירת כללי מדיניות התראות

אפשר ליצור מדיניות התראות ב-Monitoring כדי לקבל התראות על צריכת המקומות השמורים בפרויקט הנוכחי באמצעות Cloud de Confiance המסוף ו-Monitoring API.

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

  • שאילתה בסיסית: השיטה הזו שימושית ליצירת תנאי התראה פשוטים.

    לדוגמה, אפשר להשתמש ב-Basic Query כדי ליצור תנאי להתראה שמופעל בכל פעם שנעשה שימוש בהזמנה בפעם הראשונה.

  • ‫PromQL: השיטה הזו שימושית לאחזור, לסינון ולשינוי של נתונים של סדרות זמן כדי ליצור תנאי התראה מורכבים יותר.

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

שאילתה בסיסית

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

המסוף

כדי ליצור מדיניות התראות ב-Monitoring באמצעות שאילתה בסיסית:

  1. במסוף Cloud de Confiance , נכנסים לדף Alerting.

    מעבר אל Alerting

  2. לוחצים על יצירת מדיניות.

    ייפתח הדף יצירת מדיניות התראות.

  3. לוחצים על בחירת מדד.

    יופיע החלון Select a metric (בחירת מדד).

  4. בחלון Select a metric (בחירת מדד), מבצעים את הפעולות הבאות:

    1. בשדה Filter by resource or metric name, מזינים את הערך Reservation.

    2. אם המדד Reservation מופיע ברשימה Active resources, בוחרים בו. אם לא, מבצעים את הפעולות הבאות:

      1. מבטלים את הסימון של Show only active resources & metrics.

        הרשימה Inactive resources מופיעה.

      2. ברשימה Inactive resources בוחרים באפשרות Reservation.

    3. ברשימה Active metrics categories בוחרים שוב באפשרות Reservation.

      מופיעה רשימה של מדדים פעילים.

    4. ברשימה Active metrics, בוחרים אחד מהמדדים הזמינים.

      לדוגמה, בוחרים באפשרות משומש.

    5. לוחצים על אישור.

  5. לוחצים על הוספת מסנן.

    מופיע הקטע הוספת מסנן.

  6. בקטע Add filter:

    1. ברשימה Label, בוחרים אחד מהמסננים הזמינים להזמנות שצוינו במסמך הזה.

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

    2. ברשימה השוואה, בוחרים באחד מהאופרטורים הזמינים.

      לדוגמה, בוחרים באפשרות = (שווה ל-) (ברירת המחדל).

    3. ברשימה Value, בוחרים את שם ההזמנה שרוצים לעקוב אחריה.

    4. לוחצים על סיום.

  7. לוחצים על הבא.

    מופיעה החלונית Configure alert trigger (הגדרת טריגר להתראה).

  8. בקטע Condition types, בוחרים אחת מהאפשרויות הבאות:

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

    2. כדי להפעיל את התנאי אם בסדרת זמן אין נתונים לזמן ספציפי, בוחרים באפשרות Metric absence (חוסר נתונים במדד).

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

    לדוגמה, בוחרים באפשרות סף (ברירת מחדל).

  9. ברשימה Alert trigger, בוחרים את התנאי שמפעיל את ההתראה.

    לדוגמה, בוחרים באפשרות Any time series violation (ברירת המחדל).

  10. ברשימה Threshold position, בוחרים מתי התנאי יופעל.

    לדוגמה, בוחרים באפשרות מעל הסף.

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

    לדוגמה, מזינים 0.

  12. בשדה שם התנאי, מזינים שם לתנאי.

    לדוגמה, מזינים Reservation RESERVATION_NAME consumed.

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

  13. לוחצים על הבא.

    מופיעה החלונית Configure notifications and finalize alert.

  14. לוחצים על שימוש בערוצי התראות.

  15. בשדה Notification channels, בוחרים את הערוצים שבהם רוצים לקבל התראות על האירוע.

    אם אין ערוצי התראות זמינים, לוחצים על Manage notification channels ופועלים לפי השלבים ליצירת ערוצי התראות. מידע נוסף מופיע במאמר בנושא יצירה וניהול של ערוצי התראות.

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

    לדוגמה, בוחרים באפשרות 3 ימים.

  17. בשדה שם מדיניות ההתראה, מזינים שם למדיניות ההתראה.

    לדוגמה, מזינים Alert: you started consuming reservation RESERVATION_NAME!

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

  18. לוחצים על הבא.

    ייפתח דף הבדיקה של תנאי ההתראה.

  19. לוחצים על יצירת מדיניות.

    יצירת מדיניות ההתראות עשויה להימשך כמה שניות. הפעולה הזו תעביר אתכם לדף Create alerting policy.

מידע נוסף על האפשרויות שזמינות לכם כשיוצרים מדיניות התראות באמצעות מסוף Cloud de Confiance ושאילתה בסיסית זמין במאמר יצירת מדיניות התראות מבוססת-מדדים.

REST

כדי ליצור מדיניות התראות ב-Monitoring באמצעות שאילתה בסיסית, שולחים בקשת POST אל ה-method‏ projects.alertPolicies.create.

POST https://monitoring.googleapis.com/v3/projects/PROJECT_ID/alertPolicies

{
  "displayName": "Alert: you started consuming reservation RESERVATION_NAME!",
  "conditions": [
    {
      "displayName": "Reservation RESERVATION_NAME consumed.",
      "conditionThreshold": {
        "filter": "FILTER",
        "aggregations": [
          {
            "alignmentPeriod": "300s",
            "crossSeriesReducer": "REDUCE_NONE",
            "perSeriesAligner": "ALIGN_MEAN"
          }
        ],
        "comparison": "COMPARISON_GT",
        "duration": "0s",
        "trigger": {
          "count": 1
        },
        "thresholdValue": 0
      }
    }
  ],
  "alertStrategy": {
    "autoClose": "AUTO_CLOSE_TIME"
  },
  "combiner": "OR",
  "enabled": true,
  "notificationChannels": [
    "projects/PROJECT_ID/notificationChannels/NOTIFICATION_CHANNEL"
  ]
}

מחליפים את מה שכתוב בשדות הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט הנוכחי.

  • ‫RESERVATION_NAME: השם של הזמנה קיימת שנמצאת בפרויקט הנוכחי.

  • ‫FILTER: מסנן Monitoring לשימוש במדיניות ההתראות. לדוגמה, כדי לעקוב אחרי המדד used של ההזמנה RESERVATION_NAME, צריך לציין את הפרטים הבאים:

    resource.type = 'compute.googleapis.com/Reservation' AND metric.type = 'compute.googleapis.com/reservation/used' AND metadata.system.name = 'RESERVATION_NAME'
  • ‫AUTO_CLOSE_TIME: הזמן בשניות לפני שאירוע נסגר באופן אוטומטי. הערך צריך להיות בין 0s ל-604800s (7 ימים). לדוגמה, מזינים 259200s (3 ימים).

  • ‫NOTIFICATION_CHANNEL: השם של ערוץ התראות קיים. הוראות להגדרת ערוץ התראות מופיעות במאמר בנושא יצירה וניהול של ערוצי התראות.

מידע נוסף על האפשרויות ליצירת מדיניות התראות באמצעות Monitoring API ושאילתה בסיסית זמין במאמר יצירת מדיניות התראות באמצעות ה-API.

PromQL

בדוגמה הבאה נוצרת מדיניות התראות ששולחת התראה בכל פעם שאחוז המכונות הווירטואליות שבשימוש מתוך המכונות הווירטואליות השמורות בהזמנות שלכם גבוה מ-90%.

המסוף

כדי ליצור מדיניות התראות ב-Monitoring באמצעות PromQL:

  1. במסוף Cloud de Confiance , נכנסים לדף Alerting.

    מעבר אל Alerting

  2. לוחצים על יצירת מדיניות.

    ייפתח הדף יצירת מדיניות התראות.

  3. בקטע Policy configuration mode (מצב הגדרת מדיניות), בוחרים באפשרות Code editor (MQL or PromQL) (עורך קוד (MQL או PromQL)).

    החלונית Query editor (עורך השאילתות) מופיעה.

  4. בוחרים באפשרות PromQL כשפה ומזינים שאילתת PromQL.

    לדוגמה, כדי ליצור שאילתה שמקבצת את ההזמנות לפי שם ומפעילה תנאי התראה כשמעל 90% מההזמנות מנוצלות, מזינים את השאילתה הבאה:

    (
      max by (metadata_system_name) ({"compute.googleapis.com/reservation/used"})
      /
      max by (metadata_system_name) ({"compute.googleapis.com/reservation/reserved"})
    ) > 0.9
    
  5. לוחצים על הבא.

    מופיעה החלונית Configure alert trigger (הגדרת טריגר להתראה).

  6. אם בחרתם באפשרות שם התנאי, הזינו שם לתנאי.

    לדוגמה, מזינים Over 90% of your reservations are consumed.

  7. לוחצים שוב על הבא.

    מופיעה החלונית Configure notifications and finalize alert.

  8. לוחצים על שימוש בערוצי התראות.

  9. בשדה Notification channels, בוחרים את הערוצים שבהם רוצים לקבל התראות על האירוע.

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

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

    לדוגמה, בוחרים באפשרות 3 ימים.

  11. בשדה שם מדיניות ההתראה, מזינים שם למדיניות ההתראה.

    לדוגמה, מזינים Alert: over 90% of your reservations are consumed.

  12. לוחצים על הבא.

    ייפתח דף הבדיקה של תנאי ההתראה.

  13. לוחצים על יצירת מדיניות.

    יצירת מדיניות ההתראה עשויה להימשך כמה שניות. הפעולה הזו תפנה אתכם לדף Create alerting policy.

מידע נוסף על יצירת מדיניות התראות באמצעות מסוףCloud de Confiance ו-PromQL זמין במאמר יצירת מדיניות התראות מבוססת-PromQL (מסוף).

REST

כדי ליצור מדיניות התראות ב-Monitoring באמצעות PromQL, שולחים בקשת POST אל ה-method‏ projects.alertPolicies.create.

POST https://monitoring.googleapis.com/v3/projects/PROJECT_ID/alertPolicies

{
  "displayName": "Alert: over 90% of your reservations are consumed.",
  "conditions": [
    {
      "displayName": "Over 90% of your reservations are consumed.",
      "conditionMonitoringQueryLanguage": {
        "duration": "0s",
        "trigger": {
          "count": 1
        },
        "query": "PROMQL_QUERY"
      }
    }
  ],
  "alertStrategy": {
    "autoClose": "AUTO_CLOSE_TIME"
  },
  "combiner": "OR",
  "enabled": true,
  "notificationChannels": [
    "projects/PROJECT_ID/notificationChannels/NOTIFICATION_CHANNEL"
  ]
}

מחליפים את מה שכתוב בשדות הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט הנוכחי.

  • ‫PROMQL_QUERY: שאילתת PromQL לשימוש במדיניות ההתראות. לדוגמה, כדי ליצור שאילתה שעוקבת אחרי המקרים שבהם אחוז המכונות הווירטואליות שבשימוש מתוך המכונות הווירטואליות השמורות הוא מעל 90% בהזמנות של הפרויקט הנוכחי, מציינים את הפרטים הבאים:

    (
    max by (metadata_system_name) ({"compute.googleapis.com/reservation/used"})
    /
    max by (metadata_system_name) ({"compute.googleapis.com/reservation/reserved"})
    ) > 0.9
  • ‫AUTO_CLOSE_TIME: הזמן בשניות לפני שאירוע נסגר באופן אוטומטי. הערך צריך להיות בין 0s ל-604800s (7 ימים). לדוגמה, מזינים 259200s (3 ימים).

  • ‫NOTIFICATION_CHANNEL: השם של ערוץ התראות קיים. הוראות להגדרת ערוץ התראות מופיעות במאמר בנושא יצירה וניהול של ערוצי התראות.

מידע נוסף על יצירת מדיניות התראות באמצעות Monitoring API ו-PromQL זמין במאמר יצירת מדיניות התראות שמבוססת על PromQL‏ (API).

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