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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    1. משאירים את ערך ברירת המחדל בשדה סוג התנאי, שהוא סף.

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

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

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

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

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

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

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

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

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

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

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

      ‫Google Cloud console
      השדה 'הערכה של נתונים חסרים'
      סיכום פרטים
      Missing data empty אירועים פתוחים יישארו פתוחים.
      לא נפתחים אירועים חדשים.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    כדי לעצב את התיעוד, אתם יכולים להשתמש בטקסט פשוט, ב-Markdown ובמשתנים. אפשר גם לכלול קישורים שיעזרו למשתמשים לנפות באגים באירוע, כמו קישורים ל-playbooks פנימיים, 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. לוחצים על שם ההתראה ומזינים שם למדיניות ההתראה.

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

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

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

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

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

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

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

אופרטורמשמעותדוגמה
= שוויון resource.labels.zone = "us-central1-a"
!= אי-שוויון resource.labels.zone != "us-central1-a"
=~ שוויונות של ביטויים רגולריים 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")

פתרון בעיות

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

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

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

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

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

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

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

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

  1. אם סדרת הזמן היא מסוג מדד DELTA או CUMULATIVE, היא תומר לסדרת זמן מסוג מדד GAUGE. מידע על ההמרה זמין במאמר Kinds, types, and conversions.
  2. המעקב מחשב את אחוז השינוי על ידי השוואה בין הערך הממוצע בחלון הזמן הנע של 10 דקות האחרונות לבין הערך הממוצע בחלון הזמן הנע של 10 דקות לפני תחילת תקופת ההתאמה.

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

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