הגדרת AIOps לתכנון קיבולת (חיזוי משאבים)
לאחר השקת פרויקט עונתי, אתה מבחין שהצמתים באשכול מגיעים למגבלות זיכרון והאוטוסקיילר לא מהיר מספיק כדי להתמודד עם העומס — משתמשים מקבלים שגיאות 503. נתקלנו בזה בפרויקטים עם 500+ צמתים: נטישת משתמשים, פגיעה במוניטין. זו הבעיה של קנה מידה תגובתי. אנחנו פותרים אותה עם AIOps: אנו בונים תחזיות המבוססות על מדדים היסטוריים מ-Prometheus ולמידת מכונה. במקום הגישה הגסה של "הוסף 20%", אנו משתמשים במודל Prophet של Meta — הוא חוזה את צרכי המשאבים 30 יום קדימה בדיוק של ±15%. תכנון נכון חוסך עד 30% מתקציב התשתית, ומדדים עסקיים (מכירות, מספר משתמשים) משפרים את הדיוק בעוד 20–40%. לקוח טיפוסי עם 50 צמתים חוסך $5000 בחודש על משאבי ענן.
אילו מדדים אנו חוזים ומאיפה מגיעים הנתונים
המשאבים שאנו מתכננים תחילה:
- מעבד וזיכרון בצמתי האשכול (ניצול צמתים ב-Kubernetes)
- שטח דיסק (במיוחד עבור מסדי נתונים ולוגים)
- רוחב פס רשת
- IOPS אחסון (קריטי עבור PostgreSQL, Elasticsearch)
- מספר הפודים ומגבלות האשכול
| מדד | מקור נתונים | שיטת איסוף |
|---|---|---|
| מעבד, זיכרון צומת | node_exporter, kube-state-metrics | Prometheus |
| IOPS אחסון | PostgreSQL, Elasticsearch exporter | Prometheus |
| רוחב פס רשת | cAdvisor, node_exporter | Prometheus |
| מספר פודים | kube-state-metrics | Prometheus |
| מדדי ענן | CloudWatch, Azure Monitor | ייצוא ענן |
כיצד AIOps בונה תחזיות: Prometheus + Prophet
ארכיטקטורה טיפוסית להתקנה עצמית:
Prometheus (Thanos/VictoriaMetrics для long-term storage)
↓
remote_read API
↓
Python forecasting service (Prophet / statsmodels)
↓
Прогнозы записываются как метрики → Prometheus pushgateway
↓
Grafana dashboard с forecast overlayסקריפט לדוגמה שקורא את ניצול המעבד של הצומת ובונה תחזית ל-30 יום:
from prophet import Prophet
import pandas as pd
from prometheus_api_client import PrometheusConnect
prom = PrometheusConnect(url="http://prometheus:9090")
data = prom.get_metric_range_data(
metric_name='avg by (node) (1 - rate(node_cpu_seconds_total{mode="idle"}[5m]))',
start_time=datetime.now() - timedelta(days=60),
end_time=datetime.now(),
chunk_size=timedelta(hours=1)
)
df = pd.DataFrame({"ds": timestamps, "y": values})
model = Prophet(seasonality_mode="multiplicative", weekly_seasonality=True)
model.fit(df)
future = model.make_future_dataframe(periods=30, freq="D")
forecast = model.predict(future)
# forecast[["ds", "yhat", "yhat_lower", "yhat_upper"]]
Prometheus (Thanos/VictoriaMetrics для long-term storage) ↓ remote_read API Python forecasting service (Prophet / statsmodels) ↓ Прогнозы записываются как метрики → Prometheus pushgateway ↓ Grafana dashboard с forecast overlay (הגבול העליון של רווח הסמך) הוא התרחיש ה"פסימי", שממנו אנו ממליצים לתכנן רכישת משאבים.
למה מדדים עסקיים חשובים?
מדדים טכניים לבדם לא מסבירים מתי צפויות עליות עומס. אם תוסיף נתונים עסקיים — מספר משתמשים פעילים, היקף הזמנות, לוח שיווק (תאריכי מכירות, שיאים עונתיים) — התחזית תהיה מדויקת יותר. אנו יוצרים from prophet import Prophet import pandas as pd from prometheus_api_client import PrometheusConnect prom = PrometheusConnect(url="http://prometheus:9090") data = prom.get_metric_range_data( metric_name='avg by (node) (1 - rate(node_cpu_seconds_total{mode="idle"}[5m]))', start_time=datetime.now() - timedelta(days=60), end_time=datetime.now(), chunk_size=timedelta(hours=1) ) df = pd.DataFrame({"ds": timestamps, "y": values}) model = Prophet(seasonality_mode="multiplicative", weekly_seasonality=True) model.fit(df) future = model.make_future_dataframe(periods=30, freq="D") forecast = model.predict(future) # forecast[["ds", "yhat", "yhat_lower", "yhat_upper"]] ב-Prophet עבור כל אירוע עסקי:
model.add_regressor('is_black_friday') model.add_regressor('monthly_active_users') אנו לוקחים נתוני MAU ממסד הנתונים האנליטי, אירועים מלוח השנה העסקי. המודל עצמו קובע עד כמה כל גורם משפיע על צריכת המשאבים.
אילו טעויות להימנע מהן במהלך היישום?
טעות טיפוסית היא שימוש בנתונים של שבוע בלבד לצורך חיזוי. זה לא מספיק כדי לזהות עונתיות. אנו ממליצים על לפחות 4–8 שבועות, אידיאלית 3–6 חודשים. הטעות השנייה היא התעלמות מרגרסורים עסקיים. בלעדיהם, המודל לא יחזות שיאים מקמפיינים שיווקיים. השלישית היא הסתמכות רק על ממוצע התחזית (yhat). השתמש תמיד בגבול העליון (yhat_upper) להזמנת משאבים כדי למנוע מחסור.
טעויות טיפוסיות ופתרונות
| טעות טיפוסית | הפתרון שלנו |
|---|---|
| היסטוריית נתונים קצרה (<חודש) | שימוש באחסון לטווח ארוך (Thanos, Mimir) ל-6+ חודשים. |
| התעלמות מאירועים עסקיים | הוספת רגרסורים לתאריכי קמפיין ו-MAU. |
| הסתמכות על ממוצע תחזית | תכנון באמצעות yhat_upper (רווח סמך של 95%). |
Kubernetes: מתחזית לקנה מידה אוטומטי
תכנון קיבולת לא חייב להסתיים ברכישה ידנית של שרתים. ב-Kubernetes, ניתן לחבר תחזיות לKEDA (Kubernetes Event-Driven Autoscaling) דרך ה-scaler של yhat_upper — פודים יגדלו באופן פרואקטיבי, לפני שהעומס מגיע.
עבור מאגרי צמתים באשכולות מנוהלים (EKS, GKE, AKS), אנו מגדירים את Cluster Autoscaler או Karpenter עם חיץ המחושב מהתחזית. Karpenter נוח יותר: הוא מזמין צמתים מהסוג והגודל הנדרשים לעומס החזוי.
מה כוללת העבודה שלנו
- ביקורת מדדים ו-SLOs נוכחיים, הערכת עומק היסטוריית הנתונים (מינימום 4–8 שבועות, אידיאלית 3–6 חודשים)
- הקמת אחסון לטווח ארוך אם חסר (Thanos, VictoriaMetrics, Grafana Mimir)
- פיתוח צינור חיזוי באמצעות Prophet, אופציונלית עם מדדים עסקיים
- אינטגרציה עם KEDA ו-Cluster Autoscaler / Karpenter
- הגדרת לוחות מחוונים ב-Grafana עם שכבת תחזית והתראות ("הצומת ייגמר מהזיכרון בעוד 14 יום")
- הכשרת הצוות שלך לשימוש בלוחות מחוונים ופירוש תחזיות
- חודש תמיכה לאחר סיום הפרויקט
דוגמה לחיסכון: עבור לקוח עם עומס שיא ב-Black Friday, הגדרנו תחזית המבוססת על 12 חודשי מדדים. תוצאה: הפחתת עלויות של 25% על ידי ביטול הזמנת יתר (בעבר נשמר +40% כחיץ). תחזית Prophet הראתה שחיץ של 15% עם רגרסורים עסקיים מספיק.
תהליך העבודה הסופי
- אנליטיקה: ביקורת מדדים, SLOs, לוח שנה עסקי
- עיצוב: בחירת ארכיטקטורה (Thanos לעומת Mimir, Prophet לעומת statsmodels)
- יישום: פריסת צינור, הגדרת לוח מחוונים, אינטגרציה עם K8s
- בדיקות: בדיקת A/B של תחזית על נתונים היסטוריים, אימות עם מדדים בזמן אמת
- פריסה: חיבור לייצור, הגדרת התראות
לוחות זמנים ועלות
תחזית בסיסית על התשתית הקיימת — משבועיים. אינטגרציה מלאה עם מדדים עסקיים וקנה מידה אוטומטי — עד 6 שבועות. העלות מחושבת באופן אישי, תלויה בנפח הנתונים ובמורכבות האינטגרציה. הזמינו ביקורת תשתית היום — צרו קשר כדי לדון בפרטים. קבלו ייעוץ והערכה מדויקת לפרויקט שלכם.
הניסיון שלנו: 7+ שנים ב-DevOps, 50+ פרויקטי קנה מידה של תשתית, מומחים מוסמכים ב-AWS ו-Kubernetes. אנו מבטיחים דיוק תחזית בטווח של 15% מהצריכה בפועל.







