فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

تذكر أن Elastic Stack يعتمد على قاعدة بيانات Elasticsearch غير العلائقية وواجهة الويب Kibana وجامعي البيانات (أشهر Logstash و Beats و APM وغيرها). يعد تحليل البيانات باستخدام خوارزميات التعلم الآلي أحد الإضافات الرائعة إلى مجموعة المنتجات المدرجة بالكامل. في المقالة نفهم ما هي هذه الخوارزميات. من فضلك تحت القط.

التعلم الآلي هو ميزة مدفوعة من برنامج المشاركة Elastic Stack ويتم تضمينه في X-Pack. لبدء استخدامه ، يكفي تنشيط نسخة تجريبية مدتها 30 يومًا بعد التثبيت. بعد انتهاء الفترة التجريبية ، يمكنك طلب الدعم لتجديدها أو شراء اشتراك. لا يتم حساب سعر الاشتراك بناءً على كمية البيانات ، ولكن على عدد العقد المستخدمة. لا ، يؤثر حجم البيانات ، بالطبع ، على عدد العقد المطلوبة ، ولكن لا يزال هذا النهج في الترخيص أكثر إنسانية فيما يتعلق بميزانية الشركة. إذا لم تكن هناك حاجة للأداء العالي ، يمكنك توفير المال.

تمت كتابة ML في Elastic Stack بلغة C ++ وتعمل خارج JVM حيث يتم تشغيل Elasticsearch نفسها. أي أن العملية (بالمناسبة تسمى الكشف التلقائي) تستهلك كل شيء لا يبتلعه JVM. في موقف تجريبي ، هذا ليس بالغ الأهمية ، ولكن في بيئة إنتاجية ، من المهم تخصيص عقد منفصلة لمهام ML.

تنقسم خوارزميات التعلم الآلي إلى فئتين - مع مدرس и بدون معلم. في Elastic Stack ، الخوارزمية من فئة "غير خاضعة للإشراف". بواسطة هذا الرابط يمكنك رؤية الجهاز الرياضي لخوارزميات التعلم الآلي.

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

مؤشرات إضافية تستخدم في عملية التحليل.ml-state - معلومات حول النماذج الإحصائية (إعدادات التحليل) ؛
.ml-anomalies- * - نتائج خوارزميات ML ؛
.ml-notifications - إعدادات الإشعارات بناءً على نتائج التحليل.

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

يتكون هيكل البيانات في قاعدة بيانات Elasticsearch من فهارس ومستندات مخزنة فيها. مقارنة بقاعدة بيانات علائقية ، يمكن مقارنة فهرس بمخطط قاعدة بيانات ، ومستند بسجل في جدول. هذه المقارنة مشروطة ويتم تقديمها لتبسيط فهم المواد الإضافية لأولئك الذين سمعوا فقط عن Elasticsearch.

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

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

مقياس واحد - تحليل مقياس واحد ، متعدد المقاييس - تحليل مقياسين أو أكثر. في كلتا الحالتين ، يتم تحليل كل مقياس في بيئة معزولة ، أي لا تأخذ الخوارزمية في الاعتبار سلوك المقاييس التي تم تحليلها بالتوازي ، كما قد يبدو في حالة Multi Metric. لحساب مع مراعاة الارتباط بين المقاييس المختلفة ، يمكنك تطبيق تحليل السكان. والمتقدم هو ضبط دقيق للخوارزميات مع خيارات إضافية لمهام معينة.

متري واحد

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

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

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

في الحقل يشار إلى الحقل الرقمي في المستند ، والذي بموجبه سنجري التحليل.

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

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

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

خطوط الأساس لشريحة بيانات صغيرة:

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

عندما يكون لدى الخوارزمية شيء لتتعلم منه ، تبدو الخطوط الأساسية كما يلي:

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

بعد بدء المهمة ، تحدد الخوارزمية الانحرافات غير الطبيعية عن القاعدة وترتبها وفقًا لاحتمال حدوث شذوذ (يشار إلى لون الملصق المقابل بين قوسين):

تحذير (أزرق): أقل من 25
طفيفة (أصفر): 25-50
الرائد (برتقالي): 50-75
الحرجة (حمراء): 75-100

يوضح الرسم البياني أدناه مثالاً على الحالات الشاذة التي تم العثور عليها.

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

هنا يمكنك رؤية الرقم 94 ، والذي يشير إلى احتمال حدوث شذوذ. من الواضح أنه نظرًا لأن القيمة قريبة من 100 ، فإن لدينا حالة شاذة. يشير العمود الموجود أسفل الرسم البياني إلى احتمال ضئيل بشكل مزعج قدره 0.000063634٪ من قيمة المقياس الذي يظهر هناك.

بالإضافة إلى البحث عن الحالات الشاذة في Kibana ، يمكنك إجراء التنبؤ. يتم ذلك بشكل أساسي ومن نفس التمثيل مع الحالات الشاذة - الزر توقعات في الزاوية اليمنى العليا.

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

تم بناء التوقعات لمدة تصل إلى 8 أسابيع. حتى لو كنت ترغب حقًا في ذلك ، لم يعد بإمكانك ذلك بالتصميم.

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

في بعض الحالات ، ستكون التوقعات مفيدة للغاية ، على سبيل المثال ، عند مراقبة حمل المستخدم على البنية التحتية.

متعدد المقاييس

دعنا ننتقل إلى ميزة ML التالية في Elastic Stack - تحليل عدة مقاييس في دفعة واحدة. لكن هذا لا يعني أنه سيتم تحليل اعتماد مقياس على آخر. هذا هو نفس المقياس الفردي فقط مع مقاييس متعددة على شاشة واحدة لسهولة المقارنة بين تأثير واحد على الآخر. سنتحدث عن تحليل اعتماد مقياس على آخر في الجزء السكاني.

بعد النقر فوق المربع باستخدام Multi Metric ، ستظهر نافذة بها إعدادات. دعونا نتناولها بمزيد من التفصيل.

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

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

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

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

بعد الإطلاق ، ستظهر الصورة التالية في واجهة Kibana.

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

هذا هو ما يسمى ب. خريطة حرارية للشذوذ لكل قيمة حقل OriginAirportIDالذي أشرنا إليه تقسيم البيانات. كما هو الحال مع Single Metric ، يشير اللون إلى مستوى الخارج. من الملائم إجراء تحليل مماثل ، على سبيل المثال ، في محطات العمل لتتبع تلك التي يوجد فيها العديد من التراخيص بشكل مثير للريبة ، وما إلى ذلك. لقد كتبنا بالفعل حول الأحداث المشبوهة في سجل أحداث Windows، والتي يمكن أيضًا جمعها وتحليلها هنا.

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

السكان

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

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

في هذا الرسم التوضيحي ، يشير حقل السكان إلى القيمة التي ستشير إليها المقاييس التي تم تحليلها. في هذه الحالة ، هذا هو اسم العملية. نتيجة لذلك ، سوف نرى كيف أثر حمل المعالج لكل عملية على بعضها البعض.

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

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

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

متقدم

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

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

В Summary_count_field_name اختياريًا ، يمكنك تحديد اسم الحقل من المستندات التي تحتوي على القيم المجمعة. في هذا المثال ، عدد الأحداث في الدقيقة. في categorization_field_name يحدد اسم قيمة الحقل من المستند ، والذي يحتوي على قيمة متغيرة. من خلال القناع الموجود في هذا الحقل ، يمكنك تقسيم البيانات التي تم تحليلها إلى مجموعات فرعية. انتبه إلى الزر إضافة كاشف في الرسم التوضيحي السابق. أدناه نتيجة النقر فوق هذا الزر.

فهم التعلم الآلي في Elastic Stack (المعروف أيضًا باسم Elasticsearch ، المعروف أيضًا باسم ELK)

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

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

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

في المقالة ، حاولنا تقديم الفكرة الأكثر إيجازًا عن إمكانيات التعلم الآلي في Elastic Stack ، ولا يزال هناك الكثير من التفاصيل وراء الكواليس. أخبرنا في التعليقات عن الحالات التي تمكنت من حلها بمساعدة Elastic Stack وما هي المهام التي تستخدمها. للاتصال بنا ، يمكنك استخدام الرسائل الخاصة على Habré أو نموذج التغذية الراجعة على الموقع.

المصدر: www.habr.com

إضافة تعليق