יצירת כללי מדיניות להתראות על סף מדד

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

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

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

התכונה הזו נתמכת רק בפרויקטים ב- Google Cloud . להגדרות של App Hub, בוחרים את הפרויקט המארח או את פרויקט הניהול של App Hub.

לפני שמתחילים

  1. כדי לקבל את ההרשאות שנדרשות ליצירה ולשינוי של מדיניות התראות באמצעות מסוף Google Cloud , צריך לבקש מהאדמין להקצות לכם בפרויקט את תפקיד ה-IAM‏ Monitoring Editor (roles/monitoring.editor). להסבר על מתן תפקידים, קראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

    מידע נוסף על תפקידים ב-Cloud Monitoring זמין במאמר בקרת גישה באמצעות ניהול זהויות והרשאות גישה (IAM).

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

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

יצירת מדיניות התראות

כדי ליצור מדיניות התראות שמשווה את הערך של המדד הזה לסף סטטי, מבצעים את הפעולות הבאות:

  1. נכנסים לדף  Alerting במסוף Google Cloud :

    עוברים אל התראות

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

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

    1. לוחצים על Select a metric, מנווטים בתפריטים כדי לבחור סוג משאב וסוג מדד, ואז לוחצים על Apply.

      בתפריט Select a metric יש תכונות שעוזרות למצוא את סוגי המדדים הזמינים:

      • כדי למצוא סוג מדד ספציפי, משתמשים ב Filter bar. לדוגמה, אם מזינים util, התפריט מוגבל להצגת רשומות שכוללות את util. הערכים מוצגים אם הם עוברים בדיקה לא תלוית-רישיות מסוג 'מכיל'.
      • כדי להציג את כל סוגי המדדים, גם כאלה שאין בהם נתונים, לוחצים על פעיל. כברירת מחדל, בתפריטים מוצגים רק סוגי מדדים עם נתונים. מידע נוסף זמין במאמר בנושא מדד שלא מופיע בתפריט.

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

    2. אופציונלי: כדי לעקוב אחרי קבוצת משנה של נתוני סדרת הזמן שתואמים למדד ולסוגי המשאבים שבחרתם בשלב הקודם, לוחצים על הוספת מסנן. בתיבת הדו-שיח של המסנן, בוחרים את התווית שלפיה רוצים לסנן, אופרטור השוואה ואז את ערך המסנן. לדוגמה, המסנן zone =~ ^us.*.a$ משתמש בביטוי רגולרי כדי להתאים את כל נתוני סדרת הזמנים ששם האזור שלהם מתחיל ב-us ומסתיים ב-a. מידע נוסף זמין במאמר סינון של סדרת הזמנים שנבחרה.

    3. אופציונלי: כדי לשנות את אופן ההתאמה של הנקודות בסדרת זמנים, בקטע Transform data (שינוי נתונים), מגדירים את השדות Rolling window (חלון זמן דינמי) ו-Rolling window function (פונקציית חלון זמן דינמי).

      אם אתם עוקבים אחרי מדד מבוסס-יומנים, מומלץ להגדיר בתפריט חלון זמן דינמי לפחות 10 דקות.

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

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

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

      כדי לשלב את כל סדרות הזמנים:

      1. בקטע Across time series, לוחצים על Expand.
      2. מגדירים את השדה Time series aggregation (צבירה של סדרת זמן) לערך שונה מ-none. לדוגמה, כדי להציג את הערך הממוצע של סדרת הזמן, בוחרים באפשרות mean.
      3. מוודאים שהשדה Time series group by ריק.

      כדי לשלב או לקבץ סדרות זמנים לפי ערכי תוויות:

      1. בקטע Across time series, לוחצים על Expand.
      2. מגדירים את השדה Time series aggregation לערך שהוא לא none.
      3. בשדה סדרת זמנים לקיבוץ לפי, בוחרים את התוויות שלפיהן רוצים לקבץ.

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

    5. לוחצים על הבא.

  5. מגדירים את הטריגר של התנאי:

    1. משאירים את ערך ברירת המחדל Threshold בשדה Condition type.

    2. אופציונלי: מעדכנים את התפריט הפעלת התראה, שכולל את הערכים הבאים:

      • ‫Any time series violates: הגדרת ברירת המחדל. כל סדרת נתונים שחורגת מהסף למשך כל חלון הבדיקה החוזרת גורמת לעמידה בתנאי.

      • אחוז מסדרות הזמן שחורגות מהסף: אחוז מסוים מסדרות הזמן צריך לחרוג מהסף במשך כל חלון הבדיקה מחדש כדי שהתנאי יתקיים. לדוגמה, אתם יכולים לקבל התראה כש-50% מסדרות הזמן שבמעקב חורגות מהסף במהלך כל חלון הבדיקה מחדש.

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

      • ‫All time series violate: כל הסדרות העיתיות צריכות לחרוג מהסף במשך כל חלון הבדיקה החוזרת כדי שהתנאי יתקיים.

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

    3. מזינים את המועד שבו ערך המדד חורג מהסף בשדות Threshold position (מיקום הסף) ו-Threshold value (ערך הסף). לדוגמה, אם מגדירים את הערכים האלה ל-Above threshold (מעל הסף) ול-0.3, כל מדידה שגבוהה מ-0.3 תהיה הפרה של הסף.

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

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

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

      התפריט Evaluation missing data מושבת כשהערך של Retest window הוא No retest.

      Google Cloud מסוף
      השדה "הערכה של נתונים חסרים"
      סיכום פרטים
      נתונים חסרים ריקים התראות פתוחות נשארות פתוחות.
      התראות של חדשות Google חדשות לא נפתחות.

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

      אם התנאים לא מתקיימים, הם ימשיכו לא להתקיים גם כשהנתונים יפסיקו להגיע.

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

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

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

      נקודות נתונים חסרות מטופלות כערכים שלא מפרים את תנאי המדיניות ההתראות הפתוחות נסגרות.
      התראות של חדשות Google חדשות לא נפתחות.

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

      תנאים שלא מתקיימים ימשיכו לא להתקיים כשהנתונים יפסיקו להגיע.

    6. לוחצים על הבא.

  6. אופציונלי: יצירת מדיניות התראות עם כמה תנאים.

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

    כדי ליצור מדיניות התראות עם כמה תנאים, מבצעים את הפעולות הבאות:

    1. כדי להוסיף עוד תנאים, לוחצים על Add alert condition ומגדירים את התנאי.
    2. לוחצים על הבא ומגדירים איך התנאים ישולבו.
    3. לוחצים על הבא כדי להמשיך להגדרת ההתראות והתיעוד.
  7. מגדירים את ההתראה ומוסיפים תוויות משתמש:

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

    2. אופציונלי: כדי להשתמש בשורת נושא מותאמת אישית בהתראה במקום בשורת הנושא שמוגדרת כברירת מחדל, מעדכנים את השדה Notification subject line.

    3. אופציונלי: כדי לקבל התראה כשההתראה נסגרת, בוחרים באפשרות Notify on alert closure. כברירת מחדל, כשיוצרים מדיניות התראות באמצעות המסוף Google Cloud , התראה נשלחת רק כשנוצרת התראה.

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

    5. אופציונלי: כדי לשייך את מדיניות ההתראות לאפליקציה ב-App Hub, בוחרים אפליקציה, שירות או עומס עבודה בקטע תוויות של אפליקציות. התוויות האלה מוצגות בהתראות ובהודעות.

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

    7. אופציונלי: כדי להוסיף תוויות בהתאמה אישית למדיניות ההתראות, בקטע Policy user labels:

      1. לוחצים על הוספת תווית ובשדה מפתח מזינים שם לתווית. שמות התוויות צריכים להתחיל באות קטנה, והם יכולים להכיל אותיות קטנות, ספרות, קווים תחתונים ומקפים. לדוגמה, מזינים severity.
      2. לוחצים על Value ומזינים ערך בשביל התווית. ערכי התוויות יכולים להכיל אותיות קטנות, ספרות, קווים תחתונים ומקפים. לדוגמה, מזינים critical.

      במאמר הוספת תוויות להתראות מוסבר איך משתמשים בתוויות של מדיניות כדי לנהל את ההתראות.

  8. אופציונלי: בקטע Documentation, מזינים את התוכן שרוצים לכלול בהתראה.

    כדי לעצב את התיעוד, אתם יכולים להשתמש בטקסט פשוט, ב-Markdown ובמשתנים. אפשר גם לכלול קישורים שיעזרו למשתמשים לנפות באגים בהתראה, כמו קישורים לתוכניות פעולה פנימיות, Google Cloud לוחות בקרה ודפים חיצוניים. לדוגמה, תבנית התיעוד הבאה מתארת התראה על ניצול CPU למשאב gce_instance וכוללת כמה משתנים להפניה למשאבי REST של מדיניות ההתראה והתנאי. תבנית התיעוד מפנה את הקוראים לדפים חיצוניים כדי לעזור להם בניפוי באגים.

    כשנוצרות התראות, המערכת של Monitoring מחליפה את משתני התיעוד בערכים שלהם. הערכים מחליפים את המשתנים רק בהתראות. בחלונית התצוגה המקדימה ובמקומות אחרים במסוף Google Cloud מוצג רק העיצוב של Markdown.

    תצוגה מקדימה

    ## CPU utilization exceeded
    
    ### Summary
    
    The ${metric.display_name} of the ${resource.type}
    ${resource.label.instance_id} in the project ${resource.project} has
    exceeded 90% for over 15 minutes.
    
    ### Additional resource information
    
    Condition resource name: ${condition.name}  
    Alerting policy resource name: ${policy.name}  
    
    ### Troubleshooting and Debug References
    
    Repository with debug scripts: example.com  
    Internal troubleshooting guide: example.com  
    ${resource.type} dashboard: example.com
    

    פורמט בהתראה

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

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

  9. לוחצים על Alert name ונותנים שם למדיניות ההתראות.

  10. לוחצים על יצירת מדיניות.

סינון סדרת הזמנים שנבחרה

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

מסנן מורכב מתווית, מאופרטור השוואה ומערך. לדוגמה, כדי להתאים את כל סדרות הזמנים שהתווית zone שלהן מתחילה ב-"us-central1", אפשר להשתמש במסנן zone=~"us-central1.*", שמשתמש בביטוי רגולרי כדי לבצע את ההשוואה.

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

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

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

אופרטורמשמעותדוגמה
= שוויון resource.labels.zone = "us-central1-a"
!= אי-שוויון resource.labels.zone != "us-central1-a"
=~ שוויון של ביטוי רגולרי2 monitoring.regex.full_match("^us.*")
!=~ אי-שוויון Regular expression2 monitoring.regex.full_match("^us.*")
starts_with הערך מתחיל ב- resource.labels.zone = starts_with("us")
ends_with הערך מסתיים ב- resource.labels.zone = ends_with("b")
has_substring הערך מכיל resource.labels.zone = has_substring("east")
one_of אחד מתוך resource.labels.zone = one_of("asia-east1-b", "europe-north1-a")
!starts_with הערך לא מתחיל ב- resource.labels.zone != starts_with("us")
!ends_with הערך לא מסתיים ב- resource.labels.zone != ends_with("b")
!has_substring הערך לא מכיל resource.labels.zone != has_substring("east")
!one_of הערך לא נמצא ברשימה resource.labels.zone != one_of("asia-east1-b", "europe-north1-a")

פתרון בעיות

בקטע הזה מפורטים טיפים לפתרון בעיות.

המדד לא מופיע בתפריט המדדים הזמינים

כדי לעקוב אחרי מדד שלא מופיע בתפריט Select a metric, מבצעים אחת מהפעולות הבאות:

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

  • כדי להגדיר תנאי לסוג מדד מותאם אישית לפני שסוג המדד הזה יוצר נתונים, צריך לציין את סוג המדד באמצעות מסנן של Monitoring:

    1. בוחרים באפשרות ?. בכותרת של הקטע Select metric, ואז בוחרים באפשרות Direct filter mode בתיאור הכלים.
    2. מזינים מסנן מעקב או בורר של סדרות זמן. מידע על התחביר זמין במאמרים הבאים:

מעקב אחרי קצב השינוי

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

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

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

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