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

תוויות שמוגדרות על ידי המשתמשים במדיניות ההתראות ב-Cloud Monitoring מאפשרות לארגן את ההתראות ולתעדף אותן. כשמגדירים את התוויות האלה, הן מוצגות במדיניות ההתראות ובהתראות עצמן, ואפשר לכלול אותן בהתראות.

מידע על התוויות

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

תוויות שהוגדרו על ידי המשתמש

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

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

תוויות שהוגדרו מראש

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

תוויות של מרכז האפליקציות

‫App Hub מוסיף תוויות לנתוני יומן, מדדים ומעקב שנוצרו על ידי אפליקציה, השירותים ועומסי העבודה שלה. התוויות האלה מאפשרות לתשתית של Google Cloud ליצור לוחות בקרה של אפליקציות, שירותים ועומסי עבודה שמציגים נתונים של מדדים ויומנים. מידע נוסף זמין במאמרים הבאים:

איך רואים את התוויות

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

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

    • אימייל
    • Google Chat
    • PagerDuty
    • Pub/Sub
    • תגובה לפעולה מאתר אחר (webhook)

דוגמה: הוספת תוויות בהתאמה אישית עם ערכים דינמיים

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

  label_replace(
    avg_over_time({"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance"}[5m]) >= 0.9,
    "criticality", "CRITICAL", "", ""
  )
or ignoring (criticality)
  label_replace(
    avg_over_time({"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance"}[5m]) >= 0.8,
    "criticality", "WARNING", "", ""
  )
or ignoring (criticality)
  label_replace(
    avg_over_time({"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance"}[5m]) >= 0.7,
    "criticality", "INFO", "", ""
  )
or ignoring (criticality)
  label_replace(
    avg_over_time({"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance"}[5m]),
    "criticality", "GOOD", "", ""
  )

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

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

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

שם סדרת הזמנים של הפלט התנאי מתקיים תיאור
"GOOD" לא לסדרת הזמן הזו יש את אותן תוויות כמו לסדרת הזמן של הקלט. אין לה תווית חומרה.
"CRITICAL" כן ניצול המעבד (CPU) הוא לפחות 90%. לסדרת הזמנים של הפלט יש את אותן תוויות כמו לסדרת הזמנים "GOOD", וגם תווית חומרה עם הערך "CRITICAL".
"WARNING" כן הניצול של המעבד הוא לפחות 80% אבל פחות מ-90%. לסדרת הזמן של הפלט יש את אותן תוויות כמו לסדרת הזמן "GOOD", וגם תווית חומרה עם הערך "WARNING".
"INFO" כן ניצול המעבד הוא לפחות 70% אבל פחות מ-80%. לסדרת הזמן של הפלט יש את אותן תוויות כמו לסדרת הזמן GOOD, בתוספת תווית חומרה עם הערך INFO.

הנתונים בסדרת הזמנים שנוצרו על ידי ה-policy handler הם הקלט של מנהל ההתראות, שקובע מתי ההתראות נוצרות ונסגרות. כדי לקבוע מתי לסגור התראה, מנהל ההתראות משתמש בערכים של השדות duration,‏ evaluationMissingData ו-autoClose.

שיטות מומלצות

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

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

    • השדה duration: צריך להגדיר ערך שאינו אפס.
    • השדה evaluationMissingData: מגדירים שההתראות ייסגרו כשהנתונים יפסיקו להגיע. כשמשתמשים ב-Cloud Monitoring API, צריך להגדיר את השדה הזה לערך EVALUATION_MISSING_DATA_INACTIVE. כשמשתמשים במסוף Google Cloud , מגדירים את השדה לערך "נקודות על הגרף חסרות מטופלות כערכים שאינם מפרים את תנאי המדיניות".
  • באובייקט AlertStrategy, מגדירים את השדה autoClose לערך המינימלי שלו, שהוא 30 דקות. כשמשתמשים ב-Cloud Monitoring API, צריך להגדיר את השדה הזה לערך 30m.

מידע נוסף זמין במאמר נתוני מדדים חלקיים.

תהליך ההתראה

נניח שמדיניות ההתראה נוצרה כשמדידות השימוש במעבד (CPU) היו פחות מ-70%. הרצף הבא ממחיש איך התראות נפתחות ונסגרות:

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

  2. נניח שניצול המעבד (CPU) עולה ל-93%. ה-policy handler מפסיק ליצור את נתוני סדרת הזמנים "GOOD" ומתחיל ליצור נתונים לסדרת הזמנים "CRITICAL".

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

  3. נניח שניצול המעבד (CPU) יורד ל-75%. ה-handler של המדיניות מפסיק ליצור את סדרת הזמן 'CRITICAL' ומתחיל ליצור את סדרת הזמן 'INFO'.

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

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

  4. לבסוף, נניח ששיעור ניצול המעבד יורד ל-45%. הערך הזה נמוך מכל ערכי הסף, ולכן המטפל במדיניות מפסיק ליצור את סדרת הזמן INFO ומתחיל ליצור את סדרת הזמן GOOD.

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

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

המאמרים הבאים