M365Con 2027 – כנס אונליין חינמי · 11–22 Jan 2027 · 120 sessions→ m365con.net

בלוג · Mirko Peters

שליטה בארבעת העמודים של ניטור Microsoft Fabric

By ·

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

Automatically translated with AI from the original post. Read the English original

▶ BLOGMastering the 4 Pillarsof Microsoft Fabric…M365.FM
Titelbild: Mastering the 4 Pillars of Microsoft Fabric Monitoring

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

נודה על האמת: פלטפורמות נתונים מודרניות הן מורכבות. כשמנהלים צינורות שנמשכים על פני דומיינים רבים, שואבים נתונים מ-API מגוונים ונוחתים באגמי נתונים לפני שמזינים מודלים סמנטיים קריטיים למשימה, הניטור עלול להרגיש במהרה כמו חיפוש מחט בערימת שחת. אבל זה לא חייב להיות כך. באמצעות מסגרת מובנית אפשר לבנות צינורות ניטור שיאמרו לנו לא רק שמשהו נשבר, אלא גם למה זה נשבר, מה הושפע ואיך המערכת כבר מתקנת את עצמה. מומלץ להאזין גם לפרק הפודקאסט המלווה, Monitor Microsoft Fabric Data Pipelines.

ארבעת העמודים (חשיבה מערכתית, לא ריבוי כלים)

כדי לשלוט באסטרטגיית ה-observability שלכם, עליכם לעגן את הגישה בארבעה עמודי יסוד. חשבו עליהם כמשולש הברזל – ועוד אחד – של הנדסת אמינות נתונים מודרנית.

מדדי ביצוע (SLI ← SLO ← התראות)

  • מעקב: משך הצינור, משך הפעילות, זמן המתנה בתור, שורות/בייטים שעובדו, שיעור הצלחה, שיעור ניסיונות חוזרים, מקביליות וניצול משאבי מחשוב.
  • תכנון: קבעו קו בסיס לכל מדד לכל צינור ולכל פעילות. הגדירו התראות על סטייה מהנורמה באמצעות z-scores או סחיפת אחוזונים, במקום להסתמך על מגבלות סטטיות ושרירותיות.
  • תוצאות: אזהרות מוקדמות על היווצרות צברי עבודה, מחיצות לא מאוזנות והקצאות מחשוב קטנות מדי, לפני שהן הופכות להשבתות מלאות.

רישום שגיאות (מאורות אדומים ועד שורש הבעיה)

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

מעקב שושלת נתונים (מודעות לרדיוס הפגיעה)

  • תחזוקה: שושלת מקצה לקצה הפועלת בצורה חלקה ממקור דרך שכבות bronze, silver ו-gold, עד למודלים סמנטיים ולבסוף לדוחות המשתמשים הסופיים.
  • ניתוח: השתמשו בשושלת כדי לענות מיידית על שאלות, כגון זיהוי מערכי הנתונים, הדוחות או צרכני ה-SLA במורד הזרם שיושפעו אם טבלה X מתעכבת או פגומה.

שחזור אוטומטי (ספרי הפעלה לתיקון עצמי)

  • אוטומציה: יישמו תבניות נפוצות כמו backoff אקספוננציאלי וניסיונות חוזרים, דילוג והפרדה של קבצים פגומים, בדיקות תאימות סכמה, הרצות חוזרות חלקיות לפי watermark, חישוב מחדש אוטומטי של טבלאות gold שהושפעו, השהיית רענוני מורד זרם והרצות חוזרות ממוקדות.
  • סטנדרטיזציה: לכל דפוס שגיאה חוזר צריך להיות runbook ומתכון אוטומציה מתאימים, גם אם הגרסה הראשונה היא חצי-אוטומטית.

ארכיטקטורת ייחוס (Fabric בעדיפות ראשונה, אגנוסטית לכלים)

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

  • איסוף: קלטו טלמטריה ממרכז הניטור (היסטוריית הרצות של צינורות ופעילויות), מהיסטוריית רענון של מערכי נתונים ומודלים, ומיומני אירועים. שמרו את הטלמטריה המובנית ישירות בטבלה מרכזית, כגון סכמת observability במסד Lakehouse.
  • העשרה: תייגו צינורות ומערכי נתונים במאפייני metadata כמו system, tier, RTO, RPO, owner ודגלי business_critical.
  • ניתוח: בנו מודל סמנטי לבריאות המערכת הכולל קווי בסיס מתגלגלים בספי P50 ו-P95 לכל צינור, לכל פעילות ולכל שעה ביום.
  • התראה: ניתוב חכם של ההודעות ל-Teams, לדוא"ל או לכלי ITSM, עם סינון לפי תפקיד, כך שמהנדסים יקבלו אבחונים גולמיים ואילו אנליסטים עסקיים יראו את רעננות הנתונים והשפעתם על ה-SLA.
  • פעולה: הפעלת תהליכי התאוששות אוטומטיים באמצעות מזהי קורלציה, ורישום של כל פעולה ניהולית או אוטומטית שבוצעה.
  • סקירה: ביצוע סקירות תפעוליות שבועיות שמנתחות את האירועים המובילים, מגמות MTTD ו-MTTR והתראות רועשות, כדי לחדד או לבטל כללים באופן מתמיד.

SLI-ים ו-SLO-ים שאפשר להעתיק

אל תנחשו מהו מצב תקין. העתיקו את מדדי רמת השירות (SLI) ואת יעדי רמת השירות (SLO) האלה ישירות לאמנת התפעול שלכם:

  • SLI של רעננות: now() פחות last_success_time. (SLO: פחות מ-60 דקות לפידים יומיים; פחות מ-10 דקות לנתונים בזרימה רציפה).
  • SLI של הצלחה: אחוז ההרצות המוצלחות בחלון של 24 שעות. (SLO: גדול או שווה ל-99%).
  • SLI של השהיה: activity_duration_p95 בהשוואה לקו הבסיס שלכם. (SLO: בטווח של ±25% מהחציון של 14 הימים האחרונים).
  • SLI של איכות: אחוז השורות שעוברות בדיקות תקינות כמו אילוצי null, בדיקות טווח ושלמות רפרנציאלית. (SLO: גדול או שווה ל-99.5%).
  • SLI של עלות ויעילות: מחושב כ-bytes_processed חלקי output_bytes, לצד מספר ניסיונות חוזרים ל-100 הרצות.

דפוסי התראה שמפחיתים רעש

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

  • ספי דינמיים: הפעילו התראות רק כאשר מדד סוטה ביותר משלוש סטיות תקן, או חוצה את האחוזון ה-95 של הנורמה ההיסטורית שלו ליום בשבוע ולשעה המסוימים.
  • התראות משורשרות: כאשר פיד מקור מתעכב, השתיקו אוטומטית את התראות הנתונים המיושנים בדאטהסטים שתלויים בו, והעלו אירוע יחיד ומגובש של שורש הבעיה, הכולל רשימת ליניאז'.
  • דה-דופליקציה: איחוד מופעים חוזרים של אותו קוד שגיאה ואותו דפוס הרצה בחלון צר של 15 עד 30 דקות.
  • מעקות בטיחות: שליחת דפים רק לאחר מספר קבוע של אנומליות רצופות, ואילו האירוע הראשון יפורסם בשקט בערוץ תפעולי עם רעש נמוך.

Runbooks ואוטומציות (מתכונים לריפוי עצמי)

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

  1. הגבלת קצב ושגיאות 429: בנו שגרות נסיגה אוטומטיות שמתארכות מ-2 שניות עד 8 שניות ונחסמות בתקרה של 60 שניות, עם מקסימום של 7 ניסיונות חוזרים. פזרו את לוחות הזמנים, הפחיתו מקביליות ועברו ל-APIs של עיבוד בכמות במקומות שבהם הם נתמכים.
  2. סחיפת סכמה: הוסיפו בדיקת סכמה מקדימה. אם מזוהות עמודות בלתי צפויות, העבירו אוטומטית את המטען לאזור הסגר, הודיעו לבעל הנתונים, מפו אוטומטית תוספות בטוחות וחסמו לחלוטין שינויים הרסניים.
  3. רשומות פגומות: אכפו ולידציה ברמת השורה. כתבו כשלים ישירות לטבלה quarantine.bad_rows הכוללת מזהי קובץ והרצה, אפשרו לטעינה הראשית להמשיך אם הסף מאפשר זאת, ופתחו קריאה רק אם שיעור השגיאות חורג מהסבילות המקובלת.
  4. הרצה חלקית מחדש: מנפו סימני מים מבוססי חותמות זמן של שינוי. בכשל, הריצו מחדש רק את חלון הזמן שהושפע, ועקבו אחר אידמפוטנטיות באמצעות מפתחות עסקיים טבעיים.
  5. הגנה על הרכיבים שבהמשך: אם טבלת silver סומנה כחשודה, השהו אוטומטית את רענוני שכבת ה-gold, סמנו את מודל הסמנטיקה כמתדרדר כדי להציג באנרים למשתמשים, והמשיכו אוטומטית לאחר שהבקפיל יעבור את כל בדיקות התקינות.

ניתוח השפעה מבוסס ליניאז'

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

דשבורדים שאנשים באמת משתמשים בהם

דשבורדים של נתונים לא צריכים להיות עיר רפאים. כדי לשמור על דשבורדי הניטור רלוונטיים וניתנים לפעולה, פצלו אותם לפי קהל יעד:

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

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

תיוג ובעלות (הדבק שמחזיק הכול)

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

שערי איכות נתונים (קלילים אך יעילים)

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

    • בדיקות ערכי Null ומחרוזות ריקות בשדות עסקיים מרכזיים.
    • אימות תחום, הכולל בדיקת ערכי enum תקפים, טווחים מספריים וביטויים רגולריים למזהים.
    • בדיקות שלמות הפניות, המוודאות שמפתחות זרים קיימים בין אזורי ה-bronze וה-silver.
    • ניתוח סחיפת נפח, הבודק האם מספר השורות או גודל הבייטים יוצאים מחלון של פלוס-מינוס 30% מחציון העבר האחרון.

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

קצב ותחזוקה שוטפת

ניטור אינו פרויקט של "הגדר ושכח". שמרו על בריאות תפעולית באמצעות קצב סקירה קפדני:

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

מלכודות נפוצות (ותיקונים)

הימנעו ממלכודות הקלאסיות האלה כאשר אתם מתכננים את מסגרת הניטור שלכם ב-Microsoft Fabric:

    • הכול הוא P1: הגדירו הגדרות רמה מחמירות, שמרו התראות החייאה (paging) אך ורק לתקלות P1 אמיתיות, והשתיקו אוטומטית התראות משניות הקשורות לשורש בעיה ידוע.
    • ספי סטטיים: התרחקו מגבולות קשיחים אמצו קווי בסיס דינמיים המותאמים לשעה ביום ולעונתיות שבועית.
    • התראות יתומות: לעולם אל תאפשרו להתראה להיפתח בלי קישור ישיר לספר הפעלה מתועד ולקבוצת בעלים אחראית.
    • רק לאחר האירוע: עקבו באופן פעיל אחר מדדי MTTD ו-MTTR וחייבו תיקון טכני מונע לכל בעיה חוזרת.
    • אין שושלת נתונים: תנו עדיפות לבניית שושלת נתונים ברורה על פני איסוף מדדי ביצועים שטחיים; ניתוח השפעה אינו אפשרי בלעדיה.

התחלה מהירה ב-10 שלבים (2–3 ימים)

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

    1. בצעו מלאי של הצינורות ומערכי הנתונים הקיימים, ותייגו אותם מיד במטא-נתונים של בעלים, SLA ורמה.
    2. הגדירו SLI ו-SLO לכל רמה, תוך שימוש בנתונים היסטוריים מ-14 עד 30 הימים האחרונים כקו בסיס.
    3. רכזו את הטלמטריה שלכם בתוך סכמת הניטור (observability) של מאגר הלייקהאוס הראשי שלכם.
    4. בנו את מודל הבריאות שלכם והטמיעו שלוש לוחות מחוונים מרכזיים לצוותי התפעול, האנליסטים וההנהלה.
    5. הגדירו התראות דינמיות מבוססות סטייה עם ניתוב הודעות לפי תפקיד.
    6. הטמיעו לפחות שני ספרי הפעלה אוטומטיים להתאוששות, תוך התמקדות בהתחלה בהגבלת קצב (throttling) וסחיפת סכמה.
    7. הוסיפו בדיקות בסיסיות של איכות נתונים הכוללות ערכי Null, תחומי ערכים וסחיפת נפח.
    8. מלאו שושלת נתונים מקצה לקצה עבור 20 הצינורות הקריטיים ביותר שלכם, ובדקו את שאילתות ניתוח ההשפעה שלכם.
    9. הקימו את תורנות הכוננות הראשונית שלכם, פרסמו את תבנית התקריות והתחילו למדוד MTTD ו-MTTR.
    10. הריצו תרגיל כשל מדומה (game-day) ותקנו את החלק האיטי ביותר בתהליך התגובה של הצוות שלכם.

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

כאשר מתרחשת תקרית, תקננו את התקשורת שלכם באמצעות הפורמט התמציתי הבא:

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

שאלות נפוצות

איך מתחילים אם יש לי היום רק רישום של הצלחה/כישלון?
התחילו בהגדרת בעלות ו-SLA, ריכוז מדדי ההרצה שלכם ב-lakehouse, ויישום התראות המבוססות על סטייה לגבי משך הזמן והעדכניות, במיוחד עבור 10 צינורות הנתונים הקריטיים ביותר שלכם.

האם ספי דינמיים לוקחים נצח לכוונון?

מה לגבי עומסי עבודה של סטרימינג וזמן אמת?
בנתוני סטרימינג, עקבו אחרי הזמן מקצה לקצה (end-to-end latency), פיגור האירועים ועומק הצבר (backlog) של הצרכנים. התריעו תמיד על קצב גידול הפיגור, ולא רק על ערכים מוחלטים.

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

כדי לשמוע עוד על תרחישים מהעולם האמיתי, טיפים והסברים מעמיקים על הארכיטקטורה לשמירה על צינורות הנתונים שלכם בריאים, הקפידו להאזין לפרק הפודקאסט המלווה, Monitor Microsoft Fabric Data Pipelines. עד הפעם הבאה, שמרו על זרימת הנתונים שלכם ועל הצינורות שלכם מתקנים את עצמם!

Entities in this article

Microsoft Fabric Semantic model Dashboards Data quality Observability Data lineage Telemetry Referential integrity Schema drift Throttling

Related articles

RSS