במאמר הזה מוסבר איך ליצור מדיניות התראות וטבלאות כדי לעקוב אחרי המכסה שהוקצתה לכם על ידי Google Cloud, והוא כולל כמה דוגמאות.Google Cloud מגדיר מכסות שונות שבעזרתן אפשר לעקוב אחרי המשאבים שנצרכים על ידי פרויקט או ארגון ולהגביל אותם. מידע כללי על מכסות, כולל מכסות הקצאה ומכסות קצב, זמין במאמר סקירה כללית על מכסות ב-Cloud.
לפני שמתחילים
במסמך הזה אנחנו מניחים שאתם מכירים נתונים של סדרות זמן ושיטות לעיבוד שלהם. במקורות המידע הבאים אפשר לקרוא מידע נוסף:
- מידע על עבודה עם נתונים של סדרות זמן מפורט במאמר בנושא סינון וצבירה.
- ההגדרות של המונחים מדד, דלתא ומצטבר מפורטות במאמר בנושא סוגי מדדים.
- מידע נוסף על הפונקציות שמשמשות לשילוב סדרות זמנים מופיע במאמרים
Alignerו-Reducer.
ניהול מכסות
Google Cloud מספק שני מנגנונים לשירותים להגדרת מכסות ולניהול שלהן:
מכסת צרכן: כששירותים מטמיעים מכסת צרכן, הם כותבים מדד
serviceruntimeמול המשאב במעקבconsumer_quota. השירות גם מצרף תוויתquota_metricלנתונים שהוא כותב. הערך של התווית מזהה את השירות ואת המכסה הספציפית שנמדדת בסדרת הזמן.כדי לראות את השימוש במכסה ספציפית של שירות, מסננים את
serviceruntimeהסדרה העיתית לפי תוויתquota_metricספציפית.רוב הדוגמאות בדף הזה הן דוגמאות למכסות לצרכנים.
מכסות ספציפיות למשאבים: חלק מהשירותים מספקים משאבים במעקב עם מדדים ספציפיים למשאבים עבור מכסות. סוגי המדדים האלה מופיעים בקבוצות של שלושה, והם עומדים בפורמט השמות הבא:
service/quota/quota-type/exceededservice/quota/quota-type/limitservice/quota/quota-type/usage
לדוגמה, ל-Compute Engine יש את המשאב
compute.googleapis.com/VpcNetwork. מדדים שקשורים למכסה שמשויכים למשאב הזה הם קבוצת המשנהcompute.googleapis.com/quotaשל המדדיםcompute. יש שלושה סוגי מדדים שקשורים למכסה 'מכונות וירטואליות לכל רשת VPC':quota/instances_per_vpc_network/exceededquota/instances_per_vpc_network/limitquota/instances_per_vpc_network/usage
זיהוי מדדי מכסה ושמות מגבלות
נתונים גולמיים על צריכת מכסה, במיוחד מכסה לצרכנים, יכולים לכלול מידע על מכסות שונות. כדי לחלץ מידע על מכסה ספציפית לתרשים או למדיניות התראות, צריך לזהות את קבוצת המשנה הזו של נתוני המכסה.
בהתאם למקור, נתוני המכסה עשויים לכלול תוויות שבעזרתן אפשר לבודד את המידע הרצוי. התוויות האלה כוללות:
- מדד מכסה: מדד המכסה הוא מזהה של סוג מכסה. הוא לא אחד מסוגי המדדים שמתוארים ברשימת המדדים. לדוגמה, כל נתוני המכסה לצרכן נכתבים כסוג מדד
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 . כדי לדעת אם שירות תומך במדדי מכסות ולזהות את הערכים של התוויות הספציפיות למכסות, אפשר לפעול לפי השלבים הבאים:
-
במסוף Google Cloud , נכנסים לדף Quotas & System Limits:
כניסה לדף Quotas & System Limits
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא IAM & Admin.
לוחצים על view_column View column ומוסיפים את העמודות הבאות לתצוגת המכסה:
- מדד: בעמודה הזו מוצג הערך של התווית
quota_metric. - שם המגבלה: בעמודה הזו מוצג הערך של התווית
limit_name. - משאב במעקב: אם המכסה מאוכלסת, היא משתמשת במשאב במעקב שמופיע ברשימה. אם השדה ריק, המשאב במעקב של המכסה הוא
consumer_quota.
- מדד: בעמודה הזו מוצג הערך של התווית
מאתרים את המכסה הרלוונטית.
כששירות מספק מכסת צרכנים, הרשומה בטבלה לא כוללת משאב במעקב. לדוגמה, במכסה של רשתות משנה ב-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, ואז מסננת את הנתונים כך שיוצג השימוש במכסה של מדד מכסה ספציפי:
במסוף Google Cloud , בוחרים באפשרות Cloud Monitoring ואז באפשרות Metrics Explorer.
בסרגל הכלים, מרחיבים את תפריט תקופת הזמן ובוחרים באפשרות 14 הימים האחרונים.
מרחיבים את התפריט סוג הווידג'ט ובוחרים באפשרות תרשים עמודות אופקי מוערם.
מגדירים את Metrics Explorer כך שיציג את השימוש במכסת ההקצאה:
- לוחצים על Select a metric ומזינים
allocationבfilter_list Filter bar. - בוחרים באפשרות Consumer Quota בשביל המשאב.
- בוחרים באפשרות Quota (מכסת נפח) בקטגוריית המדדים.
- בוחרים את המדד Allocation quota usage ולוחצים על Apply.
- מרחיבים את התפריט צבירה ובוחרים באפשרות ללא צבירה.
בתרשים מוצג השימוש במכסת ההקצאה כתרשים עמודות לתקופה של שישה שבועות. במקרא אפשר לראות שהתרשים מציג את השימוש במכסת השירותים של כמה שירותים.
אם משתמשים ב-Cloud Monitoring API, ערך המסנן המקביל הוא:
metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota"כדי לראות את ערך המסנן הזה, מרחיבים את התפריט סוג משאב ובוחרים באפשרות מצב מסנן ישיר.
- לוחצים על Select a metric ומזינים
כדי להגביל את התרשים לשירות 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יציג תרשים ללא נתונים.כדי ליצור תרשים שמציג את השימוש הכולל במכסת אחסון הדיסקים ב-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"בתרשים הקודם מוצגות סדרות זמן לאזורים
us-central1ו-us-east1, ולמספר אזורים כולל אזורus-central1-a.כדי לצמצם את התרשים כך שיוצגו בו נתונים רק לגבי האזורים, בלי האזורים, מוסיפים מסנן שמבוסס על התווית
location. בדוגמה הזו, שבה שני האזורים מתחילים ב-us-ומסתיימים ב-1, מסנן שמשתמש בביטוי הרגולריlocation =~ ^us.*1$פועל בצורה טובה:
במכסות לצרכנים, הערך של התווית quota_metric מזהה גם את השירות וגם את השימוש הספציפי במכסה שנמצא במעקב. כשיוצרים תרשימים או מדיניות התראות למעקב אחרי מדד מכסה ספציפי, משתמשים במידע הזה.
כללי מדיניות התראות ב-Cloud Monitoring
מדיניות התראות מאפשרת להגדיר את המעקב כך שישלח לכם התראה כשקורה משהו, למשל כשמגיעים ל-85% מהמגבלה של מכסה.
מדיניות התראות היא אוסף של תנאים ופרטי התראות:
- תנאי מתאר את מה שמנוטר, איך לשלב את נתוני הסדרה העיתית של המשאב הזה ומתי נוצר אירוע. במדיניות התראות צריך לציין לפחות תנאי אחד.
- ערוץ ההתראות מציין מי יקבל התראה ואיך הוא יקבל אותה כשמתרחש אירוע. לדוגמה, אפשר להגדיר את מדיניות ההתראות כך שתשלח אימייל לאדם ספציפי או לקבוצה של אנשים.
יש שתי שיטות ליצירת תנאים למדיניות התראות:
שימוש במסנני מעקב כדי לבחור ולתפעל נתונים. לדוגמה, כשמשתמשים בממשק הגרפי כדי ליצור תנאים למדיניות התראות, יוצרים מסננים. בדוגמה שמוצגת במאמר בנושא עבודה עם מדדי מכסות נעשה שימוש במסננים כדי לבחור נתונים לתרשים. אפשר גם להשתמש במסננים בבקשות ל-Monitoring API.
שימוש ב-PromQL כדי לבחור ולתפעל נתונים. PromQL היא שפת שאילתות מבוססת-טקסט. בעזרת עורך הקוד PromQL, אפשר ליצור שאילתות שלא ניתן ליצור באמצעות הטכניקה שמבוססת על מסננים. מומלץ להשתמש ב-PromQL כדי ליצור מדיניות התראות שמבוססת על יחסים. מידע נוסף זמין במאמר דוגמאות למדיניות התראות ב-PromQL.
בדף הזה נסביר על שתי הטכניקות. אפשר גם ליצור תרשימים באמצעות כל אחת מהטכניקות.
דוגמאות למדיניות התראות לסינון
בכל אחד מסעיפי המשנה הבאים מופיע ייצוג JSON של מדיניות התראות, יחד עם זוג טבלאות שמתארות איך להגדיר את המדיניות במסוף Google Cloud :
- בטבלה הראשונה מתואר מה מנוטר ואיך הנתונים משולבים.
- בטבלה השנייה מתואר מתי צריך ליצור אירוע.
הדוגמאות האלה מתייחסות לגישה שמבוססת על מסננים.
אף אחת מהמדיניות האלה לא מחשבת יחסים. דוגמאות למדיניות התראות שמבוססת על יחסים מופיעות במאמר בנושא דוגמאות למדיניות התראות ב-PromQL.
התראות על שגיאות ב-quota/exceeded
אתם יכולים ליצור מדיניות התראות כדי לקבל התראה אם שירות כלשהו בפרויקטGoogle Cloud שלכם מדווח על שגיאה של חריגה ממכסה. אפשר ליצור מדיניות מהסוג הזה באמצעות מסוף Google Cloud או באמצעות Cloud Monitoring API.
שימוש במסוף Google Cloud
שאר התוכן בקטע המשנה הזה מיועד לתיבת הדו-שיח של התנאים במדיניות התראות.
משלימים את תיבת הדו-שיח New condition (תנאי חדש) באמצעות ההגדרות שבטבלה הבאה.
ההגדרה הזו מציינת שאתם רוצים לעקוב אחרי נתוני הסדרה העיתית של מדד 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 |
| פונקציה אנליטית (חלון נע) | בוחרים באפשרות count true
המדד הזה הוא מסוג במקרה של המדד הזה, הפונקציות של חלון נע |
| בסדרות עיתיות צבירה של סדרות עיתיות |
בוחרים באפשרות כשמקבצים נתונים, שדה הצבירה מוגדר אוטומטית ל- |
| בסדרות עיתיות קיבוץ לפי סדרות עיתיות |
בוחרים באפשרות האפשרות הזו מקבצת את הנתונים לפי סוג השם של |
משלימים את ההגדרות הבאות בתיבת הדו-שיח Configure trigger. ההגדרות האלה גורמות לכך שכלל מדיניות ההתראות ייצור התראה אם מספר השגיאות של חריגה מהמכסה יהיה גדול מ-0 למשך דקה אחת. הערך 0 נבחר כאן כי שגיאות של חריגה מהמכסה הן בלתי צפויות, והן מצביעות על כך שיש להגדיל את המכסה או לשנות את השירות כדי לצמצם את בקשות ה-API. אולי כדאי להשתמש בסף גבוה יותר.
| תיבת הדו-שיח Configure trigger (הגדרת הטריגר) שדה |
ערך |
|---|---|
| סוג התנאי | Threshold |
| טריגר להתראה | Any time series violates |
| מיקום הסף | 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
שאר התוכן בקטע המשנה הזה מיועד לתיבת הדו-שיח של התנאים במדיניות התראות.
משלימים את תיבת הדו-שיח תנאי חדש באמצעות ההגדרות שבטבלה הבאה.
ההגדרה הזו מציינת שרוצים לעקוב אחרי נתוני הסדרות העיתיות של המדד serviceruntime/quota/allocation/usage בשירות אחד בפרויקט Google Cloud , ולקבץ את הנתונים לפי מכסת השימוש.
| תיבת הדו-שיח תנאי חדש שדה |
ערך |
|---|---|
| משאב ומדד | בתפריט Resources בוחרים באפשרות Consumer Quota. בתפריט Metric categories בוחרים באפשרות Quota. בתפריט Metrics, בוחרים באפשרות Allocation quota usage. (ה- metric.type הוא serviceruntime.googleapis.com/quota/allocation/usage,וה- resource.type הוא consumer_quota).
|
| מסנן |
מוסיפים מסנן כדי שהתרשים יציג רק את הנתונים של השירות שרוצים לעקוב אחריו. לדוגמה, כדי לעקוב אחרי שירות ניהול הזהויות והרשאות הגישה, מוסיפים את המסנן הבא: service = iam.googleapis.com. אם שדה המסנן ריק, כל נתוני המדדים הזמינים נכללים בתרשים. |
| חלון מתגלגל | בוחרים באפשרות 1440 mהתקופה שבה מתבצעת ההתאמה היא מרווח הדגימה של המדד הזה. |
| פונקציה אנליטית (חלון נע) | בוחרים באפשרות next olderהפונקציה האנליטית (window function) של חלון הזמן הנע מוגדרת ל- |
| בסדרות עיתיות צבירה של סדרות עיתיות |
בוחרים באפשרות כשמקבצים נתונים, שדה הצבירה מוגדר אוטומטית ל- |
| בסדרות עיתיות קיבוץ לפי סדרות עיתיות |
בוחרים באפשרות האפשרות הזו מקבצת את הנתונים לפי סוג השם של |
משלימים את תיבת הדו-שיח Configure trigger באמצעות ההגדרות הבאות. ההגדרות האלה גורמות לכך שמדיניות ההתראות תיצור התראה אם הערך של סדרת הזמן יעלה על 2.5 למשך 1,440 דקות. הערך 1,440 דקות תואם לחלון הזמן הנע. בדוגמה הזו נבחר הערך 2.5 כי הוא קצת יותר גבוה מהערך הרגיל במערכת הבדיקה. צריך לבחור את ערך הסף על סמך השירות שאתם עוקבים אחריו, בשילוב עם הבנה של טווח הערכים הצפוי של המדד.
| תיבת הדו-שיח Configure trigger (הגדרת הטריגר) שדה |
ערך |
|---|---|
| סוג התנאי | Threshold |
| טריגר להתראה | Any time series violates |
| מיקום הסף | Above threshold |
| ערך הסף | 2.5 |
| חלון הבדיקה מחדש | 1,440 מ' |
שימוש ב-Cloud Monitoring API
אפשר ליצור את מדיניות ההתראות הזו באמצעות ה-method של ה-API alertPolicies.create. אפשר להפעיל את 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:
Google Cloud מסוף: משתמשים בעורך הקוד של PromQL כשיוצרים את תנאי ההתראה. כדי להציג את עורך הקוד של PromQL, בסרגל הכלים של תיבת הדו-שיח Create alerting policy, לוחצים על PromQL. מידע נוסף על השימוש בכלי הזה זמין במאמר שימוש בכלי לעריכת קוד ל-PromQL.
Monitoring API: משתמשים בשיטה
alertPolicies.createומספקים תנאי מהסוגPrometheusQueryLanguageCondition. סוג התנאי הזה מקבל שאילתת PromQL כערך שדה. מידע נוסף על שימוש ב-Monitoring API עם PromQL זמין במאמר יצירת מדיניות התראות מבוססת-PromQL.
מידע ספציפי על 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 אפשר לדרוש רק 23 שעות ו-30 דקות של נתונים, ולצורך חישוב, הכלי ליישור מוסיף שעה אחת לתקופת היישור. אם אתם משתמשים ב-[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% בכל אזור
השאילתה הבאה יוצרת מדיניות התראות שמופעלת כשהשימוש במעבד של מכונת VM ב-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שם המכסה בממשק 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שם המכסה בממשק 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 ואת האפשרות להגדיר תרשימים בלוחות בקרה בהתאמה אישית:| שם השדה בתיבת הדו-שיח New condition (תנאי חדש) |
תרשימים |
|---|---|
| פונקציה אנליטית (חלון נע) | ההגדרות מוגדרות בצורה אופטימלית על סמך המדד שנבחר והגדרות הצבירה. כדי לציין את פונקציית היישור, מבצעים את הפעולות הבאות:
|
| חלון מתגלגל | מרווח מינימלי (כדי לגשת, לוחצים על add הוספת אלמנט שאילתה) |
| קיבוץ לפי סדרת זמן (בקטע בסדרות זמן) |
התפריט השני של רכיב Aggregation |
| צבירה של סדרות עיתיות (בקטע צבירה של סדרות עיתיות) |
התפריט הראשון של רכיב 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התקופה של דקה אחת תואמת למרווח הדגימה של המדד הזה. |
| פונקציה אנליטית (חלון נע) | בוחרים באפשרות rate
אם מגדירים את האפשרות aligner לערך |
| בסדרות עיתיות צבירה של סדרות עיתיות |
בוחרים באפשרות כשמקבצים נתונים, שדה הצבירה מוגדר אוטומטית ל- |
| בסדרות עיתיות קיבוץ לפי סדרות עיתיות |
בוחרים באפשרות האפשרות הזו מקבצת את הנתונים לפי סוג השם של |
סדרת זמנים של 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התקופה שבה מתבצעת ההתאמה היא מרווח הדגימה של המדד הזה. |
| פונקציה אנליטית (חלון נע) | בוחרים באפשרות 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התקופה שבה מתבצעת ההתאמה היא מרווח הדגימה של המדד הזה. |
| פונקציה אנליטית (חלון נע) | בוחרים באפשרות mean |
| בסדרות עיתיות צבירה של סדרות עיתיות |
יציאה בתור none
|
| בסדרות עיתיות קיבוץ לפי סדרות עיתיות |
להשאיר ריק |
תרשימים של PromQL
אפשר להשתמש בשאילתות PromQL כדי ליצור תרשימים באמצעות עורך הקוד של PromQL. לדוגמה, אפשר להזין כל אחת מהשאילתות שמוצגות בדוגמאות למדיניות התראות ב-PromQL בכלי לעריכת קוד. אפשר להשמיט את אופרטור ההשוואה בסוף, כמו > 0.8, בכל שאילתה. הוא רלוונטי רק כשיוצרים תנאי למדיניות התראות. הגדרת תנאי עם אופרטור השוואה בתרשים לא משפיעה על התרשים.
מידע נוסף מופיע במאמר בנושא שימוש בעורך הקוד ל-PromQL.