خليني أعطيكن مثال بسيط.
تخيلوا إنو عندكن موقع، وفجأة المستخدمين صاروا يفتحوه ويطلعلهن:
“502 Bad Gateway”
أول شي منشوفه هون هو الـ Symptom، يعني العَرَض.
العَرَض ببساطة هو الشي يلي ظاهر قدامنا.
المستخدم ما بيعرف شو صار جوّا السيرفر، هو بس بيعرف إنو الموقع ما عاد يفتح.
منفوت عالسيرفر ومنبلش نفحص.
منشوف مثلًا:
systemctl status php-fpm
ومنلاقي إنو خدمة “PHP-FPM” واقفة.
هون منكون وصلنا للـ Immediate Cause، يعني السبب المباشر.
يعني الموقع عم يعطي “502” لأن “PHP-FPM” مو شغالة.
طيب، خلصت المشكلة؟
لا.
هون بالضبط بيجي السؤال الأهم:
ليش PHP-FPM وقفت أصلًا؟
منروح عالسجلات، ومنشوف مثلًا:
Out of memory: Killed process 1234 (php-fpm)
هون الصورة بتصير أوضح.
النظام صار عنده ضغط على الذاكرة، والـ “OOM Killer” قتل عملية “PHP-FPM”.
وهون منكون وصلنا للـ Root Cause، يعني السبب الجذري.
يعني التسلسل صار:
Symptom:
الموقع عم يعطي “502 Bad Gateway”.
Immediate Cause:
خدمة “PHP-FPM” واقفة.
Root Cause:
صار نفاد بالذاكرة، والـ “OOM Killer” قتل العملية.
هل فيني هلق أعمل:
systemctl restart php-fpm
ويرجع الموقع يشتغل؟
أكيد.
بس هاد اسمه Recovery، يعني رجّعنا الخدمة تشتغل.
مو معناته إنو حلّينا المشكلة من جذورها.
إذا ما عرفنا ليش الذاكرة امتلأت، ممكن بعد ساعة ترجع “PHP-FPM” توقع، ونرجع لنفس النقطة.
ونفس الفكرة بتتكرر بمشاكل كتير.
مثلًا:
ما عاد فينا نفوت عبر “SSH”.
منفحص، منلاقي “sshd” واقفة.
هاد السبب المباشر.
بس ليش وقفت؟
ممكن نلاقي إنو حدا عدّل ملف:
“/etc/ssh/sshd_config”
وحط إعداد غلط.
هون الإعداد الغلط هو الـ Root Cause.
أو مثال تاني:
التطبيق ما عاد يتصل بـ “MySQL”.
منفحص، منلاقي إنو “MySQL” ما عم تقلع.
طيب ليش؟
منلاقي “/var” صار “100%” بسبب تضخم ملفات الـLogs أو مشكلة بـ “Log Rotation”.
هون امتلاء الـFilesystem هو السبب الجذري.
الفكرة يلي بدي أوصلها بسيطة:
وقت يصير عندك Incident، لا تسأل بس:
كيف رجّع الخدمة تشتغل؟
اسأل كمان:
ليش وقفت من الأساس؟
لأنك إذا عالجت الـ Symptom، ممكن بس تخفي المشكلة.
وإذا عالجت الـ Immediate Cause، ممكن ترجع الخدمة.
بس لما توصل للـ Root Cause، هون بتبلش فعلًا تمنع المشكلة من إنها تتكرر.
بالنسبة إلي، هاي من أهم الفروقات بين إنك تنفذ أوامر، وبين إنك تعمل Troubleshooting بشكل هندسي ومنهجي.
حطيت الفكرة بالصورة بشكل مختصر وواضح.
