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

מספר בלי סוג הוא רק שמועה

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

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

עקוב אחר חיבור אחד, לא אחר המכונה

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

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

אמור איזה מעבר אתה מדווח

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

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

השאר את הצופה בחיים

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

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

מסור את ההתראה למקום שבו נמצא המשתמש

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

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

מאמרים קשורים