יחידה 3 / 11

ניתוח יומן וניתוח סיבות שורש: מציאת האות ברעש

רווחים:

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

ניתוח יומן וניתוח סיבות שורש: מציאת האות ברעש עם AI

כאשר מערכת קורסת, המקום הראשון שאתה מסתכל הוא היומנים. יומן הוא זרם טקסט ששומר תיעוד עם חותמת זמן של "מה עשיתי, מה קרה, מה נשבר" של מערכת או אפליקציה. אבל תשתית מודרנית מייצרת מיליוני שורות של בולי עץ בשעה; זה לא ים של מידע, אלא לעתים קרובות אוקיינוס ​​של רעש. ניתוח יומן הוא האומנות של מציאת האות החשוב (שגיאה, חריגה, דפוס) ברעש הזה. תהליך המענה על השאלה "מה היה הגורם האמיתי" לאחר אירוע נקרא ניתוח שורש (RCA – Root Cause Analysis). כאן, AI חזק מאוד בסיכום אלפי שורות בשנייה, חילוץ דפוסים, קביעת קווי זמן ורישום סיבות אפשריות. אבל מילה של זהירות: AI מייצר סיבות אפשריות; אתה זה שמוודא במערכת מי מהם אמיתי ומקבל את ההחלטה.

ביחידה זו תלמדו כיצד לסכם בבטחה יומנים עם AI, כיצד לבסס ציר זמן של אירוע, כיצד להבדיל בין קורלציה (שינוי יחד) לסיבתיות (אחד גורם לשני), וכיצד להפעיל שיטת RCA כגון "5 Whys" עם AI.

מדוע מתאם אינו סיבתיות?

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

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

שלב אחר שלב: ניתוח יומן עם AI

  1. צמצם את ההיקף. תן את חלון האירוע, לא את כל היומן: "האירוע התחיל ב-14:05, קריטי מ-14:00–14:20". ספר ל-AI את משבצת הזמן והשירות הרלוונטיים.
  2. מַסֵכָה. יומנים מכילים IP פנימי, שם מארח, משתמש ואסימון. מסווה אותם (10.x.x.x, host-A, user1, REDACTED) ואז ייצא.
  3. בקש סיכום וקיבוץ. "קבץ יומן זה לפי חומרה, ספור שגיאות חוזרות, מצא את חותמת הזמן של השגיאה הראשונה." בקש את המבנה, לא את היומן הגולמי.
  4. הגדר ציר זמן. "סדרו את האירועים האלה לפי סדר הזמן והראו את מה שאחרי מה." מציאת הדומינו הראשון היא הדרך לשורש הסיבה.
  5. בקשו השערות, לא ראיות. "רשום את גורמי השורש האפשריים לפי סדר הסתברות ותן לי פקודת אימות להפעיל על המערכת עבור כל אחד מהם." בקשו את האבחנה, לא את התוצאה.
  6. בדוק במערכת. בדוק כל השערה עם פקודות אבחון לקריאה בלבד (log grep, שאילתת מצב, מדד). הסר עד שיש רק סיבה אחת מאושרת.

שיטת 5 למה

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

שלושה מיני תיקים

מקרה 1 - 40,000 שורות, 3 דקות. מנהל מערכת החל לסרוק ידנית 40,000 שורות של יומני יישומים במהלך הפסקת לילה. הוא נתן את החלק הרלוונטי בן 20 הדקות של יומן המסכה ל-AI וביקש סיכום וקיבוץ. בינה מלאכותית סימנה את הבאג הראשון של OutOfMemory בשעה 02:14, מיד לאחר הבאגים המוגברים של הזמן הקצוב. המהנדס קיבל את דף הזמן תוך 3 דקות; אישר את האבחנה המקורית בפאנל המטרי שלו.

מקרה 2 - חזרה מהגורם השורש הלא נכון. צוות חשב שההשערה הראשונה של הבינה המלאכותית ("יומנים מילאו את הדיסק") נכונה וניקה את היומנים. אבל האירוע חזר על עצמו למחרת. בסיבוב השני, הם יישמו את "5 למה" במשמעת: הסיבה האמיתית הייתה ששגיאת אפליקציה הייתה כתיבת מאות dump cores בשנייה. ההשערה הראשונה הייתה מתאם; הסיבה האמיתית הייתה אחרת. קבלה ללא אימות סיפקה רק דחייה של יום אחד.

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

ארבע תבניות הניתנות להעתקה

1) סיכום יומן וקיבוץ:

להלן יומן המסכה של [שירות] בין השעות 14:00-14:20. אמור לי: (1) קבץ וספור את השורות לפי חומרתן (ERROR/WARN/INFO), (2) רשום את 5 דפוסי השגיאה החוזרים המובילים, (3) מצא את חותמת הזמן של השגיאה הראשונה. אל תכתוב מחדש את היומן הגולמי, רק תן סיכום מובנה. הוספת שורה מורכבת. יומן: [יומן מסכה]

2) הגדרת ציר זמן:

סידרנו את רשומות האירועים המסוכות הבאות לציר זמן אחד (חותמת זמן + מקור + אירוע). הצג את מה שאחרי מה וסמן את האירוע שנראה כטריגר הראשון. שימו לב שזו השערה ויש לאמת סיבתיות. הקלטות: [הקלטות מסכות]

3) 5 סיבות לשותף RCA:

תפקידך: מנחה RCA. סימפטום: [סימפטום]. תעשה איתי את "5 למה": "למה?" בכל שלב. תשאל, אני אענה עם הראיות שיש לי, אתה שואל את השאלה הבאה. אם הראיות שלי חלשות, הזהיר אותי ותגיד לי אילו נתונים אני צריך לאסוף. אל תצהיר על שורש ללא ראיות.

4) השערה + פקודת אימות:

רשום את הסיבות הבסיסיות האפשריות לתסמין [תסמין] זה לפי סדר ההסתברות. מכל סיבה: (א) במה אתה חושד, (ב) תן לי פקודת אימות לקריאה בלבד להפעלה במערכת שלי (ללא מחיקה/שינוי). הסבר איזו תוצאה מאששת או מפריכה את ההשערה.

הנחיה חלשה / הנחיה חזקה

הנחיה חלשה:

מה רע ביומן הזה? [10,000 שורות של יומן גולמי]

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

הנחיה עוצמתית:

תפקידך: SRE בכיר. אירוע: שירות התשלומים נתן שגיאה של 50% בין השעות 02:10-02:25. להלן יומן המסכה של החלון הזה. תן לי (1) את הסיכום המקובץ לפי חומרה, (2) את חותמת הזמן של השגיאה הראשונה, (3) את הסיבות הבסיסיות האפשריות לפי סדר ההסתברות, ופקודת אימות לקריאה בלבד עבור כל אחת מהן. סמן טענות סיבתיות כהשערות. יומן: [יומן מסכה]

צעד

מטרה

תפקיד של AI

תפקידו של האדם

סיכום/קיבוץ

להפחית רעש

הגדרת אלפי שורות

קבע היקף ומסכה

ציר זמן

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

מיון אירועים

אימות בולים

יצירת השערות

מיון החשודים

רשום את האפשרויות

לסנן לפי הקשר

אימות

למצוא את הסיבה האמיתית

הצע פקודת אבחון

הפעל את הפקודה והגיב לה

החלטה

בוחרים לתקן

להציע אפשרויות

קבל את ההחלטה ואשר

טעויות נפוצות

  • טעות בקורלציה לסיבתיות. קבלת שני מדדים המשתנים יחד כ"אחד גרם לשני" מייצרת תיקון שגוי.
  • הדבקת היומן הגולמי ללא מסיכה. מתן היומן המכיל IP, אסימון ומשתמש לכלי פתוח היא הפרת אבטחה.
  • הכרזת ההשערה הראשונה כגורם השורש. קבלת ההצעה הראשונה של הבינה המלאכותית מבלי לאמת אותה היא הזמנה לחזור על האירוע.
  • ייצוא כל היומן. יומן ענק ללא הקשר מחבר את ה-AI לשורה אקראית; כווץ לחלון האירוע.
  • 5 סיבות ללא הוכחות. אם לא תגבו כל שלב של "למה" בנתונים אמיתיים, תקבלו שרשרת סבירה אך מורכבת.
טיפ: לפני סיום RCA, שאל "אם סיבת השורש הזו אכן תוקנה, האם זה לא יקרה שוב?" תשאל את השאלה. אם התשובה היא "אולי", עדיין לא הגעתם לשורש; תשאל עוד "למה".

לסיכום

ניתוח יומן עוסק במציאת האות באוקיינוס ​​של רעש; AI מסכמת ומבנה את האוקיינוס ​​הזה בשניות, קובעת ציר זמן ומפיקה השערות. אבל מתאם אינו סיבתיות: הסיבה המוצעת על ידי ה-AI היא חשד ראשוני, לא ממצא עד לאישורו. כווץ את היומן לתוך חלון האירוע, מסווה אותו, בקש מבנה, חפור לעומק עם "5 למה" ובדוק כל השערה במערכת עם פקודות לקריאה בלבד. אתה הוא זה שמוצא את הסיבה השורשית ומאשר את התיקון; AI הוא בן לוויה שלך.

משימת יישום

קח את היומנים של אירוע עבר (או אירוע בדיקה), כווץ אותו לתוך חלון האירוע, והסוה את כל האזורים הרגישים. בקש סיכום ותזמון מ-AI עם תבניות "סיכום יומן" ו"ציר זמן" למעלה. לאחר מכן עברו מסימפטום לגורם השורש עם התבנית "5 סיבות RCA partner"; כתבו הוכחות משלכם לכל שלב. לבסוף, בדוק את ההשערה הראשונית של ה-AI עם פקודת אימות ורשום אם היא מאושרת או מופרכת. סכמו את התהליך ב-6 פריטים.

רשימת בדיקה

  • [ ] האם כיווצתי את היומן לתוך חלון האירוע והסתרתי אזורים רגישים?
  • [ ] האם ביקשתי מה-AI סיכום מובנה וציר זמן, לא יומן גולמי?
  • [ ] האם סימנתי את טענות הסיבתיות של AI כהשערות?
  • [ ] האם בדקתי כל השערה במערכת עם פקודת אימות לקריאה בלבד?
  • [ ] האם גיביתי כל שלב של "5 למה" בראיות אמיתיות?
  • [ ] האם שאלתי וקיבלתי את ההחלטה האם הסיבה השורשית אכן תמנע את האירוע?