✅ স্বাভাবিক: V1003 সুস্থভাবে চলছে। CPU ব্যবহার 4.81% — স্বাভাবিক। পরবর্তী ৫ মিনিটে 6.73% থাকবে। RAM ব্যবহার 13.94% — স্থিতিশীল। পরবর্তী ৫ মিনিটে 14.13% থাকবে। সুপারিশ: কোনো পদক্ষেপ প্রয়োজন নেই। সিস্টেম স্বাভাবিক।
LSTM Autoencoder প্রথমে শুধু "স্বাভাবিক" সার্ভার behavior (CPU < 75th percentile) দিয়ে train হয়। এরপর যখন "অস্বাভাবিক" ডেটা আসে, model সেটা ঠিকমতো reconstruct করতে পারে না — ফলে Reconstruction Error (AE Error) বেড়ে যায়। এই error যদি threshold (95th percentile) ছাড়িয়ে যায়, সিস্টেম anomaly alert দেয়।
XGBoost মডেল ২৫টি engineered feature ব্যবহার করে পরবর্তী ৫ মিনিটের CPU/RAM predict করে। এর মধ্যে আছে: Kalman-filtered signal, rolling mean/max/std (৩০ ও ৬০ মিনিট), lag values (৫-৬০ মিনিট আগের), load-per-core ratio, এবং time features (hour, day of week)। Naive persistence baseline-এর চেয়ে ~১৮% কম RMSE অর্জন করেছে।
| সময় | Pred CPU | Actual CPU | Error | Pred RAM | Actual RAM | Error |
|---|---|---|---|---|---|---|
| 08:40:00 | 8.02% | 4.23% | 3.79% | 13.78% | 14.15% | 0.37% |
| 08:45:00 | 5.95% | 4.29% | 1.65% | 14.16% | 14.45% | 0.29% |
| 08:50:00 | 5.92% | 3.79% | 2.13% | 14.44% | 15.11% | 0.67% |
| 08:55:00 | 4.86% | 4.07% | 0.79% | 14.99% | 14.39% | 0.6% |
| 09:00:00 | 5.54% | 4.24% | 1.31% | 14.34% | 15.03% | 0.69% |
| 09:05:00 | 5.63% | 3.83% | 1.79% | 14.95% | 14.96% | 0.01% |
| 09:10:00 | 4.82% | 4.76% | 0.07% | 15.03% | 15.18% | 0.15% |
| 09:15:00 | 6.14% | 4.07% | 2.07% | 15.21% | 14.94% | 0.27% |
| 09:20:00 | 5.24% | 3.65% | 1.58% | 15.06% | 15.46% | 0.4% |
| 09:25:00 | 4.79% | 3.98% | 0.8% | 15.53% | 15.93% | 0.4% |
| 09:30:00 | 4.85% | 3.6% | 1.25% | 15.93% | 15.94% | 0.01% |
| 09:35:00 | 4.69% | 3.87% | 0.81% | 15.98% | 14.54% | 1.44% |
| 09:40:00 | 5.32% | 3.53% | 1.79% | 14.84% | 13.18% | 1.66% |
| 09:45:00 | 7.28% | 3.95% | 3.33% | 13.74% | 14.02% | 0.28% |
| 09:50:00 | 5.39% | 6.55% | 1.15% | 14.26% | 14.11% | 0.15% |
| 09:55:00 | 7.35% | 8.13% | 0.78% | 14.25% | 14.66% | 0.41% |
| 10:00:00 | 8.82% | 10.85% | 2.03% | 14.69% | 15.01% | 0.32% |
| 10:05:00 | 10.35% | 7.86% | 2.48% | 15.0% | 14.93% | 0.07% |
| 10:10:00 | 7.84% | 5.96% | 1.88% | 15.0% | 14.9% | 0.1% |
| 10:15:00 | 7.02% | 4.81% | 2.21% | 15.02% | 13.94% | 1.08% |
AE Error = LSTM Autoencoder-এর reconstruction loss (MSE)। Score 0.0 → Normal, Score 1.0 → Maximum Anomaly। Score > threshold_95 হলে anomaly alert। প্রতিটি ইভেন্ট database-এ log হয় এবং Telegram-এ notify করে।
| সময় | CPU | RAM | AE Error | Threshold | Action |
|---|---|---|---|---|---|
| 2026-08-11 17:20 | 5.27% | 14.94% | 0.010920 | 0.009241 | SCALE_UP_SOON |
| 2026-08-04 20:40 | 14.8% | 24.55% | 0.009277 | 0.009241 | SCALE_UP_NOW |
| 2026-08-01 17:48 | 3.46% | 23.24% | 0.026953 | 0.009241 | SCALE_UP_SOON |
| 2026-08-01 17:23 | 7.4% | 22.2% | 0.019189 | 0.009241 | SCALE_UP_NOW |
| 2026-07-21 13:10 | 8.98% | 23.21% | 0.009584 | 0.009241 | SCALE_UP_NOW |
| 2026-07-21 13:05 | 11.78% | 23.36% | 0.011514 | 0.009241 | SCALE_UP_NOW |
| 2026-07-21 13:00 | 19.33% | 26.51% | 0.013715 | 0.009241 | SCALE_UP_NOW |
| 2026-07-21 12:55 | 4.34% | 22.7% | 0.014281 | 0.009241 | SCALE_UP_SOON |
| 2026-07-21 12:50 | 5.88% | 22.58% | 0.012637 | 0.009241 | SCALE_UP_SOON |
| 2026-07-21 12:30 | 6.14% | 23.48% | 0.010185 | 0.009241 | SCALE_UP_NOW |
| 2026-07-21 12:25 | 5.94% | 23.66% | 0.009582 | 0.009241 | SCALE_UP_SOON |
| 2026-07-21 12:11 | 17.73% | 22.98% | 0.009254 | 0.009241 | SCALE_UP_NOW |
| 2026-07-21 12:05 | 27.55% | 25.65% | 0.025715 | 0.009241 | SCALE_UP_NOW |
| 2026-07-21 03:13 | 2.79% | 22.0% | 0.007878 | 0.003080 | SCALE_UP_SOON |
| 2026-07-21 03:03 | 3.38% | 19.02% | 0.007944 | 0.003080 | SCALE_UP_SOON |
| 2026-07-21 02:46 | 4.67% | 19.64% | 0.007408 | 0.003080 | SCALE_UP_SOON |
| 2026-07-21 02:44 | 5.36% | 21.03% | 0.007386 | 0.003080 | SCALE_UP_SOON |
| 2026-07-21 02:32 | 3.33% | 20.78% | 0.007559 | 0.003080 | SCALE_UP_SOON |
| 2026-07-21 02:25 | 3.76% | 21.12% | 0.007863 | 0.003080 | SCALE_UP_SOON |
| 2026-07-21 02:24 | 5.4% | 21.51% | 0.008133 | 0.003080 | SCALE_UP_NOW |
প্রতি ৩ ঘণ্টায় নতুন ডেটা দিয়ে XGBoost model retrain হয়। Drift detection: নতুন ডেটার গড় যদি পুরনোর চেয়ে ১০%+ আলাদা হয় তখনই retrain trigger হয়। Deploy-if-better policy: নতুন model-এর RMSE পুরনোর চেয়ে কম হলেই deploy, নাহলে পুরনোটাই থাকে। এতে model সবসময় সার্ভারের পরিবর্তনশীল workload pattern-এর সাথে adapt করে।