במאמר הזה מוסבר איך ליצור מדיניות התראות וטבלאות כדי לעקוב אחרי המכסה שהוקצתה לכם על ידי 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
שאר התוכן בקטע המשנה הזה מיועד לתיבת הדו-שיח של התנאים במדיניות התראות.
משלימים את תיבת הדו-שיח 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. |
| פונקציה אנליטית (window function) | בוחרים באפשרות count true.
המדד הזה הוא מסוג במקרה של המדד הזה, הפונקציות של חלון נע |
| בסדרות עיתיות צבירה של סדרות עיתיות |
בוחרים באפשרות כשמקבצים נתונים, שדה הצבירה מוגדר אוטומטית ל- |
| בסדרות זמן קיבוץ לפי סדרת זמן |
בוחרים באפשרות האפשרות הזו מקבצת את הנתונים לפי סוג השם של |
משלימים את ההגדרות הבאות בתיבת הדו-שיח Configure trigger. ההגדרות האלה גורמות למדיניות ההתראות ליצור התראה אם מספר השגיאות של חריגה מהמכסה גדול מ-0 למשך דקה אחת. הערך 0 נבחר כאן כי שגיאות של חריגה מהמכסה הן לא צפויות, והן מצביעות על כך שצריך להגדיל את המכסה או לשנות את השירות כדי לצמצם את בקשות ה-API. כדאי להשתמש בסף גבוה יותר.
| תיבת הדו-שיח Configure trigger (הגדרת הטריגר) שדה |
ערך |
|---|---|
| סוג התנאי | Threshold |
| טריגר להתראה | Any time series violates |
| מיקום הסף | Above threshold |
| ערך הסף | 0 |
| חלון הבדיקה מחדש | מטר אחד |
שימוש ב-Cloud Monitoring API
אפשר ליצור את מדיניות ההתראות הזו באמצעות ה-method alertPolicies.create של ה-API. אפשר להפעיל את 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. הפונקציה של חלון הזמן הנע מוגדרת ל- |
| בסדרות עיתיות צבירה של סדרות עיתיות |
בוחרים באפשרות כשמקבצים נתונים, שדה הצבירה מוגדר אוטומטית ל- |
| בסדרות זמן קיבוץ לפי סדרת זמן |
בוחרים באפשרות האפשרות הזו מקבצת את הנתונים לפי סוג השם של |
משלימים את ההגדרות בתיבת הדו-שיח 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 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 שעות של נתונים, ולמטרות חישוב, הכלי ליישור מוסיף שעה אחת לתקופת היישור. אם משתמשים ב-[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% בכל אזור
השאילתה הבאה יוצרת מדיניות התראות שמופעלת כששימוש המעבד (CPU) במופע של מכונה וירטואלית ב-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 כדי ליצור תרשים. באמצעות הכלי 'חקר מדדים' אפשר להסיר את התרשים כשאין בו יותר צורך, או לשמור אותו בלוח בקרה. בתצוגת לוח הבקרה, אפשר להוסיף תרשים ללוח הבקרה.
אם רוצים להגדיר רק תרשים שמציג נתוני מכסת אחסון, אפשר להשתמש בהגדרות שבטבלה New condition. התנאים להתראה משתמשים בסימון שונה מזה של כלי יצירת תרשימים. הכלים ליצירת תרשימים כוללים את Metrics Explorer ואת האפשרות להגדיר תרשימים בלוחות בקרה בהתאמה אישית:| שם השדה בתיבת הדו-שיח New condition |
תרשימים |
|---|---|
| פונקציה אנליטית (window function) | ההגדרות מוגדרות בצורה אופטימלית על סמך המדד שנבחר והגדרות הצבירה. כדי לציין את פונקציית היישור, מבצעים את הפעולות הבאות:
|
| חלון נע | מרווח מינימלי (כדי לגשת, לוחצים על add הוספת רכיב שאילתה) |
| קיבוץ לפי ציר זמן (בקטע בכל ציר הזמן) |
התפריט השני של רכיב Aggregation |
| צבירה של סדרות עיתיות (בקטע Across time series) |
התפריט הראשון של רכיב Aggregation |
סדרת זמנים של quota/rate/net_usage
כדי לראות את נתוני הסדרות העיתיות של המדד serviceruntimequota/rate/net_usage לכל השירותים בפרויקט Google Cloud , כשהנתונים מקובצים לפי שם מדד המכסה ומוצג קצב השימוש, משתמשים בהגדרות הבאות:
| תיבת הדו-שיח תנאי חדש שדה |
ערך |
|---|---|
| משאב ומדד | בתפריט Resources בוחרים באפשרות Consumer Quota. בתפריט Metric categories בוחרים באפשרות Quota. בתפריט Metrics, בוחרים באפשרות Rate quota usage. ( 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.