الموقع يعمل. هذا بالذات ما يجعل العطل صعبا.
سلمى تدير متجر «نخلة» للتمور من الرياض، وخادمها في فرانكفورت لأن لوحة الاستضافة اختارت ذلك عنها. عملاؤها في الدمام والكويت يقولون إن صفحة الدفع تتوقف عند زر الشراء، وعملاؤها في الدار البيضاء لا يذكرون شيئا. ثلاث ملاحظات صحيحة عن ثلاثة أماكن، لا ثلاث روايات عن خادم واحد.
هنا سبعة مواضيع لا موضوع واحد، لأن الأداة لا ترى خارج طبقتها. جهاز قياس متعدد لا يرى سطرا منسيا في ملف hosts، وأمر dig لا يرى مزود طاقة يسقط تحت الحمل. اختيار الأداة قبل استعمالها هو أغلب العمل، وهو مهارة منفصلة عن إتقان أي واحدة منها.
ويصل إلى الصفحات تحت هذا العمود قارئان: من أمامه عطل الآن، ومن يدرس لشهادة. الأول يريد الجواب والثاني يريد النموذج، فيأتي الجواب أولا ويأتي النموذج بعده.
خمس طبقات تقف فوق بعضها، والأمن سؤال يعاد عند كل واحدة
الكمبيوتر هو الأرض: لوحة ومعالج وقرص، والعطل فيه يظهر أحيانا بلا أمر واحد. فوقه أنظمة التشغيل، صاحبة المقبس والعملية والصلاحية. فوقها الشبكات، لأن خادما لا يصل إليه أحد ليس متوقفا ولا يمكن تمييزه عن المتوقف. فوقها إدارة الخوادم: العملية التي ترد، وملف الإعداد الذي قرر كيف ترد. وفي الأعلى الحوسبة السحابية، وهي ليست نوعا جديدا من الأجهزة، بل الأربع تحتها مستأجرة بالساعة وكلمة سر المستخدم الجذر بيد غيرك.
والأمن السيبراني ليس طبقة سادسة. هو السؤال نفسه يعاد عند كل واحدة من الخمس، ويعاد مع احتمال أن يكون الجواب كاذبا. جدار ناري يسمح بالمنفذ 443 لم يسمح بموقع، بل سمح بكل ما وضعه أحدهم خلف ذلك المنفذ، ولوحة الإدارة هناك أيضا. رسم دفاعي يكتفي بذكر ما توقفه الطبقة إعلان، والعمود الذي يقرر حجم الخسارة هو العمود الآخر.
والإلكترونيات هي السابعة، وهي لا تقف على هذه الطبقات بل تخرج منها. لوحة عليها متحكم دقيق بلا نظام تشغيل شيء آخر بأعطال أخرى، تلاحق بجهاز قياس لا بسجل.
وتتبدل الأداة كلما نزلت درجة. في الأعلى هي الفاتورة، تقرأ سطرا سطرا لأن عطل السحابة عادة شيء تركه أحدهم يعمل. وفي الوسط نص يطبع. وعند الأرض لا يطبع شيء أي شيء، وتصير الأداة قطعة بديلة معروفة السلامة.
سطر الأوامر قبل السحابة، والجهاز قبل الشهادة
أغلى ترتيب هو البدء من الأعلى. من يفتح حسابا سحابيا قبل أن يقرأ ip route على جهاز لينكس واحد لا يتعلم السحابة، بل لوحة تحكم شركة بعينها، واللوحة هي الجزء الذي يتغير. جدول التوجيه في شبكة افتراضية خاصة جدول توجيه، ومجموعة الأمان قاعدة جدار ناري بزر مختلف الاسم، وكلاهما يعني ما يعنيه على جهاز واحد لا يكلف فيه الخطأ شيئا.
والترتيب الخاطئ الثاني هو الشهادة قبل الجهاز. CCNA وSecurity+ شهادتان حقيقيتان، وسوق التوظيف في الخليج يقرأهما بالاسم، وهذا سبب كاف لأخذهما. لكن من درس إحداهما بلا جهاز مسموح له بإفساده يخرج بالمصطلحات بلا ردود الفعل. المصطلح ينجح في الامتحان. رد الفعل هو ما يقول، أمام شكوى مثل شكوى سلمى، إن الخطوة التالية قياس لا إعادة تشغيل.
واللوح الذي يقفزه الناس هو سطر الأوامر، ظنا أنه يؤخذ لاحقا. لا يؤخذ لاحقا. كل موضوع فوقه يعيد جوابه نصا، ومن لا يرشح النص يقرأ كل جواب من ثقب.
الترتيب
ثلاث محطات ثابتة، ثم تفرع هو اختيار حقيقي
المحطة الثانية هي التي تؤجل، وهي التي ترخص الثلاث الباقية.
- الكمبيوترجهاز تملكه ويسمح لك بإعادة تثبيتهالمحطة الوحيدة التي لا يكلف فيها الخطأ شيئا01
- 02أنظمة التشغيلسطر الأوامركل محطة بعده ترد نصا، والنص وحده هو ما يمكن ترشيحه
- الشبكاتعطل واحد حقيقي، مقيسا من الأرض إلى الأعلىالتعريف يصمد حتى تجتمع ثلاث طبقات على الطاولة03
- 04التفرعالخوادم والسحابة، أو الإلكترونيات، أو الأمناختيار لا ترتيب، والمحطات الثلاث قبله واحدة في كل الاتجاهات
لا تواريخ على هذا الطريق. والشهادة ليست محطة عليه: CCNA وSecurity+ تقرآن بعد المحطة الثالثة، وقراءة سوق الخليج لهما لا تغير موضعهما.
الشبكات: حيث تكف ثلاث حقائق عن كونها ثلاثا
العناوين وDNS وHTTP تؤخذ ثلاث حقائق منفصلة، وكل واحدة واضحة وحدها. ويبدأ التعثر أول مرة تجتمع الثلاث ولا يكون الخادم متوقفا ولا الشبكة مقطوعة. شكوى سلمى ليست «لا يفتح» بل «بطيء»، ولا يرد تعريف DNS على البطء بشيء، لأن السؤال لم يعد ما هو DNS، بل كم كلف كل جزء من الانتظار ومن أين قيس.
وما يعبر بالمرء هو ترتيب ثابت للقياس، يمشي من الأرض إلى الأعلى، حيث يبرئ كل جواب الطبقات التي تحته ولا يقول شيئا عن الطبقات التي فوقه. على خادم «نخلة» جرى الترتيب هكذا: uptime، ثم df -h، ثم dig +short nakhla.example، ثم curl -o /dev/null -s -w '%{time_connect} %{time_starttransfer} %{time_total}\n' https://nakhla.example/، ثم ss -tlnp، ثم القياس نفسه من جهاز في منطقة أخرى. وما يحول الستة من قائمة إلى طريقة أن يكتب المرء، قبل الضغط على زر الإدخال، ما الذي يستبعده كل جواب ممكن. أمر لا تغير نتيجته الخطوة التالية أمر يشغل للطمأنينة.
الأربعة الأولى ردت نظيفة. uptime أعطى متوسط حمل تحت الواحد على معالجين، وdf -h أعطى عمود Use% بعيدا عن الامتلاء، وdig +short nakhla.example أعطى العنوان نفسه الذي تعطيه خوادم الأسماء لبقية العالم، وss -tlnp أظهر nginx منصتا تحت المستخدم المقصود. أما الخامس فأعطى الرقم الذي يفسر الشكوى كلها: الرقم الأول وحده، curl -w '%{time_connect}'، هو زمن رحلة ذهاب وإياب واحدة، ولم ينزل تحت 43 ميلي ثانية.
لا عطل هنا. الخادم سليم عند كل طبقة قيست، والكلفة مسافة. وصفحة الدفع ليست طلبا واحدا بل ستة طلبات ينتظر كل منها الذي قبله، والمصافحة الأولى وحدها ثلاث رحلات، فيصير رقم المسافة ربع ثانية قبل أن يعمل الخادم شيئا. تشخيص أعطال الشبكة هو الموضع الذي يتحول فيه هذا من حكاية إلى ترتيب يشتغل به.
الفاتورة التي لا يذكرها شرح إنجليزي: المنطقة والبطاقة
الضوء في الليف البصري يقطع نحو 200 ألف كيلومتر في الثانية، أي ثلثي سرعته في الفراغ. رحلة ذهاب وإياب على ألف كيلومتر لا تنزل تحت 10 ميلي ثانية مهما كان الخادم. هذه حسبة لا قياس، وهي حد أدنى لا يكسره مزود. الرياض تبعد عن فرانكفورت 4309 كيلومترات بخط مستقيم، فحدها الأدنى 43 ميلي ثانية.
وهنا يظهر معنى الشكوى التي لم تصل. الدار البيضاء تبعد عن فرانكفورت 2269 كيلومترا، أي أقرب إلى الخادم الألماني من الرياض نفسها. عملاء المغرب لم يشتكوا لأنهم أقرب، لا لأن أجهزتهم أفضل. العالم العربي ليس سوقا واحدة، وهذا صحيح بالميلي ثانية كما هو صحيح بالبطاقة. ويتبع ذلك قرار لا تواجهه الصفحة الإنجليزية: توجد مناطق سحابية داخل هذا السوق.
me-south-1البحرين، أقدم مناطق أمازون هنا، فتحت في 2019، وتبعد عن الرياض 427 كيلومترا، أي حد أدنى قدره 4 ميلي ثانية.me-central-1الإمارات، فتحت في 2022، وتحمل شرط بقاء البيانات داخل الدولة.me-central1الدوحة، من جوجل، بلا شرطة قبل الرقم.me-central2الدمام، من جوجل أيضا، وأقرب منطقة إلى الرياض.
وعند مايكروسوفت منطقة UAE North في دبي. وقواعد بقاء البيانات في الخليج تجعل «أي منطقة» قرارا يسأل عنه المدقق، لا نصيحة عامة. اختلاف الشرطة بين me-central-1 عند أمازون وme-central1 عند جوجل ليس تفصيلا: هو سطر إعداد يرفض. والكلفة هي الموضع الذي تنحرف فيه الفاتورة بعد أن يستقر الاختيار.
والحاجز الثاني يسبق هذا كله ولا يذكره درس. التسجيل في حساب سحابي يطلب بطاقة دولية، وبطاقة مدى وحدها لا تكمل التسجيل ما لم تكن مزدوجة العلامة. الرفض يقع عند التسجيل لا عند الدفع، ولا رسالة تقول السبب، فيقرأ المبتدئ الرفض على أنه خطأ منه. في مصر والشام والمغرب العربي المواقع تفتح والدفع هو القيد، وحدود العملة الأجنبية في مصر جعلت الاشتراك الشهري صعبا في فترات منذ 2022، فيكتب المسار المجاني هناك أولا وبوصفه الأصل لا البديل. وفي سوريا والسودان واليمن وليبيا ترفض خدمات كثيرة البلد عند التسجيل نفسه، وهذه واقعة عن الوصول لا رأي فيها.
ترتيب القياس
ستة أوامر على خادم «نخلة»، من الأرض إلى الأعلى
كل جواب يبرئ الطبقات التي تحته، والسادس هو الوحيد الذي لا يمكن تشغيله من مكان صاحب الخادم.
- الكمبيوترuptimeمتوسط الحمل على ثلاث نوافذ. رقم فوق عدد الأنوية يعني أن الجهاز خرج من المعالجة، وما فوقه لا يستحق القياس.
- أنظمة التشغيلdf -hقسم ممتلئ يجعل كل طبقة فوقه تتصرف كأنها عطل شبكة، والسطر المهم نادرا ما يكون المتوقع.
- الشبكاتdig +short nakhla.exampleالعنوان الذي تعطيه خوادم الأسماء لبقية العالم، لا الذي يعطيه هذا الجهاز لنفسه.
- الشبكاتcurl -w '%{time_connect}'رحلة ذهاب وإياب واحدة بالميلي ثانية. هذا رقم المسافة، ولا يملك الخادم تقصيره.
- إدارة الخوادمss -tlnpما ينصت، والعملية خلفه، والمستخدم الذي يشغله. ثلاثة أجوبة في سطر واحد.
- الحوسبة السحابيةالقياس نفسه من منطقة أخرىالخمسة قبله قيست من مدينة واحدة، فهي أجوبة عن تلك المدينة وحدها.
لا يقول متى. عطل يظهر ساعة واحدة في اليوم ينجو من الستة كلها، ويحتاج شيئا يسجل بينما لا ينظر أحد.
ما تفتحه في 2026
iproute2 تعطي ip وss، وقد حلت محل net-tools التي كانت تعطي ifconfig وnetstat. موجودة على كل لينكس حديث ولا شيء يشترى. والخطأ الشائع كتابة ifconfig بالعادة على دبيان أو فيدورا حديثة، ثم قراءة «command not found» على أن الجهاز معطوب، والأمر لم يعد موجودا.
curl هو مقياس هذه الصفحة. الخيار -w يطبع أزمنة بدل انطباع: %{time_connect} رحلة ذهاب وإياب واحدة، أي المسافة؛ و%{time_starttransfer} لحظة وصول أول بايت، والفرق بينهما هو تفكير الخادم؛ و%{time_total} الكل. وهو يحل محل قراءة تبويب الشبكة في أدوات المطور، وتلك تقيس جهاز القارئ وشبكته لا الخادم.
dig حل محل nslookup في كل نصيحة تستحق الاتباع، ويأتي في حزمة bind9-dnsutils على دبيان وbind-utils على فيدورا، بلا مقابل. والخطأ الذي يكلف ساعات أن dig يسأل خادم أسماء، وبرمجية على الجهاز نفسه قد تحصل على جواب آخر من ملف محلي.
mtr يجمع traceroute وping في تقرير واحد، وmtr -rwc 100 يرسل مئة عينة ويطبع النتيجة. وهو يحل محل تشغيل traceroute مرة واحدة، وهو الأداة الصحيحة حين يكون العطل متقطعا: قفزة تفقد الحزم في العينة الخمسين لا تظهر في مرور واحد. مجاني على لينكس وماك.
journalctl يقرأ سجل systemd، وقد حل محل تتبع /var/log/messages وترشيحه. مجاني ومثبت أصلا، وjournalctl -u nginx --since يضيق السجل إلى خدمة واحدة ومدة واحدة. وهنا فخ لا يذكره شرح إنجليزي: إن كانت لغة النظام عربية خرجت رسالة الخطأ بالعربية، ولن يجد لها القارئ نتيجة واحدة، لأن هذه السلسلة من الحروف لم ينتجها جهاز أحد آخر. LC_ALL=C قبل الأمر يعيد الرسالة إلى الإنجليزية لهذه المرة وحدها، وتصير قابلة للبحث.
أمازون ومايكروسوفت وجوجل هي الثلاثة التي تسمى بالاسم، وهي مجتمعة حلت محل خادم مستعمل في خزانة والنقاش حول من يملكه. الثلاثة تنشر طبقة مجانية وتحاسب بالساعة خارجها. وضبط تنبيه الميزانية يسبق إنشاء أول مورد ولا يتبع أول فاتورة، وهذه هي النصيحة الوحيدة هنا التي تكلف مالا إن أهملت.
العلامة
أربعة أسئلة، واثنان منها حسما قبل أن يسألهما أحد
اثنان يحسمهما سطر واحد من المخرجات. والثالث حسمته عادة أبقاها أحدهم، والرابع حسمه المكان الذي وقف فيه من قاس.
- ما الذي ينصت، وتحت أي مستخدمالمنفذ، والعملية خلفه، والحساب الذي يملكها
- كم بقي على القرصشاشة واحدة، والسطر المهم نادرا ما يكون المتوقع
- هل ترجع النسخة الاحتياطيةلا شيء على الجهاز يعرف. لا بد أن يكون أحدهم جربها عمدا وقريبا.
- من أين قيس آخر رقمرقم مأخوذ من مدينة الخادم يقول شيئا عن مدينة الخادم وحدها
احذف عمودا، وتصير مستخدما للجهاز لا مسؤولا عنه
لا يقول أي الأعمدة واقف على جهاز بعينه. والاكتشاف المعتاد أن جوابا واحدا على الأقل ليس نعم ولا لا، و«لم ينظر أحد» واقعة أخرى غير «لا»، ويتبعها عمل آخر.
العلامة: أن تعرف ما لا يبرئه الجواب
في الشهر الأول ينتج العطل قائمة بأشياء تجرب. في الشهر الثالث ينتج ترتيبا ومعه تنبؤات. والفحص عشر دقائق ولا يحتاج جهازا: الأوامر الأربعة df -h وss -tlnp وdig +short وuptime، وقول ما يطبعه كل واحد وكيف يبدو جوابه السيئ، بلا بحث. هذا النصف الأول ويجتازه أغلب من درس شهرا.
والنصف الثاني هو الذي يفرز: تسمية الطبقة التي ينتمي إليها كل أمر، ثم تسمية الطبقات التي لا يبرئها جوابه. من يكمل الأول ولا يكمل الثاني يعرف أوامر ولا يعرف ترتيبا. وأربعة أسئلة أخرى تقيس الجهاز لا صاحبه: اثنان يحسمهما سطر واحد، والثالث حسمته عادة أبقاها أحدهم أو لم يبقها، والرابع حسمه المكان الذي وقف فيه من قاس.
المدخل الأرخص جهاز مسموح بإفساده
أرخص مدخل جهاز تملكه ويسمح لك بإعادة تثبيته. لابتوب قديم وخادم افتراضي مستأجر يعلمان نصفين مختلفين من هذه الصفحة، والمستأجر وحده يكشف ما يحدث حين يكون الجهاز في مدينة لا يمكن الذهاب إليها.
والأمن السيبراني مكتوب آخر هذه القائمة ولا يقرأ آخرها، لأنه مصنوع من الستة الباقية. وشهادات الأمن هي الباب الذي يقرأه سوق التوظيف في الخليج بالاسم، وموضعها بعد الجهاز لا قبله. والإلكترونيات هي الفرع الخارج عن الطبقات، والموضوع الوحيد هنا الذي ينهي فيه أحدهم مشروعا على طاولة مطبخ.
ومن خارج هذا العمود، نشر المشاريع هو هذه المهارات نفسها في يد من يكتب البرمجية، والمسار المهني يقرأ قبل أي شهادة لأن الشهادة تجيب سؤال السوق لا سؤال الجهاز، والعمل الحر يستحق الانعطافة لسبب مباشر: التحصيل عبر الحدود هو الحاجز نفسه الذي أوقف التسجيل السحابي، منظورا إليه من الجهة الأخرى.
والسؤال الباقي هو من أين يقاس الرقم التالي. جهاز واحد في مدينة واحدة يعطي رقما عن تلك المدينة، وقياس الصفحة نفسها من ثلاث مدن يعطي القرار: أي منطقة، وهل يستحق نقل الخادم كلفته أصلا. منصات السحابة هو الموضع الذي يحسم فيه ذلك.