במאמר הזה מוסבר איך להשתמש במסוף Google Cloud כדי ליצור מדיניות התראות ששולחת התראות כשאין נתונים בסדרת זמן במעקב במשך תקופה מסוימת.
תנאים של היעדר מדד מחייבים לפחות מדידה מוצלחת אחת – מדידה שמאחזרת נתונים – בתוך פרק הזמן המקסימלי אחרי התקנת המדיניות או שינוי שלה. התקופה הזו נקראת הזמן שחלף מאז ההפעלה. הזמן המקסימלי שניתן להגדיר לגורם מפעיל הוא 23.5 שעות.
לדוגמה, נניח שהגדרתם את זמן ההיעדרות של הטריגר במדיניות של metric-absence ל-30 דקות. התנאי לא יתקיים אם מערכת המשנה שכותבת נתוני מדדים מעולם לא כתבה נקודה על הגרף. מערכת המשנה צריכה להפיק לפחות נקודה על הגרף אחת, ואז להיכשל בהפקת נקודות על הגרף נוספות למשך 30 דקות.
התוכן הזה לא רלוונטי למדיניות התראות שמבוססת על יומנים. למידע על מדיניות התראות שמבוססת על יומנים, שמודיעה לכם כשמופיעה הודעה מסוימת ביומנים, ראו מעקב אחרי היומנים.
במסמך הזה לא מתוארים הנושאים הבאים:
- איך מקבלים התראה כשהערכים של מדד מסוים גבוהים או נמוכים מסף מסוים. מידע נוסף זמין במאמר יצירת כללי מדיניות להתראות על סמך סף מדד.
- איך מקבלים התראה על סמך הערך החזוי של מדד. מידע נוסף מופיע במאמר יצירת מדיניות התראות לגבי ערכים חזויים של מדדים.
איך יוצרים מדיניות התראות באמצעות Cloud Monitoring API. מידע נוסף מופיע במאמר בנושא יצירת מדיניות התראות באמצעות ה-API.
איך יוצרים מדיניות התראות שהתנאי שלה כולל שאילתה בשפת השאילתות של Monitoring (MQL). אפשר להגדיר את כללי המדיניות האלה עם סף סטטי או דינמי. מידע נוסף זמין במאמרים הבאים:
התכונה הזו נתמכת רק בפרויקטים של Google Cloud . בהגדרות של מרכז האפליקציות, בוחרים את פרויקט המארח או את פרויקט הניהול של מרכז האפליקציות.
לפני שמתחילים
-
כדי לקבל את ההרשאות שנדרשות ליצירה ולשינוי של מדיניות התראות באמצעות מסוף Google Cloud , צריך לבקש מהאדמין להקצות לכם בפרויקט את תפקיד ה-IAM Monitoring Editor (
roles/monitoring.editor). להסבר על מתן תפקידים, קראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
מידע נוסף על תפקידים ב-Cloud Monitoring זמין במאמר בקרת גישה באמצעות ניהול זהויות וגישה.
חשוב להכיר את המושגים הכלליים של מדיניות ההתראות. מידע על הנושאים האלה מופיע במאמר סקירה כללית על התראות.
מגדירים את ערוצי ההתראות שרוצים להשתמש בהם כדי לקבל התראות. לצורך יתירות, מומלץ ליצור כמה סוגים של ערוצי התראות. מידע נוסף מופיע במאמר בנושא יצירה וניהול של ערוצי התראות.
יצירת מדיניות התראות
כדי ליצור מדיניות התראות ששולחת התראות כשאין נתונים בסדרת זמן במעקב למשך זמן היעדרות ספציפי של טריגר, צריך לבצע את הפעולות הבאות:
-
נכנסים לדף notifications Alerting במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שבה הכותרת המשנית היא Monitoring.
- בסרגל הכלים של מסוף Google Cloud , בוחרים את Google Cloud הפרויקט. בהגדרות של מרכז האפליקציות, בוחרים את פרויקט המארח או את פרויקט הניהול של מרכז האפליקציות.
- לוחצים על יצירת מדיניות.
בוחרים את סדרת הזמנים שרוצים לעקוב אחריה:
לוחצים על Select a metric, עוברים בין התפריטים כדי לבחור סוג משאב וסוג מדד, ואז לוחצים על Apply.
התפריט Select a metric כולל תכונות שעוזרות לכם למצוא את סוגי המדדים שזמינים:
- כדי למצוא סוג ספציפי של מדד, משתמשים בfilter_list סרגל הסינון.
לדוגמה, אם מזינים
util, התפריט יציג רק רשומות שכוללות אתutil. הערכים מוצגים אם הם עוברים בדיקה לא תלוית-רישיות מסוג 'מכיל'.
אתם יכולים לעקוב אחרי כל מדד מובנה או אחרי כל מדד שהוגדר על ידי המשתמש.
- כדי למצוא סוג ספציפי של מדד, משתמשים בfilter_list סרגל הסינון.
לדוגמה, אם מזינים
אופציונלי: כדי לעקוב אחרי קבוצת משנה של סדרות הזמן שתואמות למדדים ולסוגי המשאבים שבחרתם בשלב הקודם, לוחצים על הוספת מסנן. בתיבת הדו-שיח של המסנן, בוחרים את התווית שלפיה רוצים לסנן, אופרטור השוואה ואז את ערך המסנן. לדוגמה, המסנן
zone =~ ^us.*.a$משתמש בביטוי רגולרי כדי להתאים את כל נתוני הסדרות העיתיות ששם האזור שלהם מתחיל ב-usומסתיים ב-a. מידע נוסף זמין במאמר בנושא סינון סדרת הזמנים שנבחרה.אופציונלי: כדי לשנות את אופן ההתאמה של הנקודות בסדרת זמן, בקטע Transform data (שינוי נתונים), מגדירים את השדות Rolling window (חלון נע) ו-Rolling window function (פונקציית חלון נע).
אם אתם עוקבים אחרי מדד שמבוסס על יומן, מומלץ להגדיר את התפריט חלון נע ל-10 דקות לפחות.
בשדות האלה מצוין איך הנקודות שנרשמות בחלון משולבות. לדוגמה, נניח שחלון הזמן הוא 15 דקות ופונקציה אנליטית (window function) היא
max. הנקודה המיושרת היא הערך המקסימלי של כל הנקודות ב-15 הדקות האחרונות. מידע נוסף מופיע במאמר בנושא התאמה: רגולריזציה בתוך סדרות.אופציונלי: אפשר לשלב סדרות עיתיות אם רוצים לצמצם את מספר הסדרות העיתיות שמתבצע לגביהן מעקב על ידי מדיניות, או אם רוצים לעקוב רק אחרי אוסף של סדרות עיתיות. לדוגמה, במקום לעקוב אחרי ניצול המעבד של כל מופע של מכונה וירטואלית, אפשר לחשב את הניצול הממוצע של המעבד בכל המכונות הווירטואליות באזור מסוים, ואז לעקוב אחרי הממוצע הזה. כברירת מחדל, סדרות הזמן לא משולבות. מידע כללי זמין במאמר בנושא צמצום: שילוב של סדרות זמנים.
כדי לשלב את כל סדרות הזמנים:
- בקטע בכל סדרות הזמן, לוחצים על expand_more הרחבה.
- מגדירים את השדה Time series aggregation (צבירה של סדרת זמן) לערך שונה מ-
none. לדוגמה, כדי להציג את הערך הממוצע של סדרת הזמן, בוחרים באפשרותmean. - מוודאים שהשדה Time series group by (קיבוץ סדרות זמן) ריק.
כדי לשלב או לקבץ סדרות עיתיות לפי ערכי תוויות:
- בקטע בכל סדרות הזמן, לוחצים על expand_more הרחבה.
- מגדירים את השדה Time series aggregation (צבירה של סדרת זמן) לערך שונה מ-
none. - בשדה Time series group by, בוחרים את התוויות שלפיהן רוצים לקבץ.
לדוגמה, אם מקבצים לפי התווית
zoneואז מגדירים את שדה הצבירה לערךmean, בתרשים מוצגת סדרת זמן אחת לכל אזור שיש לגביו נתונים. סדרת הזמנים שמוצגת לאזור מסוים היא הממוצע של כל סדרות הזמנים באותו אזור.לוחצים על הבא.
מגדירים את טריגר התנאי:
בוחרים באפשרות Metric absence (חוסר במדד) בתנאי.
אופציונלי: מעדכנים את התפריט הפעלת ההתראה, שכולל את הערכים הבאים:
כל סדרת זמן שמפרה: הגדרת ברירת המחדל. אם יש סדרת זמן שבה אין נתונים במשך כל משך הזמן שבו לא מופעל הטריגר, התנאי מתקיים.
אחוז הפרות של סדרות זמן: אחוז מסוים של סדרות זמן צריך להיות ללא נתונים במשך כל זמן ההיעדרות של הטריגר לפני שהתנאי מתקיים. לדוגמה, אפשר לקבל התראה אם ב-50% מסדרות הזמן שבמעקב לא מופיעים נתונים במשך כל הזמן שמוגדר להפעלת ההתראה.
מספר ההפרות של סדרות זמן: מספר ספציפי של סדרות זמן צריך להכיל נתונים חסרים למשך זמן ההיעדרות של הטריגר כולו כדי שהתנאי יתקיים. לדוגמה, אפשר לקבל התראה אם ל-32 מסדרות הזמן שבמעקב אין נתונים למשך כל הזמן שמוגדר להפעלת הטריגר.
כל סדרות הזמן חורגות: כל סדרות הזמן צריכות להיות ללא נתונים למשך כל הזמן שמוגדר להפעלת הטריגר, לפני שהתנאי מתקיים.
למידע על המרווחים שבהם Monitoring משתמש כדי ליישר ולמדוד נתונים של סדרות זמנים, ראו תקופות יישור וחלונות בדיקה מחדש.
בשדה Trigger absence time (זמן הפעלת התראה על היעדר נתונים) מציינים כמה זמן צריך לעבור בלי שיתקבלו נתונים של מדד מסוים לפני ש-Monitoring ישלח לכם התראה.
לוחצים על הבא.
אופציונלי: יצירת מדיניות התראות עם כמה תנאים.
רוב כללי המדיניות עוקבים אחרי סוג מדד יחיד. לדוגמה, כלל מדיניות יכול לעקוב אחרי מספר הבייטים שנכתבו למכונה וירטואלית. כשרוצים לעקוב אחרי כמה סוגי מדדים, צריך ליצור מדיניות עם כמה תנאים. כל תנאי עוקב אחרי סוג אחד של מדד. אחרי שיוצרים את התנאים, מציינים איך התנאים משולבים. מידע נוסף מופיע במאמר בנושא כללי מדיניות עם מספר תנאים.
כדי ליצור מדיניות התראות עם כמה תנאים, מבצעים את הפעולות הבאות:
- לכל תנאי נוסף, לוחצים על הוספת תנאי להתרעה ואז מגדירים את התנאי.
- לוחצים על הבא וקובעים איך התנאים ישולבו.
- לוחצים על הבא כדי לעבור להגדרת ההתראות והתיעוד.
מגדירים את ההתראה ומוסיפים תוויות משתמש:
מרחיבים את התפריט התראות ושם ובוחרים את ערוצי ההתראות. לצורך יתירות, מומלץ להוסיף למדיניות התראות כמה סוגים של ערוצי התראות. מידע נוסף זמין במאמר בנושא ניהול ערוצי התראות.
אופציונלי: כדי להשתמש בשורת נושא מותאמת אישית בהתראה במקום בשורת הנושא שמוגדרת כברירת מחדל, מעדכנים את השדה שורת הנושא של ההתראה.
אופציונלי: כדי לקבל התראה כשאירוע נסגר, בוחרים באפשרות התראה על סגירת אירוע. כברירת מחדל, כשיוצרים מדיניות התראות באמצעות המסוף Google Cloud , נשלחת התראה רק כשנוצר אירוע.
אופציונלי: כדי לשנות את משך הזמן שבו המערכת ממתינה לפני סגירת אירוע אחרי שהנתונים מפסיקים להגיע, בוחרים באפשרות מתוך התפריט משך הזמן לסגירה אוטומטית של אירוע. כברירת מחדל, כשנתונים מפסיקים להגיע, המערכת של Monitoring ממתינה שבעה ימים לפני סגירת אירוע פתוח.
אופציונלי: כדי לשייך את מדיניות ההתראות לאפליקציה ב-מרכז האפליקציות, בקטע תוויות אפליקציה, בוחרים אפליקציה ושירות או עומס עבודה. התוויות האלה מוצגות באירועים ובהתראות.
אופציונלי: בוחרים אפשרות מהתפריט רמת החומרה של המדיניות. רמת החומרה מוצגת באירועים ובהתראות.
אופציונלי: כדי להוסיף תוויות מותאמות אישית למדיניות ההתראות, בקטע תוויות משתמש של המדיניות, מבצעים את הפעולות הבאות:
- לוחצים על הוספת תווית ובשדה מפתח מזינים שם לתווית. שמות התוויות צריכים להתחיל באות קטנה, והם יכולים להכיל אותיות קטנות, ספרות, קווים תחתונים ומקפים.
לדוגמה, מזינים
severity. - לוחצים על ערך ומזינים ערך לתווית. הערכים של התוויות יכולים להכיל אותיות קטנות, ספרות, קווים תחתונים ומקפים.
לדוגמה, מזינים
critical.
מידע על שימוש בתוויות מדיניות כדי לנהל את ההתראות זמין במאמר הוספת תוויות לאירועים.
- לוחצים על הוספת תווית ובשדה מפתח מזינים שם לתווית. שמות התוויות צריכים להתחיל באות קטנה, והם יכולים להכיל אותיות קטנות, ספרות, קווים תחתונים ומקפים.
לדוגמה, מזינים
אופציונלי: בקטע 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הפורמט בהתראה
מידע נוסף זמין במאמרים בנושא הוספת הערות להודעות עם תיעוד שהוגדר על ידי המשתמש ושימוש באמצעי בקרה של הערוץ.
לוחצים על שם ההתראה ומזינים שם למדיניות ההתראה.
לוחצים על יצירת מדיניות.
סינון סדרת הזמנים שנבחרה
המסננים מוודאים שרק סדרות זמן שעומדות בקבוצת קריטריונים מסוימת ייבדקו. כשמחילים מסננים, יכול להיות שמספר הקווים בתרשים יקטן, מה שיכול לשפר את הביצועים של התרשים. אפשר גם לצמצם את כמות הנתונים שנבדקים באמצעות צבירה. המסננים מוודאים שייעשה שימוש רק בסדרות זמן שעומדות בקבוצה מסוימת של קריטריונים. כשמחילים מסננים, יש פחות סדרות עיתיות להערכה, מה שיכול לשפר את הביצועים של ההתראה.
מסנן מורכב מתווית, מאופרטור השוואה ומערך. לדוגמה, כדי להתאים את כל סדרות הזמן שהתווית 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") |
- במאמר שימוש בתגים כדי לשלוט בגישה למשאבים מוסבר איך שולטים בגישה לכללי מדיניות להתראות באמצעות תגים.