The Imperative of Observability and Monitoring in Modern Distributed Systems

وقد حدث تحول أساسي في هيكل البرمجيات في العقد الماضي، حيث إن التطبيقات الاحتكارية، بمجرد المعيار، تفسح المجال بصورة متزايدة لنظم موزعة تتألف من عشرات أو مئات أو حتى آلاف الخدمات الدقيقة، والوظائف التي لا تخدم الخدمة، والخدمات التي تدار، وهذا التطور يجلب فوائد غير قابلة للانكار: التوسع المستقل، والوزع السريع، والتنوع التكنولوجي، غير أنه يستحدث أيضاً مستوى من التعقيد يمكن أن يجعل من الموثوقية، وضبط الأداء.

وتستكشف هذه المادة الأدوار المتميزة والمتكاملة التي تقوم بها القابلية للملاحظة والرصد في البيئات الموزعة، وسندرس أنواع البيانات الأساسية التي تتيح الفهم العميق، ونناقش التحديات الفريدة التي تواجهها النظم الحديثة، ونعرض أفضل الممارسات العملية التي يمكن أن تعتمدها الأفرقة الهندسية لبناء خدمات أكثر مرونة وأداء، وسواء كنت تعمل مجموعة صغيرة من الحاويات أو مجموعة من المسودات المتعددة، فإن المبادئ الواردة هنا ستساعدك على الانتقال من عمليات مكافحة الحرائق الاستباقية.

الرصد ضد المرصد: أكثر من السيمانتيك

وفي حين أن مصطلحي " الرصد " و " القابلية للملاحظة " كثيرا ما يستخدمان بصورة متبادلة، فإنهما يمثلان مفاهيم مختلفة - وإن كانت مكملة - فهما للتمييز أمر أساسي لوضع استراتيجية تشغيلية فعالة.

ما هو الرصد؟

فالرصد هو ممارسة جمع المقاييس والسجلات المحددة سلفا، والتصور، والإنذار بها، ويجيب على السؤال التالي: " هل يعمل نظامي كما هو متوقع؟ " الرصد يستند عادة إلى أساليب الفشل المعروفة، فعلى سبيل المثال، قد تضعون لوحة بيانات تبين استخدام وحدة مكافحة التلوث والاختلال، وتطلبون الرطوبة، ومعدلات الخطأ عبر دوائركم الصغرى، إلى جانب الإنذارات التي تطلق عندما تخترق العتبات.

ما هو الملاحظه؟

ويُستشف من نظرية المراقبة القدرة على تقصي الحالة الداخلية لنظام من نواتجه الخارجية، ويعني ذلك في البرامجيات أنَّه بتوثيق خدماتكم باستخدام بيانات ثرية لقياس التلفزة - السجلات المُنظمة، والمقاييس التفصيلية، وتركيب آثار - يمكن أن تستكشف النظام لفهم أي سلوك، حتى تلك التي لم تتوقعها، ويمكِّن المرصد الأفرقة من طرح أسئلة مفتوحة العضوية مثل: " لماذا لم تُنشر " .

ويتطلب الصلاحية الفعلية أن تجمعوا بيانات عالية التردد ذات سياق كاف، وأن تخزنوها بطريقة تسمح بالاستفسار السريع، وتوفروا أدوات تمكن الأفرقة من البحث في مشاكل محددة، والرصد هو مجموعة فرعية من القابلية للملاحظة، ولا يمكنكم ملاحظة ما لا ترصدونه، ولكنكم تستطيعون رصده دون تحقيق قابلية حقيقية للرصد، والهدف هو بناء نظم يمكن فيها الإجابة عن أي سؤال عن السلوك من خلال البيانات التي تحتاجونها بالفعل، دون أن تصدروا أدوات جديدة.

The Foundational Pillars: Metrics, Logs, and Traces

ومعظم أطر القابلية للملاحظة تنظم القياس عن بعد في ثلاث فئات، كثيرا ما تسمى " الركائز الثلاث " ، ويخدم كل منها غرضا متميزا، ويقدم معا نظرة شاملة عن صحة النظام.

القياسات: لمحة عامة كمية

وهذه القياسات هي قياسات رقمية يتم جمعها على فترات منتظمة، وهي توفر صورة رفيعة المستوى عن حالة النظام والاتجاهات على مر الزمن، وتشمل الأمثلة المشتركة استخدام وحدة تحليل البرامجيات، وتركيب الذاكرة، ومعدل الطلب، والخطأ، ومعدل الاحتياطات لعام ٩٩، والمقاييس ممتازة بالنسبة لوحات الطلاء، والتنبيه لأنها خفيفة الوزن لتجميعها وتخزينها، ويمكن تجميعها بكفاءة عبر العديد من الخدمات.

In distributed structures, careful selection of metrics is crucial. Focus on the “four golden signals” as recommended by Google’s SRE book: latency (time to service a request), traffic (demand placed on the system),

المصدر: السياق

فالألواح مفصولة، وسجلات مفصولة زمنيا للأحداث التي تحدث في خدمة ما، وخلافا للمقاييس، تحتوي السجلات على معلومات غنية أو غير منظمة أو شبه منظمة - رسائل خاطئة، وطلب هويات المستخدمين، وتعقب آثار الكسر، وأكثر، وعندما يحدث الفشل، كثيرا ما تكون السجلات هي أول فرق تتطلع إلى فهم ما حدث بالضبط، وفي النظم الموزعة، تصبح الأسطوانات أكثر أهمية لأن طلب واحد من المستعملين قد ينتج سجلا.

وتشمل أفضل الممارسات لقطع الأشجار: استخدام أشكال منظمة (مثلاً، شركة JSON) للقطع السهلة للآلات؛ بما في ذلك بطاقة هوية فريدة من نوعها في كل دخول للقطع؛ وقطع الأشجار على المستويات المناسبة (ERROR, WARN, INFO, DEBUG)؛ وتجنب البيانات الحساسة.

المسارات: بعد الطلب

ويجمع التتبُّع الموزَّع على مسار طلب واحد من نهايته إلى نهايته، حيث ينتقل عبر خدمات متعددة، وتضيف كل خدمة " نطاق " إلى الأثر، وتسجل معلومات التوقيت، والعلامات، والعلاقات بين الوالدين والأطفال، وتسمح المسارات للمهندسين بالتأكد من أن الوقت قد يُنفق، وحيثما تحدث حالات الفشل في إطار رسم بياني مُعقد، وقد يكشف مثلاً عن أن طلب البحث عن المنتجات بطيء نظراً إلى أن خدمة الجرد في المراحل النهائية تُقدَّم.

وقد برزت هذه الدراسة كمعيار الصناعة للتأهيل وجمع التعقب، وكثير من المساندة للتعقب مثل جايجر أو زيبكين أو غرافانا تيمبو يمكن أن تخزن وتستجوب آثاراً عالية الحجم، وتُعتبر آثارها ذات قيمة خاصة بالنسبة للخدمات الصغرى، والوظائف التي لا تُستخدم في الخواديم، وأي هيكل له اتصالات فيما بين الخدمات على الشبكات.

Unique Challenges of Distributed Systems

وتزيد البنى الموزعة من التحديات التشغيلية العديدة التي تجعل من القابلية للملاحظة لا مجرد مساعدة بل أساسية.

معدل الارتداد والفشل الجزئي

وفي تطبيق احتكاري، تكون عملية الاتصال بالوظيفة عملية محلية منخفضة الدقة، وفي نظام موزع، يُعد كل نداء خدمة الشبكة، ويُدخل في ذلك عيوب متغيرة، وإمكانية الفشل الجزئي، وقد تكون الخدمة في المراحل النهائية بطيئة، أو تُعيد خطأ ما، أو لا يمكن الوصول إليه تماما، ومن المستحيل تقريبا التمييز بين مشكلة في رموز خطائك ومسألة تتبع الشبكة العابرة، مما يساعد على كشف آثار المقاييس، مثل طلب عدم التقيد.

عدم وجود نقطة رقابة واحدة

ولا توجد نظم موزعة ذات مظلة زمنية واحدة للتفتيش، فالدولة تنتشر عبر قواعد البيانات، والكتيكات، وأجهزة الرسائل، والخدمات التي تجري في حاويات مختلفة، أو في شكل أشعة مقطعية، أو حتى في غيوم، ولا يمكن للمهندس أن يربط حيلة للنظام بأكمله، فالقابلية للملاحظة تتيح الرأي الموحد اللازم لإعادة بناء ما حدث عبر جميع العناصر، وتمركز قطع الأشجار والتعقب، إلى جانب وضع علامات متسقة (مثل، البيئة، والخدمة).

زيادة سطح هجوم الفشل المكشوف

فالفشل في أحد العناصر يمكن أن يواكبه على وجه السرعة الآخرين إن لم يكن متضمنا، فعلى سبيل المثال، قد تسبب خدمة التوثيق البطيئة في استنفاد بوابة نظام المعلومات الإدارية المتكامل، مما يؤدي إلى الفشل في جميع النقاط النهائية، ويمكن للرصد أن يحذركم من ارتفاع الأخطاء العامة، ولكن القدرة على الرصد فقط - باستخدام الآثار والمقاييس من كل خدمة - يمكن أن تبين لكم أن السبب الجذري هو نداء للتوثيق باهظا باهية يولده التغيير الأخير.

هاء - البنية التحتية البيئية

ومنابر حديثة مثل كوبرنيتز تُحدّد الحاويات دينامية، ويمكن أن تُنشق الوظائف التي لا تُستخدم في الخواديم وتموت في غضون ثوان، وهذا الطابع النثري يعني أنه لا يمكنك ببساطة أن تُرسل إلى جهاز للكشف عن المشاكل، بل يجب أن تعتمد على القياس عن بعد الذي يتم جمعه في وقت التشغيل، حتى بعد انتهاء الحاوية أو الوظيفة، أدوات القابلية للاحتفاظ تدعم التوسيم الدينامي واكتشاف الآلي للخدمات هي أدوات حاسمة في هذه البيئة.

أفضل الممارسات للنظم الموزعة على نحو قابل للملاحظة

إن بناء ممارسة للحفظ تتوافق مع هيكلك يتطلب أكثر من مجرد تركيب أداة، ويتطلب التأقلم المتعمد، والتحول الثقافي، والتحسين المستمر، ويتضح أن الممارسات التي تتبعها المنظمات الهندسية الرائدة هي ممارسات مثبتة.

الصك في وقت مبكر وبعمق

:: معالجة إمكانية الاحتياج من الدرجة الأولى، وليس التفكير بعد ذلك، وينبغي لكل خدمة أن تصدر مقاييس، وأن تُصدر سجلات منظمة، وأن تشارك في عملية التعقب الموزعة من اليوم الأول.

اعتماد معايير موحدة للتطوير

قياسياً على مجموعة واحدة من أدوات الرصد عبر منظمتك بأكملها، الأدوات المجزأة تخلق حروف البيانات وتجعل الترابط مستحيلاً، وتشمل مجموعة مشتركة بروميثيوس أو ] Grafana Mimir للمترات،

تصميم للتسامح المتعمد

(د) إن الإنذار يشكل تهديداً حقيقياً، ويتجنب الإنذار بكل انحراف طفيف، بل يركز على الإنذار بالأعراض التي تتطلب تدخلاً بشرياً، مثل ارتفاع معدلات الخطأ، أو خروقات الرطوبة، أو التشبع، أو التنبيهات المتعددة الشروط التي تجمع بين إشارات من مختلف الخدمات التي تُحدث حالات تنبيه كاذبة، مثلاً، إذا تجاوز معدل الخطأ 5 في المائة، أو لم يُستدام إلا إذا كانت حركة المرور هي:

Embrace Chaos Engineering

إن القابلية للملاحظة هي ذات قيمة كبيرة عندما تكشف عن عدم معرفة الهوية، فالممارسات الهندسية للفوضى - التي تتعمد الفشل في نظامك )مثل قتل القوارب، وإدخال الحماسة، وتحفيز أجزاء الشبكة( - اختبار قدرة نظامكم على الصمود، وإنشاء قدراتكم على الرصد، وإجراء تجارب في مجال التعبئة أو عن طريق نشر الكناري، واستخدام آثاركم ومقاييسكم لفهم كيفية تصدي النظام للثقة الحقيقية.

الاستثمار في الثقافة والكتب

فالتدويل وحده غير كاف، إذ يعزز ثقافة يكون فيها كل مطور مسؤولا عن صحة خدماته ويمكنه استخدام أدوات الحفظ في معالجة المسائل المتعلقة بالفساد، ويوفر التدريب على آثار القراءة، وبناء الاستفسارات، واستخدام لوحات المداخيل، وتوثيق الإجراءات الموحدة )الكتب( للسيناريوهات المشتركة - مثل " كيفية التحقيق في ارتفاع درجة الارتباك في خدمة الطلب " - وربطها بالتنبيهات النظامية.

الأثر الحقيقي العالمي: دراسة حالة

(ب) النظر في شركة مناوش تقوم بعمليات لملايين المعاملات يومياً، وتشمل مجموعة صفقاتها بوابة نظامية معتمداً على أساس الذهاب، وخدمة دفع جافا، ودائرة كشف الاحتيال في بيتسون، وقاعدة بيانات في قاعدة بيانات بريدغريسول، وقد كافح الفريق مع حالات الفشل المتقطع في المعاملات التي يرى فيها العملاء أخطاء في الدفع رغم أن خدمة الدفع لا تظهر أخطاء، وقد أشارت المراقبة التقليدية إلى وجود وحدة حماية شاملة وذاكرة على جميع الخدمات.

وبعد تنفيذ التعقب الموزع مع نظام " أوف تيليميتري " ، اكتشفوا أن خدمة الكشف عن الغش جعلت أحيانا بطيئة من مكتب الائتمان الخارجي التابع لمكتب الائتمانات الخارجية. وعندما كانت هذه المذكرة الخارجية بطيئة، أخذت استجابة دائرة الكشف عن الغش أطول من الوقت الذي تستغرقه خدمة الدفع )المجموعات إلى ٥٠٠ متر( مما أدى إلى إلغاء الصفقة وإعادة خطأ، حتى وإن كان الدفع الفعلي قد أذن به داخليا.

وهذا المثال يؤكد سبب عدم كفاية القياسات والسجلات، بل هو الجمع بين الركائز الثلاث - والقدرة على ربطها - التي تحقق قابلية الحفظ الحقيقية والقدرة على حل الإخفاقات المعقدة التي تتخلل الخدمات.

منابر القابلية للملاحظة والطريق إلى الأمام

وتوفر الجهات المقدمة للمرافق حلولاً مدروسة مثل " إيه إس إكس راي " ، ومرصد أزور، ومرصد غوغل كلود، والبدائل المفتوحة المصدر مثل مجموعة غرافانا لجهاز غم تي (Loki، وغرافانا، وتيمبو، وميمير) خيارات قوية ومتطورة وفعالة من حيث التكلفة.

وينظر إلى المستقبل، في اتجاهين هما تشكيل مستقبل القابلية للملاحظة: أولاً، eBPF] (الفريقان الفرعيان لبيانات الحزمة الفوقية) يتيحان إمكانية الاحتياج إلى رصد أعلى مستوى من مستوى الكمان دون تعديل رمز التطبيقات، وهو أمر ذو قوة خاصة في بيئات الكوبيرنيتس.

الاستنتاج: القابلية للاحتفاظ بها كاستثمار استراتيجي

وفي البنيانات الموزعة، فإن التعقيد ليس اختياريا - بل هو مبادلت للتقسيم والسرعات - والطريقة الوحيدة لإدارة هذا التعقيد هي جعل السلوك الداخلي للنظام أكثر شفافية، والقابلية للملاحظة والرصد ينصان على أن الشفافية، وتحويل الصناديق السوداء المفتقرة إلى نظم قابلة للفهم، وقابلة للتلف، ومن خلال الاستثمار في الركائز الثلاث للمقاييس، والسجلات، والتتبعات، واعتماد أدوات ومعايير موحدة، يعنيان وجود وقت عملي استباقي.

والخيار البديل - الذي نأمل أن تكون لوحات الدبابيس الثابتة وبعض الإنذارات كافية - هو قمار يصبح خطراً بشكل متزايد عندما ينمو نظامك، بدءاً من التأشيرات المتعمدة الصغيرة اليوم، ويمكن أن يكون الأثر الذي تكسبه غداً الفرق بين الاختلاط الطفولي وخارجه الرئيسي.