Anomaly Detection and Root Cause Analysis for Microservice Systems
تُقدم هذه الأطروحة تقدماً في الكشف التلقائي عن الشذوذ وتحليل الأسباب الجذرية لأنظمة الخدمات المصغرة من خلال معالجة خمسة قيود رئيسية عبر أطر عمل مبتكرة شاملة (BARO، وEventADL، وTORAI) تستفيد من بيانات المراقبة المتنوعة دون الحاجة إلى مخططات استدعاء الخدمات، جنباً إلى جنب مع تقديم معيار RCAEval والتقييم المنهجي لتوحيد الأبحاث المستقبلية.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل الإنترنت كمدينة ضخمة ومزدحمة، حيث كل تطبيق تستخدمه هو حي سكني مختلف. في الأيام الخوالي، كانت هذه الأحياء جميعها جزءًا من مدينة واحدة عملاقة محاطة بالأسوار (كتلة واحدة أو "monolith"). إذا احترق المخبز حينها، قد يغرق الحي بأكمله في الظلام، لكنك على الأقل كنت تعرف بالضبط أين تبحث. أما اليوم، فقد استبدلنا تلك المدينة بآلاف القرى الصغيرة والمستقلة التي تسمى "الخدمات المصغرة" (microservices). تتواصل هذه القرى مع بعضها البعض باستمرار لتجعل تسوقك عبر الإنترنت أو مشاهدة الفيديو أمراً ممكناً. ما المشكلة؟ إذا حدث خلل في قرية صغيرة واحدة، يمكن أن يرسل ذلك تأثيراً متسلسلاً يؤدي إلى انهيار المدينة بأكملها، مما يسبب بطئاً في التحميل أو انقطاعاً تاماً للخدمة. وللحفاظ على سير عمل هذه المدينة الرقمية، يحتاج المهندسون للعمل كالمحققين فائق الذكاء؛ إذ يتعين عليهم رصد اللحظة التي يحدث فيها خطأ ما (ما يسمى "كشف الشذوذ" أو anomaly detection)، ثم تحديد أي قرية بدأت المشكلة بالضبط (ما يسمى "تحليل السبب الجذري" أو root cause analysis). ولكن مع وجود ملايين نقاط البيانات التي تطير في كل ثانية — مثل تعداد حركة المرور، واستهلاك الطاقة، ورسائل الخطأ — فمن المستحيل على البشر العثور على الإبرة في كومة القش يدوياً.
هذه الأطروحة، التي كتبها "كوي لوان فام" (Qui Luan Pham)، تتناول تحدي بناء نظام تحقيق مؤتمت لهذه المدن الرقمية. يجادل المؤلف بأن معظم أدوات التحقيق الحالية معيبة لأنها تعامل "رصد المشكلة" و"إيجاد الجاني" كوظيفتين منفصلتين، وغالباً ما تفترض أن الوظيفة الأولى قد أُنجزت بشكل مثالي. في الواقع، غالباً ما ترتبك أدوات الكشف المؤتمتة بسبب الضجيج أو تخطئ في التوقيت قلياً، مما يفسد عملية التحقيق برمتها. كما تشير الورقة أيضاً إلى أن العديد من الأدوات الموجودة تعتمد على امتلاك خريطة مثالية لكيفية اتصال القرى ببعضها، وهو أمر مستحيل التحقيق في العالم الحقيقي. ولحل هذه المشكلة، طور المؤلف ثلاثة أدوات تحقيق جديدة وأكثر ذكاءً، و"ساحة تدريب" ضخمة ومعيارية لاختبارها.
أدوات التحقيق الثلاث الجديدة
تقدم الأطروحة ثلاث طرق متميزة، صُممت كل منها للتعامل مع أنواع مختلفة من الأدلة ومستويات مختلفة من الفوضى في البيانات.
1. BARO: محقق المقاييس (The Metric Detective)
فكر في "المقاييس" (metrics) كعلامات حيوية للنظام: معدل ضربات القلب (استهلاك المعالج CPU)، وسرعة التنفس (زمن الاستجابة/latency)، ودرجة حرارة الجسم (معدلات الخطأ). الأداة الأولى، BARO، مصممة لقراءة هذه العلامات الحيوية. المحققون السابقون كانوا ينظرون إلى معدل ضربات القلب، ويصرخون "نوبة قلبية!" ثم يحاولون فوراً إيجاد السبب، مفترضين أن الإنذار دقيق بنسبة 100%. BARO مختلف؛ فهو يعلم أن الإنذارات قد تكون مهتزة. يستخدم تقنية إحصائية خاصة تسمى "كشف تغيير النقطة عبر الإنترنت متعدد المتغيرات بايزي" (Multivariate Bayesian Online Change Point Detection) لمراقبة كيفية تحرك جميع العلامات الحيوية معاً. إذا ارتفع معدل ضربات القلب بينما ظل التنفس هادئاً، فقد يكون مجرد إنذار كاذب. أما إذا تغير كل شيء معاً، فهو يعرف أن هناك مشكلة حقيقية تحدث. وحتى لو انطلق الإنذار قبل الوقت أو بعده ببضع ثوانٍ، فإن BARO يمتلك "مقيماً قوياً" (Robust Scorer) يمكنه رغم ذلك تحديد القرية المسؤولة. إنه يشبه المحقق الذي لا يصاب بالذعر إذا كان الشاهد غير متأكد قليلاً من وقت وقوع الجريمة؛ إذ لا يزال بإمكانه حل القضية.
2. EventADL: محقق الأحداث (The Event Detective)
بينما تعتبر العلامات الحيوية رائعة، إلا أن الأدلة الحقيقية تكمن أحياناً في "الأحداث" (events) — وهي الأفعال المحددة التي يقوم بها الأشخاص، مثل "المستخدم X حذف ملفاً" أو "الخادم Y تمت إعادة تشغيله". معظم الأدوات السابقة تجاهلت سجلات الأحداث هذه أو عاملتها كنصوص غير منظمة وفوضوية. EventADL هو أول أداة تعامل الأحداث كقصة منظمة. لقد تعلم من خلال تحليل 520 حادثة من العالم الحقيقي في شركة سحابية كبرى. إنه يبحث عن الأنماط في (من) فعل (ماذا) بـ (أي مورد). على سبيل المثال، قد يلاحظ نمطاً حيث يتم حذف مجموعة أمنية معينة، يليه مباشرة فشل الخادم في بدء التشغيل. إنه يبني "خريطة قصة" (Intervention Graph) ليوضح بالضبط كيف أدى فعل واحد إلى الكارثة. هذه الأداة هي "صندوق مفتوح" (open-box)، مما يعني أنها لا تكتفي بالقول "هناك خطأ ما"، بل تشرح قصة "لماذا" حدث ذلك، مما يجعل من السهل جداً على المهندسين البشريين الوثوق بها وإصلاحها.
3. TORAI: المحقق متعدد الوسائط (The Multimodal Detective)
في العالم الحقيقي، أحياناً تكون الخريطة ناقصة القطع. بعض القرى هي "نقاط عمياء" — ربما هي قديمة، أو تديرها جهة خارجية، ولا يمكننا رؤية سجلاتها الداخلية أو آثارها (traces). معظم الأدوات تفشل تماماً إذا لم تستطع رؤية الخريطة كاملة. TORAI هو المحقق النهائي الذي يعمل حتى مع وجود خريطة مكسورة. إنه يجمع كل الأدلة المتاحة: العلامات الحيوية (المقاييس)، سجلات الأحداث (الأحداث)، والآثار القليلة التي يمتلكها. يقوم بتجميع الخدمات بناءً على مدى "خطورة" أعراضها، ويستخدم طريقة تسمى "التصنيف السببي" (causal ranking) لتحديد السبب الجذري، حتى لو لم يستطع رؤية كل اتصال. إنه يشبه المحقق الذي يمكنه حل لغز حتى لو كان نصف الشهود مفقودين، وذلك عن طريق تجميع القليل من الأدلة المتبقية.
ساحة التدريب: RCAEval
لإثبات أن هؤلاء المحققين الجدد كانوا أفضل بالفعل من القدامى، لم يكتفِ المؤلف بإجراء بعض الاختبارات فقط، بل بنى RCAEval، وهو أول "ساحة تدريب" معيارية لهذا المجال. قبل ذلك، كان كل باحث يستخدم مجموعات بيانات وقواعد مختلفة، مما جعل من المستحيل مقارنة من هو الأفضل فعلياً. توفر RCAEval مكتبة ضخمة تضم 735 سيناريو فشل مختلف عبر ثلاثة مدن رقمية مختلفة، إلى جانب 15 طريقة تحقيق "أساسية" (baseline) للتنافس ضدها. إنه يشبه إنشاء مضمار أولمبي قياسي لكي يتم الحكم على كل عداء بإنصاف.
ماذا أظهرت الاختبارات
وضع المؤلف BARO وEventADL وTORAI تحت اختبارات صارمة على هذه الأنظمة المرجعية.
- تفوق BARO باستمرار على الأساليب الموجودة في إيجاد السبب الجذري، حتى عندما كان الإنذار الأولي غير دقيق قليلاً. وقد أثبت أن كون المحقق قوياً تجاه أخطاء التوقيت أمر بالغ الأهمية.
- أظهر EventADL أن النظر في الأحداث المنظمة يعد تغييراً جذرياً في قواعد اللعبة، حيث حقق دقة عالية جداً في كل من رصد الشذوذ وشرحه.
- أظهر TORAI أنك لست بحاجة إلى خريطة مثالية لحل اللغز؛ فقد استطاع إيجاد السبب الجذري حتى عندما كانت أجزاء من النظام غير مرئية.
ومع ذلك، وجدت الورقة أيضاً أن ليست كل الأساليب الموجودة متساوية. أجرى المؤلف دراسة واسعة على 21 طريقة مختلفة من "الاستدلال السببي" (causal inference) — وهي الأدوات التي تحاول فهم علاقة السبب والنتيوة. ووجد أن العديد من هذه الأدوات الشهيرة تعاني عندما يصبح النظام كبيراً جداً (أكثر من 200 خدمة) أو عندما تكون البيانات فوضوية. كانت بعض الطرق بطيئة للغاية، حيث تستغرق ساعات لحل مشكلة يجب أن تُحل في ثوانٍ، بينما فشلت أخرى تماماً إذا لم تكن البيانات مثالية.
الخلاصة
تشير هذه الأطروحة إلى أن مستقبل إصلاح المدن الرقمية يكمن في دمج أنواع مختلفة من الأدلة (المقاييس، الأحداث، والآثار) وبناء أدوات قادرة على التعامل مع البيانات غير المثالية. لم يبتكر المؤلف أدوات جديدة فحسب، بل بنى البنية التحتية لاختبارها بإنصاف. وبينما لا تدعي الورقة أنها حلت كل مشاكل العالم، إلا أنها توفر أساساً متيناً وقابلاً للتكرار ينقل هذا المجال من مرحلة "التخمين" إلى مرحلة "المعرفة". إنها توضح أنه مع استخدام الحيل الإحصائية الصحيحة والاستعداد للنظر في جميع أنواع البيانات، يمكننا بناء أنظمة تكتشف نفسها وتصلح نفسها بشكل أسرع بكثير من ذي قبل.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.