كل الوحدات لماذا المراقبة فحوص الصحّة السجلّات والمقاييس التنبيهات English

المراقبة وقابلية الرصد

اجعل التطبيق يخبرك متى يكون سليمًا — ويصرخ حين لا يكون.

الوحدة 11 · فحوص الصحّة، والسجلّات، والمقاييس، والتنبيهات.

متقدّم قابلية الرصد يتضمّن مختبرًا ~50 دقيقة

ماذا ستتعلّم

  • لماذا «نُشِر» ليست «يعمل» — وكيف تسدّ قابلية الرصد تلك الفجوة
  • إضافة نقطة فحص صحّة كي تراقب أدوات التشغيل التطبيق
  • إصدار سجلّاتٍ منظَّمة يمكنك البحث فيها فعلًا
  • كشف مقاييس وتصويرها (Prometheus + Grafana)
  • ضبط تنبيهٍ كي تجدك المشكلة، لا العكس
  • مختبر عملي: جهّز الخزنة بصحّةٍ وسجلّاتٍ ومقياس

المتطلبات المسبقة: الوحدة 10 (خزنةٌ منشورة). تعمّق: مختبر DevOps: المراقبة والسجلّات.

نُشِر ≠ يعمل

تطبيقك حيّ — لكن هل هو يعمل الآن؟ يقدّم أخطاءً؟ بطيء؟ نفدت ذاكرته؟ بلا قابلية رصد، تكتشف حين يشتكي مستخدم. ذاك آخر مواطن الفشل الستة، بمقياس الإنتاج: كسرٌ صامتٌ لا يراه أحد.

الركيزةتُجيب عن
السجلّاتماذا حدث؟ (سجلٌّ قابل للبحث للأحداث)
المقاييسكم / بأيّ سرعة؟ (أرقامٌ عبر الزمن: طلبات، أخطاء، زمن استجابة)
فحوص الصحّةهل هو يعمل الآن؟ (نقطة نعم/لا بسيطة)
التنبيهاتهل ينبغي أن يهتمّ إنسانٌ الآن؟ (إشعاراتٌ تلقائية)

فحوص الصحّة

أبسط رصدٍ وأعلاه قيمة: نقطة /health تعيد OK حين يستطيع التطبيق تقديم الطلبات. تنبضها مراقبات التشغيل والمنسّقات باستمرار — فإن توقّفت عن الردّ، عرفوا فورًا.

GET /health → 200 { "status": "ok", "uptime": 3812 }

تنبيه تشغيلٍ مجاني

وجّه خدمة تشغيلٍ مجانية إلى /health وستصلك رسالة/رسالة نصّية خلال دقيقةٍ من سقوط تطبيقك — قبل أن يلاحظ معظم مستخدميك.

السجلّات والمقاييس

سجلّاتٌ منظَّمة

سجّل كبياناتٍ منظَّمة (JSON)، لا نصوصًا عشوائية، كي تبحث وترشّح. ضمّن الطلب والحالة والمدّة — ولا تسجّل أسرارًا أو بياناتٍ شخصيةً كاملة.

{ "level":"info", "method":"POST", "path":"/snippets", "status":201, "ms":14 }

مقاييس بـPrometheus + Grafana

اكشف نقطة /metrics من عدّاداتٍ وأزمنة؛ Prometheus يكشطها، وGrafana يرسمها. معدّل الطلبات ومعدّل الأخطاء وزمن الاستجابة (مقاييس «RED») تخبرك بصحّة التطبيق بنظرة.

مختبر DevOps فيه الحزمة الكاملة

وحدة المراقبة في مختبر DevOps تشحن إعداد Prometheus + Grafana عاملًا ولوحة JSON. أعِد استخدامها ضدّ الخزنة بدل توصيل المراقبة من الصفر.

التنبيهات: دع المشكلات تجدك

اللوحات تنفع فقط إن نظر إليها أحد. التنبيهات تقلب ذلك: عرّف قاعدةً («معدّل الأخطاء > 5% لخمس دقائق»، «/health ساقط») واحصل على إشعارٍ تلقائيّ. التنبيهات الجيّدة قليلةٌ وذات معنًى وقابلةٌ للفعل — إرهاق التنبيهات حقيقيّ.

نبّه على الأعراض، لا الضجيج

نادِ إنسانًا لـ«المستخدمون لا يستطيعون إنشاء مقتطفات»، لا «المعالج بلغ 70% لثانية». كل تنبيهٍ ينبغي أن يعني «شخصٌ يجب أن يتصرّف». والباقي مكانه لوحة.

مختبر عملي: جهّز الخزنة

ستضيف فحص صحّة، وتسجيل طلباتٍ منظَّمًا، ومقياسًا واحدًا على الأقل — ثم تشاهد تطبيقك يبلّغ عن نفسه.

ما تحتاجه

خزنة snippet-vault المنشورة من الوحدة 10.

1

افرَع وأضِف /health

git checkout -b feature/observability

أضِف نقطة GET /health تعيد الحالة ومدّة التشغيل. أضِف اختبارًا لها. راجع، أودِع.

2

أضِف تسجيل طلباتٍ منظَّمًا

Add JSON request logging (method, path, status, duration) to the API. Never log request bodies, secrets, or personal data. Keep it lightweight.

راجع التغيير — أكّد ألّا شيء حسّاس يُسجَّل.

3

اكشف مقياسًا

أضِف نقطة /metrics (صيغة Prometheus) بعدّاد طلباتٍ على الأقل. وإن أردت الصورة الكاملة، اربط Prometheus + Grafana من مختبر DevOps ضدّها.

4

شاهدها تبلّغ

اضرب التطبيق بضع مرّات، ثم افحص /health وسجلّاتك و/metrics. وجّه مراقب تشغيلٍ مجانيًّا إلى /health لتنبيهٍ حقيقيّ.

5

ادمج وتأمّل

git add . git commit -m "Add health check, structured logs, and metrics" git checkout main && git merge feature/observability

في REFLECTION.md: ما أوّل شيءٍ تريد تنبيهًا عليه، ولماذا؟ أودِع.

ما الذي تسلّمه

مستودع snippet-vault. تحقّق من نفسك:

  • /health يعيد الحالة؛ وله اختبار
  • الطلبات تُسجَّل كبياناتٍ منظَّمة، بلا أسرار
  • نقطة /metrics تكشف مقياسًا واحدًا على الأقل
  • REFLECTION.md يسمّي أوّل تنبيهٍ لك

مسرد مصغّر

المصطلحالمعنى المبسّط
قابلية الرصدالقدرة على فهم ما يفعله تطبيقك العامل من الخارج.
فحص الصحّةنقطةٌ تقول إن كان التطبيق يعمل.
السجلّ المنظَّممدخل سجلٍّ كبياناتٍ (JSON) تبحث وترشّح فيها.
المقياسرقمٌ يُتتبَّع عبر الزمن (طلبات، أخطاء، زمن استجابة).
التنبيهإشعارٌ تلقائيٌّ عند خرق قاعدة.

الخلاصة وما التالي

صار لديك الآن

تطبيقٌ منشورٌ يبلّغ عن صحّته، ويسجّل ما يفعل، ويكشف مقاييس، ويستطيع تنبيهك حين يخطئ شيء. تلك حلقة DevOps الكاملة — وآخر مواطن الفشل الستة، مُغلَقًا.

التالي: الوحدة 12 — المشروع الختامي: من الفكرة إلى الإطلاق. ستأخذ فكرةً جديدةً تمامًا عبر هذه الدورة الحياتية كلّها بنفسك — قطعة المعرض التي تُثبت أنك تبرمج بالإحساس وتشحن كالمحترف.

المراقبة وقابلية الرصد

الأهداف لماذا المراقبة فحوص الصحّة السجلّات والمقاييس التنبيهات المختبر العملي المسرد الخلاصة