الجواب القصير. يُراقَب التطبيق على أربع إشارات، الأخطاء والكمونية والحركة والتشبع، نضيف إليها دائماً سطرين: مسابر خارجية تفعل ما يفعله الزبون كل دقيقة من الجزائر العاصمة ومن باريس، وإشارة عمل، طلبيات مدفوعة في الساعة، يفهمها المسيّر بلا شرح. لكل إشارة عتبة مكتوبة قبل الإطلاق ووجهة: هاتف المناوبة لما يتطلب فعلاً فورياً، قناة الفريق لما ينتظر الصباح، التقرير للباقي. ترن التنبيهات على العَرَض، ما يراه الزبائن، لا على السبب أبداً؛ ويُقرأ السبب في سجلات منظَّمة وأخطاء مجمَّعة. ولكل تنبيه يوقظ مستند تدخل كُتب بهدوء. هدف توفر مكتوب في العقد، 99,5 % في الشهر افتراضياً، وتقرير الاثنين يقول إن تحقق، وما سقط، وكم من الوقت، وأي عتبة تتغير. ستة أسابيع، واحد منها نفتعل فيه الأعطال للتحقق من أن كل شيء يرن.
هذا الدليل موجّه إلى المسيّر الذي يعرف الأعطال من زبائنه، وإلى المؤسس المقيم في فرنسا الذي لن يعرف شيئاً عن الليل الجزائري إن لم يُنبَّه، وإلى المسؤول الذي يجب أن يقارن عقدَي صيانة. لا يعيد كيف نعود بعد العطل، الموصوف في دليل النسخ الاحتياطية، ولا ما يكلّفه التطبيق كل سنة، الموصوف في دليل حياته؛ بل يصف ما يُبنى كي نعرف، ويمدّ صفحتنا عن السحابة والبنية التحتية.
ما تقوله فرق الموثوقية
للمراقبة مفردات، وهي تأتي من الفرق التي تشغّل أكبر الخدمات. يسمّي الكتاب المرجعي لمهندسي الموثوقية في Google «الإشارات الذهبية الأربع للمراقبة: الكمونية والحركة والأخطاء والتشبع»، ويطرح السؤال الذي يجب أن يعرف كل نظام مراقبة طرحه: «ما المعطَّل، ولماذا؟»، فالماذا هو العَرَض واللماذا هو السبب. وما يفرضه ذلك: ننبّه على العَرَض، الدفعات التي تفشل، ونحتفظ بالأسباب، قرص ممتلئ أو بوابة معطَّلة، للسجلات ومستند التدخل؛ فتنبيه على كل سبب ممكن يوقظ عشر مرات لغير شيء.
ويقول الكتاب نفسه ما يجب أن يكونه تنبيه يوقظ: «كلما رن الهاتف يجب أن أستطيع الرد بإحساس بالعجلة»، و«كل تنبيه يجب أن يكون قابلاً للفعل»، و«كل رد على تنبيه يجب أن يتطلب ذكاءً»، أي ألا يكون رد فعل آلياً يستطيع سكريبت القيام به. ويحذّر أيضاً من المتوسطات: «من المغري تصميم نظام على أساس متوسط كمية ما»، بينما الأذيال، المئين 99، هي التي تقول إن الخدمة تتشبع. وما يفرضه ذلك: تُكتب عتبات الكمونية عند المئين 99 لا بالمتوسط؛ وكل تنبيه رن دون أن يطلب فعلاً يُزال في التقرير التالي، لأن هاتفاً يرن لغير شيء ينتهي في الوضع الصامت.
وما لم نجده: قياس علني لتوفر تطبيقات الشركات في الجزائر، ولا لمتوسط الوقت بين العطل ولحظة ملاحظة أحد له. وما نراه في التطبيقات التي نستلمها عطل يُعرف من زبون في معظم الحالات، ومراقبة مختزلة في ping الخادم في كلها تقريباً؛ ونقولها ملاحظةً، وهي سبب السطرين اللذين نضيفهما إلى الإشارات الأربع.
ما يُقاس، وأين يرن
المراقبة تتسع في جدول من ستة أسطر، وهذا الجدول يُكتب في الأسبوع الأول.
الأخطاء: حصة الطلبات الفاشلة، لكل شاشة ووظيفة؛ فوق 2 % على خمس دقائق لوظيفة حرجة، الهاتف؛ فوق 0,5 %، القناة. الكمونية: عند المئين 99، لكل مسار؛ فوق 3 000 م.ث، القناة؛ فوق عشر ثوانٍ، الهاتف، لأن الزبائن يتخلون عند تلك النقطة. الحركة: طلبات وطلبيات في الساعة مقارنةً بالساعة نفسها من الأسبوع الماضي؛ هبوط بالنصف خمس عشرة دقيقة في ساعات العمل يوقظ، لأنه غالباً العلامة الوحيدة لعطل في الأعلى، عند المشغّل أو مزوّد الرسائل. التشبع: قرص، ذاكرة، اتصالات، طابور؛ 80 % القناة، 90 % الهاتف.
المسابر الخارجية: كل دقيقة، من الجزائر العاصمة ومن باريس، طلب كامل يفتح ويسجّل الدخول ويقرأ طلبية؛ فشلان متتاليان من المدينتين يوقظان، ومن واحدة فقط هي الشبكة المحلية وتذهب إلى القناة. العمل: صفر طلبية مدفوعة خلال ساعة عمل يوقظ؛ وهو التنبيه الذي يفهمه المسيّر بلا شرح، والذي كان سيرن في 2:16 في المثال التالي. والعتبات هي ما نكتبه افتراضياً؛ وتُناقش في الأسبوع الأول، وتُعاد قراءتها كل شهر.
«ننبّه على العَرَض، ما يراه الزبائن؛ ونقرأ السبب في السجلات. تنبيه على كل سبب ممكن يوقظ عشر مرات لغير شيء.»
ليلة عطل، تراها المراقبة
المراقبة لا تُفهم على جدول بل على ليلة، دقيقة بدقيقة، على منحنيين.
2:14، تتوقف بوابة الدفع عن الرد: تنتظر طلبات الدفع ثم تفشل؛ تنتقل نسبة الخطأ من 0,3 % إلى 12 %، والكمونية عند المئين 99 من 420 م.ث إلى ثماني ثوانٍ. 2:16، تُتجاوز عتبة 2 % أخطاء على خمس دقائق ويرن هاتف المناوبة؛ يقول التنبيه ماذا، ومنذ متى، وأي مستند يُفتح. 2:19، إقرار بالاستلام؛ يقول مستند التدخل «أخطاء الدفع» أين ننظر: تُظهر السجلات المجمَّعة مهلاً منتهية نحو المزوّد، لا خطأ في كودنا. 2:27، يُطبَّق الحل المنصوص في المستند: يُقترح الدفع عند التسليم بدلاً، بعلم، بلا نشر، وتهبط الأخطاء، لأن الزبائن الذين يطلبون في تلك الساعة لم يعودوا يرون البوابة.
2:41، تعود البوابة؛ وتعود الأخطاء تحت 1 %. 2:45، يُزال العلم، ويُفتح تقرير الحادث لمراجعة الاثنين بلا لوم: سبع وعشرون دقيقة رأى فيها الزبائن طريقة دفع أخرى لا خطأ. بلا مراقبة كانت الليلة نفسها ستُكتشف في التاسعة برسالة WhatsApp، وكانت البوابة ستعود من تلقاء نفسها دون أن يعرف أحد ما حدث ولا لكم زبوناً. والمثال مبني؛ وعتبتا 2 % و3 000 م.ث هما ما نكتبه افتراضياً للدفع، وفق دليل دمجه.
مراقبة تطبيق، في خمس طبقات
خلف هذين المنحنيين خمس طبقات، والطبقة التي تفصل المراقبة عن الزينة.
المسابر الخارجية: طلب كامل كل دقيقة من مدينتين، يفعل ما يفعله الزبون؛ وهي الطبقة الوحيدة التي ترى ما يراه الزبائن بما فيه الشبكة، ومستقلة عن الخادم الذي تراقبه. التطبيق: سجلات منظَّمة بمعرّف لكل طلب، أخطاء مجمَّعة حسب السبب بتواترها، تتبع مسار الطلب؛ هنا نقرأ اللماذا حين تقول المسابر الماذا. البنية التحتية: المعالج والذاكرة والقرص والاتصالات والطابور، والشهادات والنطاق المنتهية؛ أعطال مساء السبت تأتي كلها تقريباً من هنا.
التنبيهات والمناوبة: عتبات مكتوبة لكل إشارة، وجهة حسب الخطورة، شخص مناوب مسمّى وثانٍ احتياطياً، ومستند تدخل لكل تنبيه يوقظ؛ كل تنبيه يوقظ يجب أن يطلب فعلاً وإلا انضم إلى التقرير. التقرير: يوم الاثنين، توفر الشهر مقابل الهدف، الحوادث ومددها، الإجراءات المفتوحة، ضجيج التنبيهات؛ ما يقرؤه المسيّر في دقيقتين، وما يُعاد قراءته كل شهر لخفض العتبات أو رفعها؛ ويُبنى على المبادئ نفسها كما لوحة قيادة المسيّر. رسوم لا ينظر إليها أحد لا توقظ أحداً: التنبيه جملة وعتبة ووجهة ومستند.
شهر من التوفر، مقابل الهدف
الهدف مكتوب في العقد، والشهر يُقرأ في ثلاثين خانة.
الهدف: توفر 99,5 % في الشهر، مقيساً بالمسابر الخارجية، أي ثلاث ساعات وست وثلاثون دقيقة من التوقف المسموح؛ هذا الرقم ميزانية خطأ الشهر، وهو يُنفَق. اليوم 8، سبع وعشرون دقيقة: ليلة البوابة، حُلت بعلم. اليوم 19، ساعة وخمس وعشرون دقيقة: امتلأ قرص القاعدة، ورن تنبيه التشبع عند 90 % وهو شبه ممتلئ أصلاً، وتوقفت القاعدة قبل أن تنتهي المناوبة من تحرير المساحة. الميزانية المستهلكة: ساعة واثنتان وخمسون دقيقة من ثلاث ساعات وست وثلاثين؛ الهدف محقَّق عند 99,74 %.
إجراء التقرير: تنتقل عتبة تشبع القرص من 90 إلى 80 %، كي يصل التنبيه وما زال وقت للفعل؛ وهذا بالضبط نوع السطر الذي يخرج من تقرير ولا يوجد بدونه. ولميزانية الخطأ فضيلة أخرى: حين تكاد تُنفَق في منتصف الشهر، نتوقف عن تسليم الجديد ونصلح، وهذا قرار يستطيع المسيّر اتخاذه بقراءة ثلاثة أسطر. والقيم مثال مبني؛ وهدف 99,5 % هو ما نكتبه افتراضياً لتطبيق تسيير، ويُناقش وفق ما قرره دليل الاستضافة.
حين يرن الهاتف، في ست خطوات
المناوبة ليست شخصاً يعرف كل شيء؛ بل إجراء كُتب في الثانية ظهراً ليُجرى في الثالثة فجراً.
الهاتف يرن، على عَرَض وعتبة مكتوبين؛ يقول التنبيه ماذا ومنذ متى وأي مستند يُفتح. إقرار في خمس دقائق، وإلا يُتصل بالشخص الثاني؛ يُدوَّن الوقت لأن زمن الرد جزء من التقرير. مستند التدخل: صفحة لكل تنبيه يمكن أن يوقظ، أين ننظر، ماذا نتحقق، أي حلول موجودة؛ لا أحد يفكر جيداً في الثالثة فجراً، والمستند كُتب بهدوء. الحل المؤقت لا التصحيح: علم، تحويل، إعادة تشغيل، إعادة إلى الطابور؛ نوقف العَرَض أولاً ونفهم بعده.
قول ما يحدث: شريط في التطبيق ورسالة للمسيّر، سطران، عبر القنوات الموصوفة في دليل الإشعارات. التصحيح والمراجعة: يخرج التصحيح نهاراً بالمسار العادي لـ التسليم، ومراجعة الاثنين بلا لوم بإجراء واحد على الأقل؛ ويقول التقرير ما رن، وفي كم من الوقت رددنا، وما يتغير. وحين يمس العطل البيانات، يتولى دليل النسخ الاحتياطية من الخطوة الرابعة.
«مراقبة لم نرَها ترن قط فرضية، كنسخة احتياطية لم تُستعد قط.»
رأيناه في مكان آخر: فرق الموثوقية، وما ينتقل
مصدر واحد يقول الجوهر. يسمّي كتاب مهندسي الموثوقية في Google الإشارات الأربع، ويفصل العَرَض عن السبب، ويشترط أن يكون كل تنبيه يوقظ عاجلاً وقابلاً للفعل، ويحذّر من المتوسطات لصالح المئينات؛ وما ينتقل هو جدول الأسطر الستة، والعتبات عند المئين 99، وقاعدة أن التنبيه الذي رن لغير شيء يُزال. وما لا ينتقل كما هو، هو المقياس: تطبيق تسيير لا يحتاج فريق ليل، يحتاج شخصاً وثانياً احتياطياً ومستندات مكتوبة.
وما لا يقوله هذا المصدر: أي الوظائف حرجة عندكم، وأي نسبة توفر تقبلون دفع ثمنها؛ الأسبوع الأول من المشروع يجيب، والمسيّر يوقّع.
قواعد مراقبة تنبّه قبل الزبائن
ست قواعد تُكتب في الأسبوع الأول. ست إشارات، الذهبية الأربع مع المسابر الخارجية والعمل. عتبات تُكتب قبل الإطلاق، عند المئين 99 للكمونية. ننبّه على العَرَض، ونقرأ السبب في السجلات. كل تنبيه يوقظ يطلب فعلاً وله مستند تدخل؛ وإلا ذهب إلى التقرير. هدف توفر في العقد، وميزانية خطأ تُنفَق عن علم. تقرير الاثنين، يقرؤه المسيّر، والعتبات تُعاد قراءتها كل شهر.
قاعدة سابعة تخص عرض السعر: «مراقبة 24/7» ليس متطلباً بل جملة؛ المتطلب يُكتب «مسابر خارجية من مدينتين كل دقيقة؛ سجلات منظَّمة بمعرّف طلب، أخطاء مجمَّعة، تتبع؛ عتبات مكتوبة لكل إشارة بوجهة هاتف أو قناة أو تقرير؛ شخص مناوب مسمّى وثانٍ احتياطي، إقرار في خمس دقائق؛ مستند تدخل لكل تنبيه يوقظ؛ هدف توفر شهري وميزانية خطأ؛ عطل مفتعَل قبل الإطلاق؛ تقرير أسبوعي بالتوفر والحوادث والمدد والإجراءات والضجيج»، ويُتحقَّق منه كما يوصي دليل دفتر الشروط. وعرض السعر الذي يكتب «مراقبة مشمولة» دون أن يقول من يُوقَظ وبماذا وفي كم من الوقت كتب ping الخادم.
ستة تطبيقات، والتنبيه الذي أنقذها
ستة تطبيقات نراقبها كثيراً، ولكل منها التنبيه الذي رن قبل الزبائن.
- المتجر المُدار من فرنسا، الموصوف في الدليل المخصص. صفر بيع محصَّل خلال ساعة عمل يوم ثلاثاء: صندوق الجزائر فقد الشبكة؛ عرف المؤسس في ليون قبل المسيّر في الجزائر.
- بيع التذاكر، الموصوف في الدليل المخصص. حركة مساء طرح التذاكر تتضاعف ثلاثاً؛ رن تنبيه تشبع الطابور عند 80 %، ووُسّع الطابور قبل أن تُباع التذاكر مرتين.
- منصة التوصيل، الموصوفة في الدليل المخصص. مزوّد الرسائل القصيرة لا يرد؛ هبوط الرسائل المرسلة أيقظ أحداً، وتولى المزوّد الثاني بالتحويل.
- تطبيق الدفع، الموصوف في الدليل المخصص. ليلة الشكل 2: سبع وعشرون دقيقة، علم واحد، لا زبون مفقود.
- منصة SaaS، الموصوفة في الدليل المخصص. هدف لكل زبون في العقد؛ وتقرير الاثنين يُفصَّل لكل زبون، وزبون واحد بطيء يُرى قبل أن يتصل.
- سلسلة التبريد، الموصوفة في الدليل المخصص. مسابر الحرارة نفسها مراقَبة: مسبار صامت خمس عشرة دقيقة يوقظ أحداً، لأن الصمت ليس خبراً جيداً.
تقويم 2027
التقويم تقويم تطبيق يوضع تحت المراقبة في ستة أسابيع، واحد منها لافتعال الأعطال.
الأسبوع 0 إلى 1 يكتب ما نراقب والهدف: الوظائف الحرجة مسمّاة، هدف التوفر، العتبات لكل إشارة، من في المناوبة ومن احتياطي. الأسبوع 1 إلى 2 يثبّت المسابر الخارجية من الجزائر العاصمة وباريس وفحص صحة كل خدمة. الأسبوع 2 إلى 3 ينظّم السجلات بمعرّف لكل طلب، ويجمّع الأخطاء، ويضيف التتبع، ويكتب مدة الاحتفاظ. الأسبوع 3 إلى 4 يكتب التنبيهات بوجهاتها ومستند تدخل لكل تنبيه يوقظ.
الأسبوع 4 إلى 5 يفتعل الأعطال: نقطع القاعدة، نملأ القرص، نوقف بوابة الدفع، ننهي شهادة في الاختبار؛ كل تنبيه يجب أن يرن، وكل مستند يجب أن ينفع، وما لم يرن يُصحَّح. الأسبوع 5 إلى 6 يثبّت تقرير الاثنين والمراجعة الشهرية للعتبات. مراقبة لم نرَها ترن قط فرضية، كنسخة احتياطية لم تُستعد قط؛ وحين يكون التطبيق بطيئاً لا معطَّلاً يتولى دليل السرعة بالمئينات نفسها.
ما يُفشل مراقبة
المراقبات التي نستلمها فشلت دائماً تقريباً لأحد هذه الأسباب.
- ping الخادم كمسبار وحيد. الخادم يرد، والتطبيق يرفض كل الدفعات.
- رسوم بلا تنبيهات. كل شيء كان مرئياً على شاشة لا ينظر إليها أحد في الثانية فجراً.
- تنبيهات على الأسباب. خمسون تنبيهاً ممكناً، عشر رنات في الليلة، والهاتف صامت بعد أسبوع.
- المتوسط بدل المئين. كان المتوسط جيداً؛ وزبون من عشرين ينتظر عشر ثوانٍ.
- لا مستند تدخل. رن التنبيه، وبحث الشخص ساعة عما يجب النظر فيه.
- شخص مناوب واحد. كان نائماً، أو في إجازة، أو غادر الشركة.
- لم يُفتعَل قط. كان أول عطل حقيقي أول اختبار للتنبيهات أيضاً.
أسئلة شائعة
الأسئلة التي نتلقاها من مسيّرين ومؤسسين ومسؤولي إعلام آلي.
- لماذا نعرف الأعطال من الزبائن بينما الخادم مراقَب؟
- لأن ما يُراقَب غالباً هو الخادم لا التطبيق: يرد على الـ ping، ومع ذلك تفشل الدفعات أو لا يمر تسجيل الدخول. تلزم مسابر تفعل ما يفعله الزبون من الخارج كل دقيقة، وإشارة عمل، طلبيات مدفوعة في الساعة، ترن حين تهبط إلى الصفر في ساعات العمل.
- من يُوقَظ، وبماذا؟
- شخص مناوب مسمّى، وثانٍ احتياطي إن لم يصل الإقرار في خمس دقائق. يوقظه العَرَض الذي يتطلب فعلاً فورياً: أخطاء وظيفة حرجة فوق 2 % على خمس دقائق، مسابر خارجية فاشلة من مدينتين، صفر طلبية مدفوعة خلال ساعة عمل، تشبع عند 90 %. وكل الباقي يذهب إلى قناة الفريق أو التقرير.
- ما مستند التدخل؟
- صفحة لكل تنبيه يمكن أن يوقظ، تُكتب بهدوء: أين ننظر، ماذا نتحقق، أي حلول موجودة، من نُبلغ. لا أحد يفكر جيداً في الثالثة فجراً؛ والمستند يجعل الرد مستقلاً عن ذاكرة الشخص المناوب. ويُعاد قراءته بعد كل حادث ويُصحَّح.
- ماذا يعني توفر 99,5 %؟
- ثلاث ساعات وست وثلاثون دقيقة من التوقف المسموح في الشهر، مقيسة بالمسابر الخارجية. إنها ميزانية خطأ: كل حادث ينفقها، وتقرير الاثنين يقول ما بقي. وحين تكاد تنفد نتوقف عن الجديد ونصلح. والهدف مكتوب في العقد ويُناقش وفق ما يفعله التطبيق: الصندوق والكتالوج ليس لهما التحمل نفسه.
- كيف نمنع الهاتف من الرنين لغير شيء؟
- بالتنبيه على الأعراض لا الأسباب، وكتابة العتبات عند المئين 99 لا بالمتوسط، وإزالة كل تنبيه رن دون أن يطلب فعلاً في التقرير التالي. التنبيه الذي يوقظ يجب أن يكون عاجلاً وقابلاً للفعل؛ وإلا انضم إلى القناة أو التقرير. وضجيج التنبيهات سطر في تقرير الاثنين.
- كم من الوقت لوضع تطبيق تحت المراقبة؟
- ستة أسابيع: واحد لكتابة ما نراقب والهدف، واحد للمسابر والصحة، واحد للسجلات والتتبع، واحد للتنبيهات والمستندات، واحد لافتعال الأعطال والتحقق من أن كل شيء يرن، واحد لتقرير الاثنين. وفي تطبيق قائم يكفي الأسبوعان الأولان غالباً كي لا نعرف الأعطال من الزبائن بعد ذلك.