MODULE 11 - Spring Boot Actuator والمراقبة
مرحبًا بكم في الوحدة 11! 📊
تطبيقك في الإنتاج... لكن كيف تعرف إذا كان يعمل بشكل صحيح؟ هل هو بطيء؟ هل يفتقر إلى الذاكرة؟ Spring Boot Actuator يمنحك العيون لمراقبة تطبيقك.
🎓 أهداف التعلم
في نهاية هذه الوحدة، ستكون قادرًا على:
- ✅ تكوين Spring Boot Actuator
- ✅ استخدام نقاط النهاية للمراقبة
- ✅ إنشاء فحوصات صحية مخصصة
- ✅ جمع وعرض المقاييس
- ✅ دمج Prometheus وGrafana
📚 المتطلبات الأساسية
قبل بدء هذه الوحدة، يجب أن تكون قد:
- ✅ أكملت الوحدات من 1 إلى 10
- ✅ فهمت أساسيات HTTP
- ✅ لديك Docker مثبت (لـ Prometheus/Grafana)
- ✅ تعرف مفاهيم المراقبة الأساسية
🗺️ خطة الوحدة
الجزء النظري (4 فصول)
الفصل 1: مقدمة في Actuator
المدة: 30 دقيقة
المحتوى:
- ما هو Actuator؟
- التثبيت والتكوين
- أمان نقاط النهاية
- الخطوات الأولى
لماذا هو مهم؟ فهم الأداة الأساسية
الفصل 2: نقاط النهاية
المدة: 45 دقيقة
المحتوى:
- /health, /info, /env
- /beans, /mappings, /conditions
- /loggers, /heapdump, /threaddump
- نقاط النهاية المخصصة
لماذا هو مهم؟ تشخيص تطبيقك
الفصل 3: المقاييس مع Micrometer
المدة: 1 ساعة
المحتوى:
- Micrometer والسجلات
- Counter, Gauge, Timer, Summary
- مقاييس JVM, HTTP, Database
- مقاييس مخصصة
- العلامات والأبعاد
لماذا هو مهم؟ قياس الأداء
الفصل 4: الفحوصات الصحية
المدة: 45 دقيقة
المحتوى:
- مؤشرات الصحة الأصلية
- الفحوصات الصحية المخصصة
- مجموعات الصحة
- Liveness vs Readiness (Kubernetes)
لماذا هو مهم؟ اكتشاف المشاكل
الجزء العملي (2 تدريبات)
TP11.1: تكوين Actuator
المدة: 1 ساعة و30 دقيقة
الهدف: تكوين Actuator لتطبيق
ستقوم بـ:
- تفعيل وتأمين نقاط النهاية
- إنشاء فحوصات صحية مخصصة
- إضافة معلومات التطبيق
- اختبار جميع نقاط النهاية
TP11.2: المراقبة مع Prometheus وGrafana
المدة: 1 ساعة و30 دقيقة
الهدف: إعداد مجموعة مراقبة كاملة
ستقوم بـ:
- تكوين Prometheus
- إنشاء لوحات تحكم Grafana
- إضافة مقاييس الأعمال
- تكوين التنبيهات
📊 المدة الإجمالية
| النوع | المدة |
|---|---|
| النظرية | 3 ساعات (4 فصول) |
| العملية | 3 ساعات (2 تدريبات) |
| الإجمالي | 6 ساعات (~2 جلسات) |
🎯 ما الذي ستفهمه
قبل هذه الوحدة
// التطبيق في الإنتاج... 🤞
// "هل يعمل؟"
// "لا أعلم، المستخدمون لا يشتكون..."
// "كم من الذاكرة نستخدم؟"
// "لا فكرة..."
بعد هذه الوحدة
# التحقق من الصحة
curl http://localhost:8080/actuator/health
{
"status": "UP",
"components": {
"db": { "status": "UP" },
"diskSpace": { "status": "UP" },
"redis": { "status": "UP" }
}
}
# رؤية المقاييس
curl http://localhost:8080/actuator/metrics/http.server.requests
{
"name": "http.server.requests",
"measurements": [
{ "statistic": "COUNT", "value": 1523 },
{ "statistic": "TOTAL_TIME", "value": 45.2 }
]
}
لوحة تحكم Grafana:
┌─────────────────────────────────────────────┐
│ 📊 لوحة تحكم التطبيق │
├──────────────┬──────────────┬───────────────┤
│ Requests/sec │ Latency P99 │ Error Rate │
│ 125 │ 45ms │ 0.1% │
├──────────────┴──────────────┴───────────────┤
│ [Graph: Request Rate over Time] │
│ [Graph: JVM Memory Usage] │
│ [Graph: Database Connection Pool] │
└─────────────────────────────────────────────┘
🚀 لماذا هذه الوحدة أساسية
1. الرؤية في الإنتاج
بدون Actuator:
- "التطبيق بطيء" → لماذا؟
- "لا يعمل" → منذ متى؟ ماذا تغير؟
- "لدينا مشكلة ذاكرة" → حقًا؟
مع Actuator:
- مقاييس في الوقت الحقيقي
- تاريخ الأداء
- تنبيهات استباقية
2. DevOps وSRE
Kubernetes Health Probes:
livenessProbe:
httpGet:
path: /actuator/health/liveness
readinessProbe:
httpGet:
path: /actuator/health/readiness
→ إعادة التشغيل التلقائي إذا مات التطبيق
→ قطع الحركة إذا لم يكن التطبيق جاهزًا
3. مهارة مطلوبة
عروض العمل:
✓ "خبرة مع Prometheus/Grafana"
✓ "إعداد المراقبة"
✓ "قابلية مراقبة التطبيقات"
✓ "Spring Boot Actuator"
🗺️ التقدم في التدريب
الوحدة 11 = مراقبة تطبيقك في الإنتاج!
📖 كيفية التعامل مع هذه الوحدة
التقدم الموصى به
- الفصل 1 → تثبيت وتكوين Actuator
- الفصل 2 → استكشاف نقاط النهاية
- TP11.1 → ممارسة التكوين
- الفصل 3-4 → المقاييس والصحة
- TP11.2 → مجموعة كاملة Prometheus/Grafana
✅ التقييم الذاتي
قبل البدء، أجب:
- هل تعرف ما هو Spring Boot Actuator؟ ☐ نعم ☐ لا
- هل تعرف Prometheus؟ ☐ نعم ☐ لا
- هل استخدمت Grafana من قبل؟ ☐ نعم ☐ لا
- هل تعرف ما هو الفحص الصحي؟ ☐ نعم ☐ لا
هذه الوحدة ستجعلك خبيرًا في جميع هذه المواضيع!
🎯 الخطوة التالية
جاهز لجعل تطبيقك قابلًا للمراقبة؟
➡️ ابدأ مع الفصل 1: مقدمة في Actuator