תרשים ומעקב אחרי מדדי המכסות

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

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

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

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

ניהול מכסות

‫Google Cloud מספק שני מנגנונים לשירותים להגדרת מכסות ולניהול שלהן:

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

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

    רוב הדוגמאות בדף הזה הן דוגמאות למכסות לצרכנים.

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

    • service/quota/quota-type/exceeded
    • service/quota/quota-type/limit
    • service/quota/quota-type/usage

    לדוגמה, ל-Compute Engine יש את המשאב compute.googleapis.com/VpcNetwork. מדדים שקשורים למכסה שמשויכים למשאב הזה הם קבוצת המשנה compute.googleapis.com/quota של המדדים compute. יש שלושה סוגי מדדים שקשורים למכסת 'מכונות וירטואליות לכל רשת VPC':

זיהוי מדדי מכסה ושמות של מגבלות

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

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

  • מדד מכסה: מדד המכסה הוא מזהה של סוג מכסה. הוא לא אחד מסוגי המדדים שמתוארים ברשימת המדדים. לדוגמה, כל נתוני המכסות לצרכנים נכתבים כserviceruntime.googleapis.com סוג מדד כמו quota/allocation/usage. לסוג המדד הזה יש תווית quota_metric שאפשר להשתמש בה כדי לסנן לפי מכסת נתונים ספציפית, למשל נתוני שימוש בהקצאה.
  • שם המכסה: שם המכסה מזהה מכסה מסוג מסוים. יכול להיות שלמכסת שימוש יהיו משויכות כמה מגבלות. לדוגמה, מכסה של קריאות קריאה יכולה להיות מוגבלת ל-100 קריאות בדקה ול-1, 000 קריאות ביום, עם שני שמות של מגבלות: readsPerMinute ו-readsPerDay. יכול להיות שבסוגי מדדים שקשורים למכסת השימוש יהיה שדה limit_name בשביל הערך הזה.

כל serviceruntime.googleapis.com/quota סוגי המדדים מספקים את התווית quota_metric, אבל רק חלק מהם כוללים את התווית limit_name. סוגי מדדים ספציפיים למשאבים של מכסות כוללים את התווית limit_name.

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

  1. במסוף Google Cloud , נכנסים לדף Quotas & System Limits:

    כניסה לדף Quotas & System Limits

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

  2. לוחצים על הצגת עמודה ומוסיפים את העמודות הבאות לתצוגת המכסה:

    • מדד: בעמודה הזו מוצג הערך של התווית quota_metric.
    • שם המגבלה: בעמודה הזו מוצג הערך של התווית limit_name.
    • משאב במעקב: אם מציינים משאב במעקב, המכסה מתייחסת למשאב הזה. אם השדה ריק, המשאב במעקב של המכסה הוא consumer_quota.
  3. מאתרים את המכסה הרלוונטית.

    כששירות מספק מכסת צריכה, הרשומה בטבלה לא מפרטת משאב בפיקוח. לדוגמה, במכסה של רשתות משנה ב-API של Compute Engine, המדד הוא compute.googleapis.com/subnetworks ושם המכסה הוא SUBNETWORKS-per-project. העמודה משאב במעקב ריקה.

    כשבשירות יש מכסה או מגבלה ספציפיים למשאב, מצוין סוג המשאב במעקב. לדוגמה, בדף המכסות של AlloyDB API יש רשומה בשם 'Storage used per cluster (bytes)' (הנפח בשימוש לכל אשכול (בייטים)). סוג המשאב במעקב הוא alloydb.googleapis.com/Location והמדד הוא alloydb.googleapis.com/storage_usage_per_cluster.

דוגמה: הצגת נתוני השימוש במדד מכסה ספציפי של צרכן

המטרה היא ליצור תרשים שמציג, לפי אזור, את מכסת נפח האחסון הכוללת בדיסקים של Compute Engine. בדוגמה הזו של מכסת צרכן, המערכת מאחזרת נתונים של quota/allocation/usage, ואז מסננת את הנתונים כך שיוצג השימוש בהקצאה של מדד מכסה ספציפי:

  1. במסוף Google Cloud , בוחרים באפשרות Cloud Monitoring ואז באפשרות Metrics Explorer.

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

  3. מרחיבים את התפריט סוג הווידג'ט ובוחרים באפשרות תרשים עמודות אופקי מוערם.

  4. מגדירים את Metrics Explorer כך שיציג את השימוש במכסת ההקצאה:

    1. לוחצים על Select a metric ומזינים allocation ב Filter bar.
    2. בוחרים באפשרות Consumer Quota בשביל המשאב.
    3. בוחרים באפשרות Quota (מכסת נפח) בקטגוריית המדדים.
    4. בוחרים את המדד Allocation quota usage ולוחצים על Apply.
    5. מרחיבים את התפריט צבירה ובוחרים באפשרות ללא צבירה.

    בוחרים באפשרות 'מכסה לצרכן'.

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

    אם משתמשים ב-Cloud Monitoring API, ערך המסנן המקביל הוא:

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota"
    

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

  5. כדי להגביל את התרשים לשירות Compute Engine, מוסיפים את המסנן service = compute.googleapis.com:

    סינון מכסת צרכנים לפי שירות מחשוב.

    אם משתמשים ב-Cloud Monitoring API, ערך המסנן המקביל הוא:

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" resource.label.service="compute.googleapis.com"
    

    בתרשים מוצגת עכשיו סדרת הזמן של השימוש במכסה שהוקצתה למכסות של Compute Engine. במקרא מוצג הערך של התווית quota_metric לכל סדרת זמן שמוצגת. הערך הזה מזהה את המכסה הספציפית. לדוגמה, המחרוזת compute.googleapis.com/disks_total_storage מזהה את סדרת הזמן של המכסה הכוללת לאחסון בדיסק ב-Compute Engine.

    בתרשים מוצג השימוש במכסות רק אם נרשם שימוש במכסות האלה. לדוגמה, אם בפרויקט אין משאבים של Compute Engine, סינון לפי השירות compute.googleapis.com יציג תרשים ללא נתונים.

  6. כדי ליצור תרשים שמציג את השימוש הכולל במכסת אחסון הדיסקים ב-Compute Engine, משתמשים במסנן quota_metric = compute.googleapis.com/disks_total_storage:

    סינון מכסת צרכן לפי מדד מכסה.

    אם משתמשים ב-Cloud Monitoring API, ערך המסנן המקביל הוא:

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" metric.label.quota_metric="compute.googleapis.com/disks_total_storage"
    
  7. בתרשים הקודם מוצגות סדרות זמן לאזורים us-central1 ו-us-east1, ולמספר אזורים כולל אזור us-central1-a.

    כדי לשפר את התרשים כך שיוצגו בו נתונים רק לגבי האזורים, בלי האזורים, מוסיפים מסנן שמבוסס על התווית location. בדוגמה הזו, שבה שני האזורים מתחילים ב-us- ומסתיימים ב-1, מסנן שמשתמש בביטוי הרגולרי location =~ ^us.*1$ פועל בצורה טובה:

    סינון לפי מדד מכסת נפח ואזור.

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

כללי מדיניות התראות ב-Cloud Monitoring

מדיניות התראות היא דרך להגדיר את Monitoring כך שישלח לכם התראות כשקורה משהו, למשל כשמגיעים ל-85% מהמגבלה של מכסה.

מדיניות התראות היא אוסף של תנאים ופרטי התראות:

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

יש שתי שיטות שבהן אפשר להשתמש כדי ליצור תנאים למדיניות התראות:

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

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

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

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

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

  • בטבלה הראשונה מוסבר מה נבדק ואיך הנתונים משולבים.
  • בטבלה השנייה מפורט מתי נוצרת התראה.

הדוגמאות האלה מתייחסות לגישה שמבוססת על מסננים.

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

התראות על שגיאות ב-quota/exceeded

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

שימוש במסוף Google Cloud

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

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

תיבת הדו-שיח תנאי חדש
שדה

ערך
מקור מידע ומדד בתפריט Resources בוחרים באפשרות Consumer Quota.
בתפריט Metric categories בוחרים באפשרות Quota.
בתפריט Metrics, בוחרים באפשרות Quota exceeded error.

(metric.type הוא serviceruntime.googleapis.com/quota/exceeded,
וresource.type הוא consumer_quota).
פילטר

מוסיפים מסנן כדי שהתרשים יציג רק את הנתונים של השירות שרוצים לעקוב אחריו. לדוגמה, כדי לעקוב אחרי שירות ניהול הזהויות והרשאות הגישה, מוסיפים את המסנן הבא: service = iam.googleapis.com.

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

חלון נע בוחרים באפשרות 1 m
.
פונקציה אנליטית (window function) בוחרים באפשרות count true
.

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

במקרה של המדד הזה, הפונקציות של חלון נע count true ו-count שוות.

בסדרות עיתיות
צבירה של סדרות עיתיות

בוחרים באפשרות sum.

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

בסדרות עיתיות
קיבוץ לפי סדרות עיתיות

בוחרים באפשרות quota_metric.

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

משלימים את תיבת הדו-שיח Configure trigger (הגדרת טריגר) באמצעות ההגדרות הבאות. ההגדרות האלה גורמות לכך שמדיניות ההתראות תיצור התראה אם מספר השגיאות שקשורות לחריגה מהמכסה יהיה גדול מ-0 למשך דקה אחת. הערך 0 נבחר כאן כי שגיאות של חריגה מהמכסה הן לא צפויות, והן מצביעות על כך שצריך להגדיל את המכסה או לשנות את השירות כדי לצמצם את בקשות ה-API. כדאי להשתמש בסף גבוה יותר.

תיבת הדו-שיח Configure trigger (הגדרת הטריגר)
Field (שדה)

ערך
סוג התנאי Threshold
טריגר להתראה Any time series violates
Threshold position Above threshold
סכום הסף 0
חלון הבדיקה מחדש מטר אחד

שימוש ב-Cloud Monitoring API

אפשר ליצור את מדיניות ההתראות הזו באמצעות ה-method של ה-API‏ alertPolicies.create. אפשר להפעיל את Cloud Monitoring API ישירות, באמצעות Google Cloud CLI או באמצעות ספריות לקוח. מידע נוסף זמין במאמר בנושא יצירת כללי מדיניות.

מידע על ייצוג של מדיניות התראות בפורמט JSON או YAML זמין במאמר מדיניות לדוגמה.

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


{
    "combiner": "OR",
    "conditions": [
      {
        "conditionThreshold": {
          "aggregations": [
            {
              "alignmentPeriod": "60s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_COUNT_TRUE"
            }
          ],
          "comparison": "COMPARISON_GT",
          "duration": "60s",
          "filter": "metric.type=\"serviceruntime.googleapis.com/quota/exceeded\" resource.type=\"consumer_quota\"",
          "trigger": {
            "count": 1
          }
        },
        "displayName": "Quota exceeded error by label.quota_metric SUM",
      }
    ],
    "displayName": "Quota exceeded policy",
  }

התראה על הערך המוחלט של quota/allocation/usage

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

שימוש במסוף Google Cloud

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

משלימים את תיבת הדו-שיח New condition (תנאי חדש) באמצעות ההגדרות שבטבלה הבאה. ההגדרה הזו מציינת שרוצים לעקוב אחרי נתוני הסדרה העיתית של המדד serviceruntime /quota/allocation/usage בשירות אחד בפרויקט Google Cloud , וגם לקבץ את הנתונים לפי מגבלת המכסה.

תיבת הדו-שיח תנאי חדש
שדה

ערך
מקור מידע ומדד בתפריט Resources בוחרים באפשרות Consumer Quota.
בתפריט Metric categories בוחרים באפשרות Quota.
בתפריט מדדים, בוחרים באפשרות שימוש במכסת הקצאה.

(metric.type הוא serviceruntime.googleapis.com/quota/allocation/usage,
וresource.type הוא consumer_quota).
פילטר

מוסיפים מסנן כדי שהתרשים יציג רק את הנתונים של השירות שרוצים לעקוב אחריו. לדוגמה, כדי לעקוב אחרי שירות ניהול הזהויות והרשאות הגישה, מוסיפים את המסנן הבא: service = iam.googleapis.com.

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

חלון נע בוחרים באפשרות 1440 m
.

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

פונקציה אנליטית (window function) בוחרים באפשרות next older
.

הפונקציה האנליטית (window function) של חלון הזמן הנע מוגדרת ל-next older כדי לכלול את הערך הנמדד האחרון של מדד GAUGE.

בסדרות עיתיות
צבירה של סדרות עיתיות

בוחרים באפשרות sum.

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

בסדרות עיתיות
קיבוץ לפי סדרות עיתיות

בוחרים באפשרות quota_metric.

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

משלימים את תיבת הדו-שיח Configure trigger (הגדרת טריגר) באמצעות ההגדרות הבאות. ההגדרות האלה גורמות לכך שמדיניות ההתראות תיצור התראה אם הערך של סדרת הזמן יעלה על 2.5 למשך 1,440 דקות. הערך 1,440 דקות תואם לחלון הנע. בדוגמה הזו נבחר הערך 2.5 כי הוא קצת יותר גבוה מהערך הרגיל במערכת הבדיקה. צריך לבחור את ערך הסף על סמך השירות שמנטרים, בשילוב עם הבנה של טווח הערכים הצפוי של המדד.

תיבת הדו-שיח Configure trigger (הגדרת הטריגר)
Field (שדה)

ערך
סוג התנאי Threshold
טריגר להתראה Any time series violates
Threshold position Above threshold
סכום הסף 2.5
חלון הבדיקה מחדש ‫1,440 מ'

שימוש ב-Cloud Monitoring API

אפשר ליצור את מדיניות ההתראות הזו באמצעות ה-method ‏alertPolicies.create של ה-API. אפשר להפעיל את Cloud Monitoring API ישירות, באמצעות Google Cloud CLI או באמצעות ספריות לקוח. מידע נוסף זמין במאמר בנושא יצירת כללי מדיניות.

מידע על ייצוג של מדיניות התראות בפורמט JSON או YAML זמין במאמר מדיניות לדוגמה.

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


{
    "combiner": "OR",
    "conditions": [
      {
        "conditionThreshold": {
          "aggregations": [
            {
              "alignmentPeriod": "86400s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_NEXT_OLDER"
            }
          ],
          "comparison": "COMPARISON_GT",
          "duration": "86400s",
          "filter": "metric.type=\"serviceruntime.googleapis.com/quota/allocation/usage\" resource.type=\"consumer_quota\" resource.label.\"service\"=\"iam.googleapis.com\"",
          "thresholdValue": 2.5,
          "trigger": {
            "count": 1
          }
        },
        "displayName": "Allocation quota usage for iam.googleapis.com by label.quota_metric SUM",
      }
    ],
    "displayName": "Absolute quota usage policy",
  }

דוגמאות למדיניות התראות ב-PromQL

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

אפשר ליצור מדיניות התראות מבוססת-PromQL באמצעות מסוף Google Cloud או Monitoring API:

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

מדיניות התראות שעוקבת אחרי היחס בין מכסה לקצב הגשת בקשות למגבלת המכסה

תבנית השאילתה הבאה ב-PromQL מתארת מדיניות התראות ששולחת התראה כשהשימוש במשאב ספציפי בשירות, לפי קצב לדקה, חורג מ-80% ממגבלה ספציפית:

(
  sum by (project_id, quota_metric, location) (increase({"serviceruntime.googleapis.com/quota/rate/net_usage", monitored_resource="consumer_quota", service="sample.googleapis.com"}[1m]))
  /
  max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service="sample.googleapis.com", limit_name="Limit"})
) > 0.8

כדי להשתמש בתבנית השאילתה הזו, צריך לבצע את השינויים הבאים:

  • מחליפים את sample.googleapis.com בשירות שרוצים לעקוב אחריו.
  • מחליפים את Limit ב-limit_name במגבלה שרוצים לעקוב אחריה. מידע על איתור שמות של מגבלות זמין במאמר זיהוי מדדי מכסות ושמות של מגבלות
  • מחליפים את 1m בחלון זמן מתאים לשאילתה.

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

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

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

תבנית השאילתה הבאה ב-PromQL מתארת מדיניות התראות ששולחת התראות כשהשימוש בשירותים של משאב כלשהו עולה על 80% בדקה או ביום:

(
  sum by (project_id, quota_metric, location) (increase({"serviceruntime.googleapis.com/quota/rate/net_usage", monitored_resource="consumer_quota", service=~".*"}[1m]))
  /
  max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service=~".*", limit_name=~".*PerMinute.*"})
)
or
(
  sum by (project_id, quota_metric, location) (increase({"serviceruntime.googleapis.com/quota/rate/net_usage", monitored_resource="consumer_quota", service=~".*"}[23h]))
  /
  max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service=~".*", limit_name=~".*PerDay.*"})
) > 0.8

בשאילתה הקודמת, הארגומנט של הכלי ליישור לפי יום מוגדר ל-23 שעות במקום ליום אחד. ב-PromQL אפשר להגדיר רק 25 שעות של נתונים, ולצורך החישוב, הפונקציה aligner מוסיפה שעה אחת לתקופת ההתאמה. אם אתם משתמשים ב-[1d], אי אפשר לשמור את התנאי כי הוא דורש 25 שעות של נתונים.

כדי להשתמש בתבנית השאילתה הזו, צריך לבצע את השינויים הבאים:

  • מחליפים את הביטוי הרגולרי של service=~ בביטוי רגולרי של השירותים שרוצים לעקוב אחריהם.
  • ביחס הראשון:
    • מחליפים את .*PerMinute.* ב-limit_name=~ בביטוי רגולרי לקבוצת המגבלות הראשונה שרוצים לעקוב אחריה. מידע על איתור שמות של מגבלות זמין במאמר זיהוי מדדי מכסות ושמות של מגבלות
    • מחליפים את 1m בחלון שמתאים למגבלות שלכם.
  • ביחס השני:
    • מחליפים את .*PerDay.* ב-limit_name=~ בביטוי רגולרי לקבוצת המגבלות השנייה שרוצים לעקוב אחריה.
    • מחליפים את 23h בחלון שמתאים למגבלות שלכם.

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

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

תבנית השאילתה הבאה של PromQL מתארת התראה שמתקבלת כששימוש בהקצאה ליום של שירות משאבים ספציפי חורג מ-80% ממגבלה ספציפית:

(
 max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/allocation/usage", monitored_resource="consumer_quota", service="sample.googleapis.com"})
 /
 min by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service="sample.googleapis.com", limit_name="Limit"})
) > 0.8

כדי להשתמש בתבנית השאילתה הזו, צריך לבצע את השינויים הבאים:

  • מחליפים את sample.googleapis.com בשירות שרוצים לעקוב אחריו.
  • מחליפים את Limit ב-limit_name במגבלה שרוצים לעקוב אחריה. מידע על איתור שמות של מגבלות זמין במאמר זיהוי מדדי מכסות ושמות של מגבלות

דוגמה: שימוש ב-CPU בשיעור של 75% בכל אזור

השאילתה הבאה יוצרת מדיניות התראות שמופעלת כששימוש המעבד במכונה וירטואלית ב-Compute Engine עולה על 75% מהמגבלה בכל אזור:

(
 max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/allocation/usage", monitored_resource="consumer_quota", service="compute.googleapis.com"})
 /
 min by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service="compute.googleapis.com", limit_name="CPUS-per-project-region"})
) > 0.75

מדיניות המכסה הזו לצרכנים משתמשת בCPUS-per-project-regionשם המכסה במכסת המעבדים (CPUs) של Compute Engine API. מידע על איתור שמות של מגבלות זמין במאמר זיהוי מדדי מכסות ושמות של מגבלות.

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

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

שאילתת PromQL הבאה מתארת התראה שמתקבלת כששיעור השימוש בהקצאה היומית של שירות משאבים כלשהו חורג מ-80% מכל אחת ממגבלות המכסה:

(
 max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/allocation/usage", monitored_resource="consumer_quota"})
 /
 min by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota"})
) > 0.8

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

דוגמה: שימוש במעבד (CPU) גבוה מ-50% באזורים ספציפיים

השאילתה הבאה יוצרת מדיניות התראה שמופעלת כששימוש המעבד במכונות וירטואליות של Compute Engine עולה על 50% מהמגבלה באחד מהתחומים us-central1. השאילתה הזו מסננת את הנתונים limit לפי שם המגבלה ומיקום המשאב:

(
max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/allocation/usage", monitored_resource="consumer_quota", service="compute.googleapis.com"})
/
min by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service="compute.googleapis.com", limit_name="CPUS-per-project-zone", location=~"us-central1-.*"})
)
> 0.5

מדיניות המכסה הזו לצרכנים משתמשת בCPUS-per-project-zoneשם המכסה במכסת המעבדים (CPUs) של Compute Engine API. מידע על איתור שמות של מגבלות זמין במאמר זיהוי מדדי מכסות ושמות של מגבלות.

התראה על יחס באמצעות מכסה ספציפית למשאב

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

תבנית השאילתה הבאה מתארת התראה שמופעלת כששימוש במכסה חורג מ-80% מהמגבלה:

(
 max by (resource_label_1, ..., resource_label_n, metric_label_1, ..., metric_label_n) ({"sample.googleapis.com/quota/samplemetric/usage", monitored_resource="sample.googleapis.com/SampleResource"})
 /
 min by (resource_label_1, ..., resource_label_n, metric_label_1, ..., metric_label_n) ({"sample.googleapis.com/quota/samplemetric/limit", monitored_resource="sample.googleapis.com/SampleResource"})
) > 0.8

כדי להשתמש בתבנית השאילתה הזו, צריך לבצע את השינויים הבאים:

  • מחליפים את sample.googleapis.com בשירות שרוצים לעקוב אחריו.
  • מחליפים את SampleResource במשאב במעקב המשויך.
  • מחליפים את samplemetric במחרוזת של קבוצת סוגי מדדים.
  • בפעולות by (...), מפרטים את כל התוויות של המשאבים והמדדים.

דוגמה: שימוש ב-CPU בשיעור של 75% בכל אזור

השאילתה הבאה ב-PromQL מגדירה מדיניות התראות שעוקבת אחרי המקרים שבהם השימוש במכסת instances_per_vpc_network של Compute Engine חורג מ-80% עבור מזהה רשת כלשהו:

(
 max by (resource_container, limit_name, location, network_id) ({"compute.googleapis.com/quota/instances_per_vpc_network/usage", monitored_resource="compute.googleapis.com/VpcNetwork"})
 /
 min by (resource_container, limit_name, location, network_id) ({"compute.googleapis.com/quota/instances_per_vpc_network/limit", monitored_resource="compute.googleapis.com/VpcNetwork"})
) > 0.8

שימו לב: בשאילתה הזו נעשה שימוש בסוג המשאב compute.googleapis.com/VpcNetwork, ולא בסוג המשאב consumer_quota. השאילתה מחשבת את היחס בין שני מדדים של compute.googleapis.com/quota/instances_per_vpc_network,‏ usage ו-limit.

דוגמה: שימוש במכסה של Dialogflow עבור מודל ספציפי

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

לדוגמה, שאילתת PromQL הבאה מגדירה מדיניות התראות שעוקבת אחרי השימוש במכסת ConversationalAgentLLMTokensPerMinutePerBaseModelPerRegion של Dialogflow, אם הוא חורג מ-80% עבור מודל ספציפי באזור ספציפי:

sum(
    rate(
        {"__name__"="dialogflow.googleapis.com/quota/ConversationalAgentLLMTokenConsumption/usage",
        "limit_name"="ConversationalAgentLLMTokensPerMinutePerBaseModelPerRegion",
        "monitored_resource"="dialogflow.googleapis.com/Location",
        "location"="us-central1",
        "base_model"="gemini-2.0-flash-lite-001"
      }[1m]
    ) * 60
  ) by (limit_name, location, base_model)

/

sum(
    max_over_time(
        {"__name__"="dialogflow.googleapis.com/quota/ConversationalAgentLLMTokenConsumption/limit",
        "limit_name"="ConversationalAgentLLMTokensPerMinutePerBaseModelPerRegion",
        "monitored_resource"="dialogflow.googleapis.com/Location",
        "location"="us-central1",
        "base_model"="gemini-2.0-flash-lite-001"
    }[1m]))
by (limit_name, location, base_model)

> .8

שימו לב שהשאילתה הזו משתמשת בסוג המשאב dialogflow.googleapis.com/Location, ולא ב-consumer_quota, והיא מחשבת את היחס בין שני מדדים dialogflow.googleapis.com/quota/ConversationalAgentLLMTokenConsumption, ‏ usage ו-limit.

דוגמאות לתרשימים

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

אם רוצים להגדיר רק תרשים שמציג נתוני מכסת אחסון, אפשר להשתמש בהגדרות שבטבלה New condition. התנאים להצגת אזהרה משתמשים בסימון שונה מזה של כלי התרשימים. הכלים ליצירת תרשימים כוללים את Metrics Explorer ואת האפשרות להגדיר תרשימים בלוחות בקרה בהתאמה אישית:
תנאי חדש שם השדה בתיבת הדו-שיח
תרשימים
פונקציה אנליטית (window function)

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

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

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

חלון נע מרווח מינימלי
(כדי לגשת, לוחצים על הוספת רכיב שאילתה)
קיבוץ לפי ציר זמן
(בקטע בכל ציר הזמן)
התפריט השני של רכיב Aggregation
צבירה של נתונים מסדרות עיתיות
(בקטע Across time series)
התפריט הראשון של רכיב Aggregation

פעולות על ציר הזמן עבור quota/rate/net_usage

כדי לראות את נתוני הסדרות העיתיות של המדד serviceruntime quota/rate/net_usage, לכל השירותים ב Google Cloud פרויקט, כשהנתונים מקובצים לפי שם מדד המכסה ומוצג קצב השימוש, משתמשים בהגדרות הבאות:

תיבת הדו-שיח תנאי חדש
שדה

ערך
מקור מידע ומדד בתפריט Resources בוחרים באפשרות Consumer Quota.
בתפריט Metric categories בוחרים באפשרות Quota.
בתפריט Metrics, בוחרים באפשרות שימוש במכסה לקצב הגשת בקשות.

(metric.type הוא serviceruntime.googleapis.com/quota/rate/net_usage,
וresource.type הוא consumer_quota).
פילטר

מוסיפים מסנן כדי שהתרשים יציג רק את הנתונים של השירות שרוצים לעקוב אחריו. לדוגמה, כדי לעקוב אחרי שירות ניהול הזהויות והרשאות הגישה, מוסיפים את המסנן הבא: service = iam.googleapis.com.

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

חלון נע בוחרים באפשרות 1 m
.

התקופה של דקה אחת תואמת למרווח הדגימה של המדד הזה.

פונקציה אנליטית (window function) בוחרים באפשרות rate
.

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

בסדרות עיתיות
צבירה של סדרות עיתיות

בוחרים באפשרות sum.

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

בסדרות עיתיות
קיבוץ לפי סדרות עיתיות

בוחרים באפשרות quota_metric.

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

פעולות על ציר הזמן של quota/instances_per_vpc_network/limit

כדי להציג את נתוני סדרת הזמנים של המדד compute.googleapis.com quota/instances_per_vpc_network/limit, לכל הרשתות בפרויקט Google Cloud , משתמשים בהגדרות הבאות:

תיבת הדו-שיח תנאי חדש
שדה

ערך
מקור מידע ומדד בתפריט Resource type בוחרים באפשרות VPC Network.
בתפריט Metric category, בוחרים באפשרות quota.
בתפריט Metric, בוחרים באפשרות Instances per VPC Network quota limit.

(metric.type הוא compute.googleapis.com/quota/instances_per_vpc_network/limit,
וresource.type הוא compute.googleapis.com/VpcNetwork).
פילטר להשאיר ריק
חלון נע בוחרים באפשרות 1 m
.

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

פונקציה אנליטית (window function) בוחרים באפשרות mean
.
בסדרות עיתיות
צבירה של סדרות עיתיות
יציאה מ-none
בסדרות עיתיות
קיבוץ לפי סדרות עיתיות
להשאיר ריק

פעולות על ציר הזמן של quota/instances_per_vpc_network/usage

כדי לראות את נתוני סדרת הזמנים של המדד compute.googleapis.com quota/instances_per_vpc_network/usage, עבור אחת מהרשתות בפרויקט Google Cloud , משתמשים בהגדרות הבאות:

תיבת הדו-שיח תנאי חדש
שדה

ערך
מקור מידע ומדד בתפריט Resource type בוחרים באפשרות VPC Network.
בתפריט Metric category, בוחרים באפשרות quota.
בתפריט Metric, בוחרים באפשרות Instances per VPC Network quota usage.

(metric.type הוא compute.googleapis.com/quota/instances_per_vpc_network/usage,
וresource.type הוא compute.googleapis.com/VpcNetwork).
מדד בתפריט Metric בוחרים באפשרות compute.googleapis.com/quota/instances_per_vpc_network/usage.
פילטר

מוסיפים מסנן כדי שהתרשים יציג רק קבוצת משנה של כל הנתונים. לדוגמה, כדי לראות את השימוש ברשת ספציפית, מוסיפים את המסנן הבא: network_id = identifier.

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

חלון נע בוחרים באפשרות 1 m
.

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

פונקציה אנליטית (window function) בוחרים באפשרות mean
.
בסדרות עיתיות
צבירה של סדרות עיתיות
יציאה מ-none
בסדרות עיתיות
קיבוץ לפי סדרות עיתיות
להשאיר ריק

תרשימים ב-PromQL

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

מידע נוסף מופיע במאמר שימוש בעורך הקוד ל-PromQL.