לוגים, מטריקות, אירועים וטרייסים: ארבעה קולות שמספרים סיפור אחד

תוכן עניינים

לוגים, מטריקות, אירועים וטרייסים: ארבעה קולות שמספרים סיפור אחד

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

לוגים. מטריקות. אירועים. טרייסים.

אלה לא שמות שונים לאותו דבר. אלה ארבע דרכים שונות שבהן מערכת “מדברת” - וכל אחת מהן נועדה לענות על שאלה אחרת.

לוגים: מה קרה כאן, בדיוק

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

לוג טוב:

  • עוזר להבין הקשר
  • מספר רצף פנימי
  • מיועד לקריאה אנושית

אבל לוגים אינם תמונת מצב. הם לא נועדו לענות על “האם המערכת בריאה” - אלא על “מה קרה כאן כשכבר משהו השתבש”.

יותר מדי לוגים לא יוצרים בהירות - הם יוצרים רעש.

מטריקות: איך המערכת מרגישה לאורך זמן

מטריקות הן מבט מלמעלה. מספרים מצטברים: Latency, Throughput, Error rate, שימוש בזיכרון.

הן לא מספרות סיפור - הן מציירות צורה.

מטריקה טובה:

  • ניתנת להשוואה בזמן
  • מאפשרת זיהוי מגמות
  • עוזרת לזהות שמשהו משתנה

אבל היא לא תגיד למה.

מטריקות אומרות: “יש בעיה כאן.” לא: “זו הסיבה.”

אירועים: משהו בעל משמעות קרה

אירוע הוא נקודת ציון. לא כל פעולה היא אירוע - אלא רק מה שיש לו משמעות מערכתית.

לדוגמה:

  • מודל הוחלף
  • קונפיגורציה השתנתה
  • רכיב נכנס או יצא משירות

אירועים מחברים בין “לפני” ל”אחרי”. הם מאפשרים לשאול: “מה השתנה - ומתי”.

בלי אירועים, קשה לקשר בין שינוי התנהגות לבין שינוי סיבה.

טרייסים: איך בקשה נעה במערכת

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

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

טרייסים מאפשרים:

  • להבין Latency מצטבר
  • לזהות צווארי בקבוק
  • לראות אינטראקציות נסתרות

בלי טרייסים, המערכת נראית כאוסף חלקים מנותקים.

המשל

דמיינו עיר:

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

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

סיכום

Observability אינה כלי אחד - אלא שפה שלמה.

לוגים, מטריקות, אירועים וטרייסים לא מתחרים זה בזה - הם משלימים זה את זה.

מערכת יציבה לא שואלת: “איזה מהם הכי חשוב?”

אלא: “איזו שאלה אני מנסה לענות עכשיו - ובאיזה כלי אשתמש כדי לענות עליה.”

תגובות