MCP Tools Reference: monitoring.googleapis.com

כלי: get_alert_policy

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

בדוגמה הבאה אפשר לראות איך משתמשים ב-curl כדי להפעיל את כלי ה-MCP‏ get_alert_policy.

בקשת Curl
                  
curl --location 'https://monitoring.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "get_alert_policy",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

סכימת הקלט

הפרוטוקול של הבקשה GetAlertPolicy.

GetAlertPolicyRequest

ייצוג ב-JSON
{
  "name": string
}
שדות
name

string

חובה. מדיניות ההתראות שיש לאחזר. הפורמט הוא:

projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID]

סכימת פלט

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

AlertPolicy

ייצוג ב-JSON
{
  "name": string,
  "displayName": string,
  "documentation": {
    object (Documentation)
  },
  "userLabels": {
    string: string,
    ...
  },
  "conditions": [
    {
      object (Condition)
    }
  ],
  "combiner": enum (ConditionCombinerType),
  "enabled": boolean,
  "validity": {
    object (Status)
  },
  "notificationChannels": [
    string
  ],
  "creationRecord": {
    object (MutationRecord)
  },
  "mutationRecord": {
    object (MutationRecord)
  },
  "alertStrategy": {
    object (AlertStrategy)
  },
  "severity": enum (Severity)
}
שדות
name

string

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

projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID]

[ALERT_POLICY_ID] מוקצה על ידי Cloud Monitoring כשהמדיניות נוצרת. כשקוראים לשיטה alertPolicies.create, לא כוללים את השדה name במדיניות ההתראות שמועברת כחלק מהבקשה.

displayName

string

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

המוסכמה לגבי display_name של PrometheusQueryLanguageCondition היא {rule group name}/{alert name}, כאשר {rule group name} ו-{alert name} צריכים להילקח מקובץ ההגדרה המתאים של Prometheus. המוסכמה הזו לא נאכפת. בכל מקרה, הערך display_name הוא לא מפתח ייחודי של AlertPolicy.

documentation

object (Documentation)

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

userLabels

map (key: string, value: string)

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

השדה יכול להכיל עד 64 רשומות. כל מפתח וערך מוגבלים ל-63 תווים ב-Unicode או ל-128 בייטים, הקטן מביניהם. התוויות והערכים יכולים להכיל רק אותיות קטנות, ספרות, קווים תחתונים ומקפים. המפתחות צריכים להתחיל באות.

שימו לב ש-Prometheus {alert name} הוא שם תווית Prometheus תקין, ואילו Prometheus {rule group} הוא מחרוזת UTF-8 לא מוגבלת. כלומר, אי אפשר לאחסן אותם כמו שהם בתוויות משתמשים, כי יכול להיות שהם מכילים תווים שלא מותרים בערכים של תוויות משתמשים.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

conditions[]

object (Condition)

רשימת התנאים של המדיניות. התנאים משולבים באמצעות AND או OR בהתאם לשדה combiner. אם התנאים המשולבים מחזירים את הערך True, נוצר אירוע. כל מדיניות יכולה לכלול תנאי אחד עד שישה תנאים. אם מציינים את condition_time_series_query_language, הוא חייב להיות condition היחיד. אם מציינים את condition_monitoring_query_language, הוא חייב להיות condition היחיד.

combiner

enum (ConditionCombinerType)

איך משלבים את התוצאות של כמה תנאים כדי לקבוע אם צריך לפתוח אירוע. אם מציינים את condition_time_series_query_language, הערך שצריך להיות כאן הוא COMBINE_UNSPECIFIED.

enabled

boolean

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

validity

object (Status)

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

notificationChannels[]

string

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

projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
creationRecord

object (MutationRecord)

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

mutationRecord

object (MutationRecord)

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

alertStrategy

object (AlertStrategy)

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

severity

enum (Severity)

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

מסמכים

ייצוג ב-JSON
{
  "content": string,
  "mimeType": string,
  "subject": string,
  "links": [
    {
      object (Link)
    }
  ]
}
שדות
content

string

גוף המסמך, שפוענח לפי mime_type. התוכן לא יכול להכיל יותר מ-8,192 תווי Unicode, ולא יכול להיות גדול מ-10,240 בייטים בקידוד UTF-8, לפי הקטן מביניהם. אפשר ליצור תבנית לטקסט הזה באמצעות משתנים.

mimeType

string

הפורמט של השדה content. בשלב הזה, יש תמיכה רק בערך "text/markdown". מידע נוסף זמין במאמר בנושא Markdown.

subject

string

זה שינוי אופציונלי. שורת הנושא של ההתראה. אורך שורת הנושא לא יכול להיות יותר מ-10,240 בייט. בהתראות שנוצרות על ידי המדיניות הזו, התוכן של שורת הנושא אחרי הרחבת המשתנים ייחתך ל-255 בייט או פחות, לכל היותר בגבול התווים של UTF-8. המגבלה של 255 בייט מומלצת בשרשור הזה. זוהי גם המגבלה שמוטלת על ידי חלק ממוצרי הכרטוס של צד שלישי, ובדרך כלל מגדירים שדות טקסטואליים במסדי נתונים כ-VARCHAR(255).

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

links[]

object (Link)

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

ייצוג ב-JSON
{
  "displayName": string,
  "url": string
}
שדות
displayName

string

שם מוצג קצר לקישור. השם המוצג לא יכול להיות ריק או ארוך מ-63 תווים. דוגמה: playbook.

url

string

כתובת ה-URL של דף אינטרנט. אפשר ליצור תבנית של כתובת URL באמצעות משתנים בנתיב או בפרמטרים של השאילתה. האורך הכולל של כתובת URL לא יכול לחרוג מ-2,083 תווים לפני ואחרי הרחבת המשתנה. דוגמה: "https://my_domain.com/playbook?name=${resource.name}"

UserLabelsEntry

ייצוג ב-JSON
{
  "key": string,
  "value": string
}
שדות
key

string

value

string

תנאי

ייצוג ב-JSON
{
  "name": string,
  "displayName": string,

  // Union field condition can be only one of the following:
  "conditionThreshold": {
    object (MetricThreshold)
  },
  "conditionAbsent": {
    object (MetricAbsence)
  },
  "conditionMatchedLog": {
    object (LogMatch)
  },
  "conditionMonitoringQueryLanguage": {
    object (MonitoringQueryLanguageCondition)
  },
  "conditionPrometheusQueryLanguage": {
    object (PrometheusQueryLanguageCondition)
  },
  "conditionSql": {
    object (SqlCondition)
  }
  // End of list of possible types for union field condition.
}
שדות
name

string

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

projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID]

[CONDITION_ID] מוקצה על ידי Cloud Monitoring כשהתנאי נוצר כחלק ממדיניות התראות חדשה או מעודכנת.

כשקוראים לשיטה alertPolicies.create, לא כוללים את השדה name בתנאים של מדיניות ההתראות המבוקשת. ‫Cloud Monitoring יוצר את מזהי התנאים וכולל אותם במדיניות החדשה.

כשקוראים לשיטה alertPolicies.update כדי לעדכן מדיניות, כולל תנאי name גורם לעדכון התנאי הקיים. תנאים ללא שמות מתווספים למדיניות המעודכנת. תנאים קיימים יימחקו אם לא יתעדכנו.

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

displayName

string

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

שדה איחוד condition. יוגדר רק אחד מסוגי התנאים הבאים. הערך condition יכול להיות רק אחד מהבאים:
conditionThreshold

object (MetricThreshold)

תנאי שמשווה סדרת זמנים לסף.

conditionAbsent

object (MetricAbsence)

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

conditionMatchedLog

object (LogMatch)

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

conditionMonitoringQueryLanguage

object (MonitoringQueryLanguageCondition)

תנאי שמשתמש בשפת שאילתת מעקב (MQL) כדי להגדיר התראות.

conditionPrometheusQueryLanguage

object (PrometheusQueryLanguageCondition)

תנאי שמשתמש בשפת השאילתות של Prometheus כדי להגדיר התראות.

conditionSql

object (SqlCondition)

תנאי שמעריך מעת לעת את התוצאה של שאילתת SQL.

MetricThreshold

ייצוג ב-JSON
{
  "filter": string,
  "aggregations": [
    {
      object (Aggregation)
    }
  ],
  "denominatorFilter": string,
  "denominatorAggregations": [
    {
      object (Aggregation)
    }
  ],
  "forecastOptions": {
    object (ForecastOptions)
  },
  "comparison": enum (ComparisonType),
  "thresholdValue": number,
  "duration": string,
  "trigger": {
    object (Trigger)
  },
  "evaluationMissingData": enum (EvaluationMissingData)
}
שדות
filter

string

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

המסנן דומה לזה שמצוין בבקשת ListTimeSeries (הקריאה הזו שימושית לאימות סדרת הזמן שתאוחזר או תעובד). במסנן צריך לציין את סוג המדד ואת סוג המשאב. אפשר גם לציין תוויות של משאבים ותוויות של מדדים. האורך של השדה הזה לא יכול לחרוג מ-2,048 תווים ביוניקוד.

aggregations[]

object (Aggregation)

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

השדה הזה דומה לזה שבListTimeSeriesבקשה. מומלץ להשתמש בשיטה ListTimeSeries כשמבצעים ניפוי באגים בשדה הזה.

denominatorFilter

string

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

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

denominatorAggregations[]

object (Aggregation)

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

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

forecastOptions

object (ForecastOptions)

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

comparison

enum (ComparisonType)

ההשוואה שרוצים להחיל בין סדרת הזמנים (מסומנת ב-filter וב-aggregation) לבין ערך הסף (מסומן ב-threshold_value). ההשוואה מוחלת על כל סדרת זמנים, כאשר סדרת הזמנים נמצאת בצד ימין וערך הסף בצד שמאל.

נכון לעכשיו, יש תמיכה רק ב-COMPARISON_LT וב-COMPARISON_GT.

thresholdValue

number

ערך שאליו משווים את סדרת הזמן.

duration

string (Duration format)

חובה. משך הזמן שבו סדרת הזמן צריכה לחרוג מהסף כדי להיחשב ככשל. בשלב הזה, יש תמיכה רק בערכים שהם כפולה של דקה – למשל, 0, 60, 120 או 300 שניות. אם יינתן ערך לא תקין, תוחזר שגיאה. כשבוחרים משך זמן, כדאי לזכור את התדירות של נתוני הסדרה העיקרית (שעשויה להיות מושפעת גם מכל התאמה שצוינה בשדה aggregations). משך זמן טוב הוא כזה שארוך מספיק כדי שערך חריג יחיד לא ייצור התראות שגויות, אבל קצר מספיק כדי שמצבים לא תקינים יזוהו ויוצגו לגביהם התראות במהירות.

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-'s'. דוגמה: "3.5s".

trigger

object (Trigger)

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

evaluationMissingData

enum (EvaluationMissingData)

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

צבירה

ייצוג ב-JSON
{
  "alignmentPeriod": string,
  "perSeriesAligner": enum (Aligner),
  "crossSeriesReducer": enum (Reducer),
  "groupByFields": [
    string
  ]
}
שדות
alignmentPeriod

string (Duration format)

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

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

הערך המקסימלי של alignment_period הוא 104 שבועות (שנתיים) לתרשימים, ו-90,000 שניות (25 שעות) למדיניות התראות.

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-'s'. דוגמה: "3.5s".

perSeriesAligner

enum (Aligner)

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

יכול להיות שלא כל פעולות ההתאמה יחולו על כל סדרות הזמן. האפשרויות התקפות תלויות בmetric_kind ובvalue_type של סדרת הזמנים המקורית. ההתאמה יכולה לשנות את metric_kind או את value_type של סדרת הזמן.

כדי לבצע צמצום של נתונים של פעולות על ציר הזמן, צריך להתאים את הנתונים האלה. אם מציינים את cross_series_reducer, חובה לציין את per_series_aligner, והוא לא יכול להיות שווה ל-ALIGN_NONE, וחובה לציין את alignment_period. אחרת, הפונקציה תחזיר שגיאה.

crossSeriesReducer

enum (Reducer)

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

לא כל הפעולות של הפונקציה reducer יכולות לחול על כל סדרות הזמן. האפשרויות הזמינות תלויות בmetric_kind ובvalue_type של סדרת הזמנים המקורית. הפחתה יכולה להניב סדרת זמן עם metric_kind או value_type שונים מאלה של סדרת הזמן של הקלט.

כדי לבצע צמצום של סדרות זמנים, קודם צריך ליישר את הנתונים של סדרות הזמנים (ראו per_series_aligner). אם מציינים את cross_series_reducer, חובה לציין את per_series_aligner, והוא לא יכול להיות ALIGN_NONE. צריך לציין גם את alignment_period, אחרת תוחזר שגיאה.

groupByFields[]

string

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

משך

ייצוג ב-JSON
{
  "seconds": string,
  "nanos": integer
}
שדות
seconds

string (int64 format)

השניות החתומות של טווח הזמן. הערך חייב להיות בין ‎-315,576,000,000 לבין ‎+315,576,000,000, כולל. הערה: הגבולות האלה מחושבים לפי: 60 שניות/דקה * 60 דקות/שעה * 24 שעות/יום * 365.25 ימים/שנה * 10,000 שנים

nanos

integer

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

ForecastOptions

ייצוג ב-JSON
{
  "forecastHorizon": string
}
שדות
forecastHorizon

string (Duration format)

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

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-'s'. דוגמה: "3.5s".

הטריגר

ייצוג ב-JSON
{

  // Union field type can be only one of the following:
  "count": integer,
  "percent": number
  // End of list of possible types for union field type.
}
שדות
שדה איחוד type. סוג של טריגר. הערך type יכול להיות רק אחד מהבאים:
count

integer

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

percent

number

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

MetricAbsence

ייצוג ב-JSON
{
  "filter": string,
  "aggregations": [
    {
      object (Aggregation)
    }
  ],
  "duration": string,
  "trigger": {
    object (Trigger)
  }
}
שדות
filter

string

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

המסנן דומה לזה שמצוין בבקשת ListTimeSeries (הקריאה הזו שימושית לאימות סדרת הזמן שתאוחזר או תעובד). במסנן צריך לציין את סוג המדד ואת סוג המשאב. אפשר גם לציין תוויות של משאבים ותוויות של מדדים. האורך של השדה הזה לא יכול לחרוג מ-2,048 תווים ביוניקוד.

aggregations[]

object (Aggregation)

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

השדה הזה דומה לזה שבListTimeSeriesבקשה. מומלץ להשתמש בשיטה ListTimeSeries כשמבצעים ניפוי באגים בשדה הזה.

duration

string (Duration format)

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

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-'s'. דוגמה: "3.5s".

trigger

object (Trigger)

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

LogMatch

ייצוג ב-JSON
{
  "filter": string,
  "labelExtractors": {
    string: string,
    ...
  }
}
שדות
filter

string

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

labelExtractors

map (key: string, value: string)

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

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

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

LabelExtractorsEntry

ייצוג ב-JSON
{
  "key": string,
  "value": string
}
שדות
key

string

value

string

MonitoringQueryLanguageCondition

ייצוג ב-JSON
{
  "query": string,
  "duration": string,
  "trigger": {
    object (Trigger)
  },
  "evaluationMissingData": enum (EvaluationMissingData)
}
שדות
query

string

שאילתה של Monitoring Query Language שמפיקה זרם בוליאני.

duration

string (Duration format)

זה שינוי אופציונלי. משך הזמן שבו סדרת הזמן צריכה לחרוג מהסף כדי להיחשב ככשל. בשלב הזה, יש תמיכה רק בערכים שהם כפולה של דקה – למשל, 0, 60, 120 או 300 שניות. אם יינתן ערך לא תקין, תוחזר שגיאה. כשבוחרים משך זמן, כדאי לזכור את התדירות של נתוני הסדרה העיקרית (שעשויה להיות מושפעת גם מכל התאמה שצוינה בשדה aggregations). משך זמן טוב הוא כזה שארוך מספיק כדי שערך חריג יחיד לא ייצור התראות שגויות, אבל קצר מספיק כדי שמצבים לא תקינים יזוהו ויוצגו לגביהם התראות במהירות. ערך ברירת המחדל הוא אפס.

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-'s'. דוגמה: "3.5s".

trigger

object (Trigger)

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

evaluationMissingData

enum (EvaluationMissingData)

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

PrometheusQueryLanguageCondition

ייצוג ב-JSON
{
  "query": string,
  "duration": string,
  "evaluationInterval": string,
  "labels": {
    string: string,
    ...
  },
  "ruleGroup": string,
  "alertRule": string,
  "disableMetricValidation": boolean
}
שדות
query

string

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

duration

string (Duration format)

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

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-'s'. דוגמה: "3.5s".

evaluationInterval

string (Duration format)

זה שינוי אופציונלי. התדירות שבה הכלל הזה צריך להיבדק. חייב להיות כפולה חיובית של 30 שניות או שדה ריק. השדה הזה הוא אופציונלי. ערך ברירת המחדל הוא 30 שניות. אם ה-PrometheusQueryLanguageCondition הזה נוצר מכלל התראות של Prometheus, צריך לקחת את הערך הזה מקבוצת הכללים המקיפה.

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-'s'. דוגמה: "3.5s".

labels

map (key: string, value: string)

זה שינוי אופציונלי. תוויות להוספה לתוצאת השאילתה של PromQL או להחלפה שלה. שמות התוויות חייבים להיות תקינים. אפשר ליצור תבניות לערכי התוויות באמצעות משתנים. שמות המשתנים היחידים שזמינים הם השמות של התוויות בתוצאת PromQL, כולל ‎ "__name__"‎ ו-‎ "value"‎. השדה labels יכול להיות ריק.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ruleGroup

string

זה שינוי אופציונלי. השם של קבוצת הכללים של ההתראה הזו בקובץ התצורה התואם של Prometheus.

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

השדה הזה הוא אופציונלי. אם השדה הזה לא ריק, הוא חייב להכיל מחרוזת UTF-8 תקינה. האורך של השדה הזה לא יכול להיות יותר מ-2,048 תווים ביוניקוד.

alertRule

string

זה שינוי אופציונלי. השם של כלל ההתראה הזה בקובץ התצורה התואם של Prometheus.

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

השדה הזה הוא אופציונלי. אם השדה הזה לא ריק, הוא חייב להיות שם תווית תקין של Prometheus. האורך של השדה הזה לא יכול להיות יותר מ-2,048 תווים ביוניקוד.

disableMetricValidation

boolean

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

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

משתמשים עם הרשאת monitoring.alertPolicyViewer יכולים לראות את השם של המדד שלא קיים בתנאי של מדיניות ההתראות.

LabelsEntry

ייצוג ב-JSON
{
  "key": string,
  "value": string
}
שדות
key

string

value

string

SqlCondition

ייצוג ב-JSON
{
  "query": string,

  // Union field schedule can be only one of the following:
  "minutes": {
    object (Minutes)
  },
  "hourly": {
    object (Hourly)
  },
  "daily": {
    object (Daily)
  }
  // End of list of possible types for union field schedule.

  // Union field evaluate can be only one of the following:
  "rowCountTest": {
    object (RowCountTest)
  },
  "booleanTest": {
    object (BooleanTest)
  }
  // End of list of possible types for union field evaluate.
}
שדות
query

string

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

לדוגמה, השאילתה הבאה מחלצת את כל הרשומות ביומן שמכילות בקשת HTTP:

SELECT
  timestamp, log_name, severity, http_request, resource, labels
FROM
  my-project.global._Default._AllLogs
WHERE
  http_request IS NOT NULL
שדה איחוד schedule. לוח הזמנים מציין את התדירות שבה השאילתה צריכה לפעול. הערך schedule יכול להיות רק אחד מהבאים:
minutes

object (Minutes)

מתזמנים את השאילתה כך שתופעל כל כמה דקות.

hourly

object (Hourly)

מתזמנים את השאילתה כך שתופעל כל כמה שעות.

daily

object (Daily)

מתזמנים את השאילתה כך שתופעל כל כמה ימים.

שדה איחוד evaluate. הבדיקה שתופעל על קבוצת התוצאות של SQL. הערך evaluate יכול להיות רק אחד מהבאים:
rowCountTest

object (RowCountTest)

בדיקה של מספר השורות מול ערך סף.

booleanTest

object (BooleanTest)

בודקים את הערך הבוליאני בעמודה שצוינה.

דקות

ייצוג ב-JSON
{
  "periodicity": integer
}
שדות
periodicity

integer

חובה. מספר הדקות בין ההרצות. מרווח הזמן צריך להיות גדול מ-5 דקות או שווה לו, וקטן מ-1,440 דקות או שווה לו.

מדי שעה

ייצוג ב-JSON
{
  "periodicity": integer,

  // Union field _minute_offset can be only one of the following:
  "minuteOffset": integer
  // End of list of possible types for union field _minute_offset.
}
שדות
periodicity

integer

חובה. מספר השעות בין ההרצות. הערך חייב להיות גדול משעה אחת או שווה לה, וקטן מ-48 שעות או שווה להן.

שדה איחוד _minute_offset.

הערך _minute_offset יכול להיות רק אחד מהבאים:

minuteOffset

integer

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

יומי

ייצוג ב-JSON
{
  "periodicity": integer,
  "executionTime": {
    object (TimeOfDay)
  }
}
שדות
periodicity

integer

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

executionTime

object (TimeOfDay)

זה שינוי אופציונלי. השעה ביום (לפי שעון UTC) שבה השאילתה אמורה לפעול. אם לא מציינים שעה, השרת בוחר שעה אקראית ביום ומריץ את השאילתה באותה שעה בכל יום.

TimeOfDay

ייצוג ב-JSON
{
  "hours": integer,
  "minutes": integer,
  "seconds": integer,
  "nanos": integer
}
שדות
hours

integer

שעות ביום בפורמט של 24 שעות. הערך חייב להיות גדול מ-0 או שווה לו, ובדרך כלל הוא צריך להיות קטן מ-23 או שווה לו. יכול להיות ש-API יאפשר את הערך '24:00:00' בתרחישים כמו שעת הסגירה של העסק.

minutes

integer

מספר הדקות אחרי השעה השלמה. הערך חייב להיות גדול מ-0 או שווה לו, וקטן מ-59 או שווה לו.

seconds

integer

שניות בדקה. הערך חייב להיות גדול מ-0 או שווה לו, ובדרך כלל קטן מ-59 או שווה לו. יכול להיות ש-API יאפשר את הערך 60 אם הוא מאפשר שניות מעוברות.

nanos

integer

חלקיקי שניות, בננו-שניות. הערך חייב להיות גדול מ-0 או שווה לו, וקטן מ-999,999,999 או שווה לו.

RowCountTest

ייצוג ב-JSON
{
  "comparison": enum (ComparisonType),
  "threshold": string
}
שדות
comparison

enum (ComparisonType)

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

threshold

string (int64 format)

חובה. הערך שאליו משווים את מספר השורות.

BooleanTest

ייצוג ב-JSON
{
  "column": string
}
שדות
column

string

חובה. שם העמודה שמכילה את הערך הבוליאני. אם הערך בשורה הוא NULL, המערכת מתעלמת מהשורה הזו.

BoolValue

ייצוג ב-JSON
{
  "value": boolean
}
שדות
value

boolean

הערך הבוליאני.

סטטוס

ייצוג ב-JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
שדות
code

integer

קוד הסטטוס, שצריך להיות ערך enum של google.rpc.Code.

message

string

הודעת שגיאה שמוצגת למפתחים, שצריכה להיות באנגלית. כל הודעת שגיאה שמוצגת למשתמש צריכה להיות מותאמת לשפה המקומית ולהישלח בשדה google.rpc.Status.details, או להיות מותאמת לשפה המקומית על ידי הלקוח.

details[]

object

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

אובייקט שמכיל שדות מכל סוג שהוא. שדה נוסף "@type" מכיל URI שמזהה את הסוג. לדוגמה: { "id": 1234, "@type": "types.example.com/standard/id" }.

הכול

ייצוג ב-JSON
{
  "typeUrl": string,
  "value": string
}
שדות
typeUrl

string

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

דוגמה: type.googleapis.com/google.protobuf.StringValue

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

הקידומת היא שרירותית, וההטמעות של Protobuf אמורות פשוט להסיר את כל מה שמופיע עד לתו / האחרון, כולל התו הזה, כדי לזהות את הסוג. ‫type.googleapis.com/ היא תחילית נפוצה שמוגדרת כברירת מחדל, שנדרשת בחלק מההטמעות מדור קודם. הקידומת הזו לא מציינת את המקור של הסוג, ולא צפוי שמזהי URI שמכילים אותה יגיבו לבקשות כלשהן.

כל מחרוזות כתובות ה-URL של הסוג חייבות להיות הפניות חוקיות ל-URI עם ההגבלה הנוספת (בפורמט הטקסט) שלפיה התוכן של ההפניה חייב לכלול רק תווים אלפאנומריים, תווים מיוחדים עם קידוד אחוזים ותווים בערכה הבאה (לא כולל הגרשיים החיצוניים): /-.~_!$&()*+,;=. למרות שאנחנו מאפשרים קידודים באחוזים, ההטמעות לא צריכות לבטל את הקידוד שלהם כדי למנוע בלבול עם מנתחי נתונים קיימים. לדוגמה, צריך לדחות את הבקשה type.googleapis.com%2FFoo.

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

value

string (bytes format)

השדה מכיל סריאליזציה של Protobuf של הסוג שמתואר על ידי type_url.

מחרוזת בקידוד Base64.

MutationRecord

ייצוג ב-JSON
{
  "mutateTime": string,
  "mutatedBy": string
}
שדות
mutateTime

string (Timestamp format)

מתי השינוי בוצע.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

mutatedBy

string

כתובת האימייל של המשתמש שביצע את השינוי.

חותמת הזמן

ייצוג ב-JSON
{
  "seconds": string,
  "nanos": integer
}
שדות
seconds

string (int64 format)

מייצג את מספר השניות מאז ראשית זמן יוניקס (Unix epoch) ב-1 בינואר 1970 בשעה 00:00:00 UTC. הערך חייב להיות בין ‎-62135596800 ל-253402300799, כולל (שמתאים לטווח 0001-01-01T00:00:00Z עד 9999-12-31T23:59:59Z).

nanos

integer

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

AlertStrategy

ייצוג ב-JSON
{
  "notificationRateLimit": {
    object (NotificationRateLimit)
  },
  "notificationPrompts": [
    enum (NotificationPrompt)
  ],
  "autoClose": string,
  "notificationChannelStrategy": [
    {
      object (NotificationChannelStrategy)
    }
  ]
}
שדות
notificationRateLimit

object (NotificationRateLimit)

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

המגבלה הזו לא חלה על מדיניות התראות שאין לה תנאי LogMatch.

notificationPrompts[]

enum (NotificationPrompt)

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

autoClose

string (Duration format)

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

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-'s'. דוגמה: "3.5s".

notificationChannelStrategy[]

object (NotificationChannelStrategy)

שליטה באופן שבו ההתראות יישלחו, לכל ערוץ בנפרד.

NotificationRateLimit

ייצוג ב-JSON
{
  "period": string
}
שדות
period

string (Duration format)

לא יותר מהתראה אחת לכל period.

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-'s'. דוגמה: "3.5s".

NotificationChannelStrategy

ייצוג ב-JSON
{
  "notificationChannelNames": [
    string
  ],
  "renotifyInterval": string
}
שדות
notificationChannelNames[]

string

השם המלא של משאב REST של ערוצי ההתראות שההגדרות האלה חלות עליהם. כל אחד מהם תואם לשדה name באחד מהאובייקטים NotificationChannel שאליהם יש הפניה בשדה notification_channels של AlertPolicy הזה. הפורמט הוא:

projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
renotifyInterval

string (Duration format)

התדירות שבה יישלחו תזכורות על אירועים פתוחים. הערך צריך להיות בין 30 דקות ל-24 שעות.

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-'s'. דוגמה: "3.5s".

הערות על כלי

רמז הרסני: ❌ | רמז אידמפוטנטי: ✅ | רמז לקריאה בלבד: ✅ | רמז לעולם פתוח: ❌