בדף הזה מוסבר למה יכול להיות שכללי מדיניות מסוימים של התראות יתנהגו בצורה שונה מהצפוי, ומוצעים פתרונות אפשריים למצבים כאלה.
למידע על המשתנים שיכולים להשפיע על מדיניות ההתראות, למשל בחירת חלון הבדיקה מחדש, אפשר לעיין במאמר התנהגות של מדיניות התראות שמבוססת על מדדים.
מדיניות ניצול הדיסק יוצרת התראות לא צפויות
יצרתם מדיניות התראות כדי לעקוב אחרי הקיבולת 'בשימוש' של הדיסקים במערכת. המדיניות הזו עוקבת אחרי המדד 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 שניות, מדידה אחת יכולה לגרום ליצירת התראה.
כשעורכים את התנאי של מדיניות התראות, יכולות לחלוף כמה דקות עד שהשינוי יופץ בתשתית של מערכת ההתראות. במהלך התקופה הזו, יכול להיות שתקבלו התראות על אירועים שעמדו בתנאים של מדיניות ההתראות המקורית.
כשמתקבלים נתונים של סדרות עיתיות, יכול לעבור עד דקה עד שהנתונים יתעדכנו בכל תשתית ההתראות. במהלך התהליך הזה, יכול להיות שמדיניות התראות תעריך שתנאי מסוים מתקיים, למרות שנתוני הסדרה העיתית לא הועברו לתרשים הסדרה העיתית. כתוצאה מכך, יכול להיות שתקבלו התראה גם אם התרשים לא מציין שהתנאי מתקיים. כדי לצמצם את הסיכוי למצב כזה, מומלץ להשתמש בתקופת התאמה של חמש דקות לפחות.
שינוי השם של התווית מרכז האפליקציות
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).
כדי לראות את כל פרטי ההתראה, כולל נתוני המדדים, וכדי לאשר או לסגור התראות, צריך לוודא שיש לכם את התפקידים 'צפייה ב-Monitoring' (roles/monitoring.viewer) ו'עריכת אירועים במסוף Cloud Monitoring' (roles/monitoring.cloudConsoleIncidentEditor) ב-IAM.
אי אפשר להעניק הרשאה לצפייה בפרטי ההתראות באמצעות תפקידים בהתאמה אישית.
התראה לא נוצרת כשתנאי מתקיים
יצרתם מדיניות התראות עם תנאי אחד. בתרשים של מדיניות ההתראות מוצג שהנתונים שבמעקב מפרים את התנאי, אבל לא קיבלתם התראה ולא נוצרה התראה.
אם אחד מהקריטריונים הבאים מתקיים אחרי שהתנאי של מדיניות ההתראות מתקיים, המערכת לא תפתח את ההתראה ב-Monitoring.
- מדיניות ההתראות מושהית.
- מדיניות ההתראות מושבתת.
- מדיניות ההתראות הגיעה למספר המקסימלי של התראות שאפשר לפתוח בו-זמנית.
המצב של המשאב שעליו חל כלל מדיניות ההתראות הוא מושבת. המעקב יכול לקבוע את מצב המשאב אם המשאב מכיל את התווית
metadata.system_labels.stateומדיניות ההתראות לא נכתבה בשפת השאילתות של Monitoring.
הפרויקט שמופיע ברשימת פרטי ההתראה שגוי
תקבלו התראה, ובסיכום התנאים יופיעGoogle Cloud הפרויקט שבו נוצרה ההתראה, כלומר פרויקט ההיקף. עם זאת, אתם מצפים שההתראה תכלול את השם של Google Cloud הפרויקט שבו מאוחסנת סדרת הזמן שגרמה ל-Monitoring ליצור את ההתראה.
אפשרויות הצבירה שצוינו בתנאי של מדיניות התראות קובעות את Google Cloud הפרויקט שאליו מתייחסים בהתראה:
אם אפשרויות הצבירה מבטלות את התווית שבה מאוחסן מזהה הפרויקט, פרטי ההתראה יכללו את הפרויקט שמוגדר כהיקף. לדוגמה, אם מקבצים את הנתונים רק לפי אזור, אחרי הקיבוץ התווית שבה מאוחסן מזהה הפרויקט מוסרת.
אם אפשרויות הצבירה שומרות את התווית שבה מאוחסן מזהה הפרויקט, ההתראות כוללות את השם של Google Cloud הפרויקט שבו מאוחסנת סדרת הזמן שגורמת להפעלת ההתראה. כדי לשמור על התווית של מזהה הפרויקט, צריך לכלול את התווית
project_idבשדה הקיבוץ, או לא לקבץ את סדרת הזמן.
אי אפשר לסגור התראה באופן ידני
קיבלתם התראה על התראה במערכת. עוברים לדף פרטי ההתראה ולוחצים על סגירת ההתראה. אתם מצפים שההתראה תיסגר, אבל אתם מקבלים את הודעת השגיאה:
Unable to close alert with active conditions.
אפשר לסגור התראה רק אם לא מתקבלות תצפיות בתקופת ההתראה האחרונה. תקופת ההתראה, שבדרך כלל מוגדרת כברירת מחדל ל-5 דקות, מוגדרת כחלק מהתנאי של מדיניות ההתראה ואפשר לשנות אותה. הודעת השגיאה הקודמת מציינת שהתקבלו נתונים במהלך תקופת ההתראה.
השגיאה הבאה מתרחשת כשאי אפשר לסגור התראה בגלל שגיאה פנימית:
Unable to close alert. Please try again in a few minutes.
אם מוצגת הודעת השגיאה הקודמת, אפשר לנסות שוב לסגור את ההתראה או לאפשר למערכת המעקב לסגור אותה באופן אוטומטי.
מידע נוסף מופיע במאמר בנושא ניהול התראות.
מדיניות עם כמה תנאים יוצרת כמה התראות
יצרתם מדיניות התראות שמכילה כמה תנאים, וחיברתם את התנאים האלה באמצעות 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.
בתרשים של מדיניות ההתראות לא מוצגת חריגה מסף
קיבלתם הודעה על פתיחת התראה לגבי מדיניות ההתראות שלכם. עם זאת, כשעוברים לדף הפרטים של המדיניות, התרשים לא מציין שהסף הופר.
כדי לפתור את הבעיה, כדאי לנסות לקצר את טווח הזמן של התרשים. אפשר לקצר את טווח הזמן באמצעות בורר טווח הזמן בסרגל הכלים, או באמצעות הדגשה של טווחי זמן בתרשים עם המצביע.
לתרשימים יש רזולוציה מוגבלת, ויכול להיות שלא כל המדידות יוצגו בטווח זמן מסוים.