במאמר הזה מוסבר איך ליצור מדיניות התראות וטבלאות כדי לעקוב אחרי המכסה שהוקצתה לכם על ידי 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 הצגת עמודה ומוסיפים את העמודות הבאות לתצוגת המכסה:
- מדד: בעמודה הזו מוצג הערך של התווית
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
מדיניות התראות היא דרך להגדיר את 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.
המדד הזה הוא מסוג במקרה של המדד הזה, הפונקציות של חלון נע |
| בסדרות עיתיות צבירה של סדרות עיתיות |
בוחרים באפשרות כשמקבצים נתונים, שדה הצבירה מוגדר אוטומטית ל- |
| בסדרות עיתיות קיבוץ לפי סדרות עיתיות |
בוחרים באפשרות האפשרות הזו מקבצת את הנתונים לפי סוג השם של |
משלימים את תיבת הדו-שיח 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) של חלון הזמן הנע מוגדרת ל- |
| בסדרות עיתיות צבירה של סדרות עיתיות |
בוחרים באפשרות כשמקבצים נתונים, שדה הצבירה מוגדר אוטומטית ל- |
| בסדרות עיתיות קיבוץ לפי סדרות עיתיות |
בוחרים באפשרות האפשרות הזו מקבצת את הנתונים לפי סוג השם של |
משלימים את תיבת הדו-שיח 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:
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 אפשר להגדיר רק 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) | ההגדרות מוגדרות בצורה אופטימלית על סמך המדד שנבחר והגדרות הצבירה. כדי לציין את פונקציית היישור, מבצעים את הפעולות הבאות:
|
| חלון נע | מרווח מינימלי (כדי לגשת, לוחצים על add הוספת רכיב שאילתה) |
| קיבוץ לפי ציר זמן (בקטע בכל ציר הזמן) |
התפריט השני של רכיב 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 לערך |
| בסדרות עיתיות צבירה של סדרות עיתיות |
בוחרים באפשרות כשמקבצים נתונים, שדה הצבירה מוגדר אוטומטית ל- |
| בסדרות עיתיות קיבוץ לפי סדרות עיתיות |
בוחרים באפשרות האפשרות הזו מקבצת את הנתונים לפי סוג השם של |
פעולות על ציר הזמן של 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.