Playbook קצר להתראות
זרימה
התקבלה התראה → רשמו
alert_receivedעםrequest_idאם יש.קשרו לוגים לפי
request_id/trace_id.פעלו לפי ה-
remediationשל ה-error_code.בדקו השפעה בדשבורד (P95 / error rate). הסלימו אם אין שיפור.
דיאגרמת מערכת התראות חכמות
התרשים הבא מציג את הזרימה המלאה של מערכת ההתראות - מזיהוי האירוע ועד לשליחת ההתראה:
graph TD
subgraph "Detection Layer"
M1[Error Rate Monitor]
M2[Latency Monitor]
M3[Rate Limit Monitor]
M4[System Health Monitor]
end
subgraph "Analysis Layer"
M1 --> AE[Alert Engine]
M2 --> AE
M3 --> AE
M4 --> AE
AE --> TA{Threshold Analysis}
end
subgraph "Decision Layer"
TA -->|Critical| C[Create Alert]
TA -->|Warning| W[Create Warning]
TA -->|Normal| N[No Action]
C --> ES[Enrich with Suggestions]
W --> ES
ES --> GL[Add Grafana Links]
GL --> RP[Add Runbook]
end
subgraph "Delivery Layer"
RP --> TN[Telegram Notification]
RP --> DB[(Store Alert)]
RP --> WH[Webhook]
TN --> U[User]
end
הסבר השכבות:
Detection Layer: זיהוי אירועים - מעקב אחר שגיאות, latency, rate limits ובריאות המערכת
Analysis Layer: ניתוח הסף - האם האירוע חורג מהערכים המוגדרים
Decision Layer: קבלת החלטות - יצירת התראה/אזהרה, העשרה בהמלצות וקישורים
Delivery Layer: משלוח - Telegram, אחסון ב-DB, Webhook
קישורים בקוד
נקודת קצה:
POST /alertsב-services/webserver.py.מעביר התראות:
alert_forwarder.py.
דגשים
לא לכלול PII בלוגים.
לשמור על
eventקנוני ו-msg_heקצר.
כיוונון רעש
ALERT_TELEGRAM_MIN_SEVERITY– מגדיר מאיזה דרגת חומרה (anomaly/info/warn/error/critical) בכלל נשלחות הודעות לטלגרם. הערך חל גם במסלול הגיבוי שלinternal_alertsכך שאם תציבוwarnתקבלו רק אירועים משמעותיים גם כשה-forwarder אינו זמין.ALERT_ANOMALY_BATCH_WINDOW_SECONDS– חלון מתגלגל (ברירת מחדל 180 שניות) שמאפשר לקבץ כמה התראותanomalyדומות להודעת טלגרם אחת עם טקסט בסגנון"N מופעים ב-X דקות". העלאת הערך מפחיתה רעש בזמני עומס ידועים.ALERT_AVG_RESPONSE_TIME– רף ה-EWMA שמוגדר ב-metrics.pyלהתראתanomaly_detected. ברירת המחדל עודכנה ל-3.0שניות (קודם2.0) כדי לא להפנות תשומת לב על תנודות קלות. הציבו0כדי לנטרל או ערך גבוה/נמוך יותר לפי SLA.ANOMALY_IGNORE_ENDPOINTS– רשימת נתיבי URL (CSV/JSON list) שמוחרגים מעדכון ה-EWMA ומדגימתslow_endpoints(כדי למנוע false positives מנתיבים “כבדים” כמו דשבורד Observability). חשוב: המטריקות הרגילות (http_requests_total/http_request_duration_seconds) עדיין נרשמות לגרפים, אבל ההחרגה לא פותרת חסימת main-thread/Starvation אם קיימת.ALERT_AVG_RESPONSE_TIME_DEPLOY– רף חלופי (ברירת מחדל10.0שניות) שנכנס לפעולה בזמן חלון החסד אחרי Deploy. מאפשר להתעלם מפיקים לגיטימיים בלי להעלות את הרף הגלובלי.DEPLOY_GRACE_PERIOD_SECONDS– אורך חלון החסד אחרי Deploy (ברירת מחדל120שניות). בתוך החלון הזה האלגוריתם ישתמש ב-ALERT_AVG_RESPONSE_TIME_DEPLOYבמקום הרף הרגיל.
טיפים מהירים
בקבוצות עם ספייקים ידועים, העלו את
ALERT_ANOMALY_BATCH_WINDOW_SECONDSל-600–900 שניות ושמרו עלALERT_TELEGRAM_MIN_SEVERITY=warn.אם רוצים שהמדידה תמשיך להופיע בלוגים/Slack אבל לא בטלגרם, הוסיפו
ALERT_TELEGRAM_MIN_SEVERITY=errorמבלי לשנות את דשבורדי Grafana.