Monitoring - Prometheus, Grafana, Datadog
בינואר 2023, Discord עברה outage של 2.5 שעות שהשפיעה על מאות מיליוני משתמשים. ה-root cause: memory leak בservice שמנהל presence (online/offline status). הבעיה: ה-memory leak הייתה קיימת שבוע לפני הoutage - הmon dashboards הראו עלייה הדרגתית ב-memory usage, אבל אף alert לא ירה. האנשים שראו את ה-graph לא הבינו שזה trend מסוכן.
המסקנה שלהם: לא מספיק למדוד. צריך להבין מה המדידה אומרת, ולהגדיר alerts שיורים על הדברים הנכונים.
ב-2 באוגוסט 2022, Cloudflare דיווחה על outage שנמשך 79 דקות - אחד הגדולים שלהם עד אז. Time to detect: 11 דקות. Time to mitigate: 68 דקות נוספות. ה-root cause היה BGP misconfiguration שגרם לtraffic להיות misrouted. ה-Prometheus metrics הראו ירידה ב-request rate - אבל כי ה-traffic פשוט לא הגיע, לא כי ה-servers נפלו. אין error rate גבוה, אין CPU גבוה, אין disk full. יש רק שקט: פחות traffic מהצפוי.
המסקנה: monitoring שמודד רק internal state של servers עיוור לסוג חדש של כשל - כשהtraffic לא מגיע בכלל. זה דרש SLI ספציפי: "rate of incoming requests per second" - שינוי חד מה-baseline מפעיל alert. לא "errors גבוהים" אלא "traffic נמוך מהרגיל ב-40%." ב-Datadog זה נקרא anomaly detection - learning ה-baseline ו-alerting כשסוטים ממנו סטטיסטית.