בדף הזה מוסבר למה יכול להיות שכללי מדיניות מסוימים של התראות יתנהגו בצורה שונה מהצפוי, ומוצעים פתרונות אפשריים למצבים כאלה.
למידע על המשתנים שיכולים להשפיע על מדיניות ההתראות, למשל בחירת חלון הבדיקה מחדש, אפשר לעיין במאמר התנהגות של מדיניות התראות שמבוססת על מדדים.
מדיניות ניצול הדיסק יוצרת אירועים לא צפויים
יצרתם מדיניות התראות כדי לעקוב אחרי הקיבולת 'בשימוש' של הדיסקים במערכת. המדיניות הזו עוקבת אחרי המדד agent.googleapis.com/disk/percent_used.
אתם מצפים לקבל התראה רק כשהשימוש בכל דיסק פיזי חורג מערך הסף שהגדרתם בתנאי. עם זאת, המדיניות הזו יוצרת אירועים כשניצול הדיסק של כל דיסק פיזי קטן מהסף.
סיבה ידועה למקרים לא צפויים של הפרות מדיניות מהסוג הזה היא שהתנאים לא מוגבלים למעקב אחרי דיסקים פיזיים. במקום זאת, המדיניות הזו עוקבת אחרי כל הדיסקים, כולל דיסקים וירטואליים כמו מכשירי loopback. אם דיסק וירטואלי בנוי כך שהניצול שלו הוא 100%, ייווצר אירוע לגבי המדיניות.
לדוגמה, הפלט הבא של הפקודה df ב-Linux מציג את נפח האחסון שזמין במערכות קבצים שנטענו, במערכת אחת:
$ df /dev/root 9983232 2337708 7629140 24% / devtmpfs 2524080 0 2524080 0% /dev tmpfs 2528080 0 2528080 0% /dev/shm ... /dev/sda15 106858 3934 102924 4% /boot/efi /dev/loop0 56704 56704 0 100% /snap/core18/1885 /dev/loop1 129536 129536 0 100% /snap/google-cloud-sdk/150 ...
במערכת הזו, צריך להגדיר מדיניות התראות על ניצול הדיסק כדי לסנן את סדרת הזמן של מכשירי ה-loopback /dev/loop0 ו-/dev/loop1. לדוגמה, אפשר להוסיף את המסנן device !=~ ^/dev/loop.*, שמסנן את כל סדרות הזמן שתווית device שלהן לא תואמת לביטוי הרגולרי ^/dev/loop.*.
סיבות נפוצות לאירועים חריגים
יצרתם מדיניות התראות, ונראה שהמדיניות יוצרת אירועים מוקדם מדי או בצורה שגויה.
יכולות להיות כמה סיבות לכך שתקבלו התראה על אירועים שנראים לא נכונים:
אם יש פער בנתונים, במיוחד במדיניות התראות עם תנאי סף של היעדר מדד או 'פחות מ', יכול להיווצר אירוע שנראה חריג. לפעמים לא מוצג בפרטי האירוע פער בנתונים, ולפעמים הפער בנתונים מתוקן באופן אוטומטי:
לדוגמה, בתרשימים יכול להיות שלא יופיעו פערים כי הערכים של הנתונים החסרים הם תוצאה של אינטרפולציה. גם אם חסרים נתונים של כמה דקות, התרשים מחבר בין הנקודות החסרות כדי ליצור רצף ויזואלי. פער כזה בנתונים הבסיסיים עשוי להספיק כדי שמדיניות ההתראות תיצור אירוע.
יכול להיות שנקודות במדדים מבוססי-יומן יגיעו באיחור ויתווספו בדיעבד, עד 10 דקות אחורה. התנהגות המילוי החוזר מתקנת את הפער; הפער מתמלא כשהנתונים מגיעים בסופו של דבר. לכן, יכול להיות שפער במדד מבוסס-יומן שכבר לא ניתן לראות גרם למדיניות התראות ליצור אירוע.
תנאי סף של 'פחות מ' ושל היעדר מדד נבדקים בזמן אמת, עם השהיה קלה בשאילתה. הסטטוס של התנאי יכול להשתנות בין הזמן שבו הוא מוערך לבין הזמן שבו האירוע התואם מוצג בכלי המעקב.
תנאים שמוגדרים ליצירת אירוע במדד יחיד עלולים לגרום ליצירת אירועים שנראים מוקדמים מדי או שגויים. כדי למנוע את המצב הזה, צריך לוודא שנדרשים כמה מדידות לפני יצירת אירוע. לשם כך, מגדירים את חלון הבדיקה מחדש של תנאי מסוים כך שיהיה גדול יותר משיעור הדגימה של המדד כפול 2.
לדוגמה, אם מדד נדגם כל 60 שניות, צריך להגדיר את חלון הבדיקה מחדש ל-3 דקות לפחות. אם מגדירים את חלון הבדיקה מחדש לערך העדכני ביותר, או ל-0 שניות, מדידה אחת יכולה לגרום ליצירת אירוע.
כשעורכים את התנאי של מדיניות התראות, יכול להיות שיחלפו כמה דקות עד שהשינוי יופץ בתשתית של מערכת ההתראות. במהלך התקופה הזו, יכול להיות שתקבלו הודעה על אירועים שעמדו בתנאים של מדיניות ההתראות המקורית.
כשמגיעים נתונים של סדרות זמן, יכול לעבור עד דקה עד שהנתונים יתפשטו בכל תשתית ההתראות. במהלך התהליך הזה, יכול להיות שמדיניות ההתראות תעריך שתנאי מסוים מתקיים, למרות שנתוני הסדרה העיתית לא הועברו לתרשים של סדרת זמנים. כתוצאה מכך, יכול להיות שתקבלו התראה גם אם התרשים לא מציין שהתנאי מתקיים. כדי לצמצם את הסיכוי למצב הזה, כדאי להשתמש בתקופת התאמה של חמש דקות לפחות.
שינוי השם של התווית App Hub
metadata.system_labels.apphub_host_project_idל-metadata.system_labels.apphub_application_containerעלול לגרום ליצירה של אירועים חדשים מסוימים ולאי סגירה של אירועים פתוחים מסוימים.לא נדרשת פעולה מצידך. ההתראות נסגרות אוטומטית כשהנתונים מפסיקים להגיע, אחרי שמשך הזמן של הסגירה האוטומטית מסתיים. מידע נוסף זמין במאמר בנושא נתוני מדדים חלקיים.
האירוע לא נסגר כשהנתונים מפסיקים להגיע
פועלים לפי ההנחיות במאמר בנושא נתוני מדדים חלקיים ומגדירים מדיניות התראות לסגירת אירועים כשנתונים מפסיקים להגיע. במקרים מסוימים, הנתונים מפסיקים להגיע אבל אירוע פתוח לא נסגר אוטומטית.
אם המשאב הבסיסי שנמצא במעקב על ידי מדיניות התראות מכיל את התווית metadata.system_labels.state, ואם המדיניות הזו לא נכתבה בשפת השאילתות של Monitoring, Monitoring יכול לקבוע את מצב המשאב. אם ידוע שהסטטוס של משאב הוא מושבת, המערכת של Monitoring לא סוגרת אוטומטית אירועים כשנתונים מפסיקים להגיע. עם זאת, אפשר לסגור את האירועים האלה באופן ידני.
אי אפשר לראות את פרטי התקרית בגלל שגיאת הרשאה
עוברים לדף האירועים במסוף Google Cloud ובוחרים אירוע לצפייה. אתם מצפים שדף הפרטים ייפתח. עם זאת, דף הפרטים לא נפתח ומוצגת ההודעה 'אין לך הרשאה'.
כדי לראות את כל פרטי האירוע חוץ מנתוני המדדים, צריך לוודא שיש לכם את התפקידים הבאים ב-IAM: צפייה באירועים במסוף Monitoring Cloud (roles/monitoring.cloudConsoleIncidentViewer) וצפייה בחשבונות Stackdriver (roles/stackdriver.accounts.viewer).
כדי לראות את כל פרטי האירוע, כולל נתוני המדדים, וכדי לאשר או לסגור אירועים, צריך לוודא שיש לכם את תפקידי ה-IAM הבאים: צפייה ב-Monitoring (roles/monitoring.viewer) ועריכת אירועים במסוף Cloud Monitoring (roles/monitoring.cloudConsoleIncidentEditor).
אי אפשר להעניק את ההרשאה שנדרשת לצפייה בפרטי האירועים באמצעות תפקידים בהתאמה אישית.
לא נוצר אירוע כשהתנאי מתקיים
יצרתם מדיניות התראות עם תנאי אחד. בתרשים של מדיניות ההתראות מוצג שהנתונים שבמעקב מפרים את התנאי, אבל לא קיבלתם התראה ולא נוצר אירוע.
אם אחד מהקריטריונים הבאים מתקיים אחרי שהתנאי של מדיניות ההתראות מתקיים, המערכת של Monitoring לא פותחת את האירוע.
- מדיניות ההתראות מושהית.
- מדיניות ההתראות מושבתת.
- כללי המדיניות בנושא התראות הגיעו למספר המקסימלי של אירועים שאפשר לפתוח בו-זמנית.
המצב של המשאב שנמצא במעקב של מדיניות ההתראות הוא מושבת. המעקב יכול לקבוע את מצב המשאב אם המשאב מכיל את התווית
metadata.system_labels.stateומדיניות ההתראות לא נכתבה בשפת השאילתות של Monitoring.
רשימת פרטי האירוע מציגה פרויקט שגוי
תקבלו התראה ובסיכום התנאים יופיעGoogle Cloud הפרויקט שבו נוצר האירוע, כלומר הפרויקט שמוגדר כפרויקט ההיקף. עם זאת, אתם מצפים ששם הפרויקט Google Cloud שבו מאוחסנת סדרת הזמן שגרמה ליצירת האירוע ב-Monitoring יופיע ברשימת האירועים.
אפשרויות הצבירה שצוינו בתנאי של מדיניות התראות קובעות את Google Cloud הפרויקט שאליו מתייחסים בהתראה:
אם אפשרויות הצבירה מסירות את התווית שבה מאוחסן מזהה הפרויקט, פרטי האירוע יכללו את הפרויקט שמוגדר כהיקף. לדוגמה, אם מקבצים את הנתונים רק לפי אזור, אחרי הקיבוץ התווית שבה מאוחסן מזהה הפרויקט מוסרת.
אם אפשרויות הצבירה שומרות את התווית שבה מאוחסן מזהה הפרויקט, ההתראות על האירוע כוללות את השם של Google Cloud הפרויקט שבו מאוחסנת סדרת הזמן שגורמת להתרחשות האירוע. כדי לשמור על התווית של מזהה הפרויקט, צריך לכלול את התווית
project_idבשדה הקיבוץ, או לא לקבץ את סדרת הזמן.
אי אפשר לסגור אירוע באופן ידני
קיבלתם התראה על אירוע במערכת. עוברים לדף הפרטים של האירוע ולוחצים על סגירת האירוע. אתם מצפים שהאירוע ייסגר, אבל אתם מקבלים את הודעת השגיאה:
Unable to close incident with active conditions.
אפשר לסגור תקרית רק אם לא מתקבלות תצפיות בתקופת ההתראה האחרונה. תקופת ההתראה, שבדרך כלל מוגדרת כברירת מחדל ל-5 דקות, מוגדרת כחלק מהתנאי של מדיניות ההתראה ואפשר לשנות אותה. הודעת השגיאה הקודמת מציינת שהתקבלו נתונים בתקופת ההתראה.
השגיאה הבאה מתרחשת כשאי אפשר לסגור אירוע בגלל שגיאה פנימית:
Unable to close incident. Please try again in a few minutes.
אם מופיעה הודעת השגיאה הקודמת, אפשר לנסות שוב לסגור את האירוע או לאפשר ל-Monitoring לסגור אותו באופן אוטומטי.
מידע נוסף זמין במאמר בנושא ניהול אירועים.
מדיניות עם כמה תנאים יוצרת כמה התראות
יצרתם מדיניות התראות שמכילה כמה תנאים, וחיברתם את התנאים האלה באמצעות האופרטור הלוגי AND. אתם מצפים לקבל התראה אחת וליצור אירוע אחד כשכל התנאים מתקיימים. עם זאת, אתם מקבלים כמה התראות ורואים שנוצרו כמה אירועים.
הניטור שולח התראה ויוצר אירוע לכל סדרת זמן שגורמת לתנאי להתקיים. כתוצאה מכך, אם יש לכם מדיניות התראות עם כמה תנאים, יכול להיות שתקבלו התראה אחת ואירוע אחד על כל סדרת זמן שגורמת לתנאים המשולבים להתקיים.
לדוגמה, יש לכם מדיניות התראות עם שני תנאים, שכל אחד מהם עוקב אחרי 3 סדרות זמן. המדיניות שולחת התראה רק אם שני התנאים מתקיימים. כשהתנאים של המדיניות מתקיימים, יכול להיות שתקבלו בין 2 (סדרת זמן אחת מתקיימת בכל תנאי) ל-6 (כל סדרות הזמן מתקיימות בכל תנאי) התראות ואירועים.
אי אפשר להגדיר את המעקב כך שייווצר אירוע אחד ותישלח התראה אחת.
מידע נוסף זמין במאמר מתי Monitoring שולח התראות ויוצר אירועים.
הערך של משתנה של תווית מדד הוא null
יוצרים מדיניות התראות ומוסיפים משתנה לתווית מדד לקטע התיעוד.
אתם מצפים שההתראות יציגו את הערך של התווית שהמשתנה מפנה אליה. עם זאת, הערך של המשתנה מוגדר כ-null.
כדי לפתור את הבעיה, אפשר לנסות את הפתרונות הבאים:
מוודאים שהגדרות הצבירה של מדיניות ההתראות שומרות על התווית שרוצים להציג.
לדוגמה, נניח שאתם יוצרים מדיניות התראות שעוקבת אחרי בייטים של דיסקים שנכתבו על ידי מכונות וירטואליות. אתם רוצים שהמסמך יכלול את המכשיר שגורם להצגת ההתראה, ולכן אתם מוסיפים לשדה המסמך את הטקסט הבא:
device: ${metric.label.device}.צריך גם לוודא שהגדרות הצבירה שומרות על הערך של התווית
device. כדי לשמור את התווית הזו, צריך להגדיר את פונקציית הצבירה ל-noneאו לוודא שהבחירות של הקיבוץ כוללות אתdevice.בודקים את התחביר ואת הרלוונטיות של המשתנה. מידע על התחביר זמין במאמר הוספת הערות להודעות עם תיעוד שהוגדר על ידי המשתמש.
לדוגמה, המשתנה
log.extracted_label.KEYנתמך רק במדיניות התראות שמבוססת על יומנים. המשתנה הזה תמיד מוצג כ-nullכשמדיניות התראות עוקבת אחרי מדד, גם אם זה מדד שמבוסס על יומן.
אין נתונים חדשים אחרי שינויים בהגדרות של מדדים
שיניתם את ההגדרה של מדד שהוגדר על ידי המשתמש, למשל על ידי שינוי המסנן שבו השתמשתם במדד מבוסס-יומן, ומדיניות ההתראות לא משקפת את השינוי שביצעתם בהגדרת המדד.
כדי לפתור את הבעיה, צריך לערוך את השם המוצג של מדיניות ההתראות כדי לאלץ את העדכון שלה.
יצירת מדיניות התראות נכשלת ב-API בגלל מדד חסר
לאחרונה יצרתם מדד ואז הפניתם למדד הזה כשניסיתם ליצור מדיניות התראות ב-Cloud Monitoring API. עם זאת, פקודת ה-API נכשלת ומוצגת השגיאה הבאה:
Error 404: Cannot find metric(s) that match type = "METRIC_NAME". If a metric was created recently, it could take up to 10 minutes to become available. Please try again soon.
כדי לפתור את הבעיה, צריך לחכות לפחות עשר דקות ואז לשלוח מחדש את בקשת ה-API.
בתרשים של מדיניות ההתראות לא מוצגת חריגה מסף
קיבלתם הודעה על פתיחת אירוע במדיניות ההתראות שלכם. עם זאת, כשעוברים לדף הפרטים של המדיניות, התרשים לא מציין שהסף הופר.
כדי לפתור את הבעיה, נסו לקצר את טווח הזמן של התרשים. אפשר לקצר את טווח הזמן באמצעות בורר טווח הזמן בסרגל הכלים, או באמצעות הדגשת טווחי זמן בתרשים באמצעות מצביע העכבר.
לתרשימים יש רזולוציה מוגבלת, ויכול להיות שלא כל המדידות יוצגו עבור טווחי זמן מסוימים.