برنامج مفتوح المصدر لنظام إدارة التعلم: كيف تساعد البرامج المجانية في إدارة أنظمة الأعمال الهامة في VTB

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

برنامج مفتوح المصدر لنظام إدارة التعلم: كيف تساعد البرامج المجانية في إدارة أنظمة الأعمال الهامة في VTB

لماذا مراقبة نظام إدارة المستندات الخاص بك؟

منذ عام 2005، تمت "إدارة" دعم التوثيق في بنك VTB بواسطة نظام CompanyMedia. يوظف نظام إدارة التعلم (LMS) أكثر من 60 ألف مستخدم يقومون بإنشاء أكثر من مليون مستند جديد كل شهر. يجب أن تعمل خوادمنا على مدار 24 ساعة في اليوم: في أي لحظة تقريبًا، يوجد في النظام ما بين 2500 إلى 3000 شخص، متصلين في جميع أنحاء البلاد، من بتروبافلوفسك-كامتشاتسكي إلى كالينينغراد. كل ثانية من تشغيل LMS تعني 10-15 تغييرًا.

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

  • وحساب الوقت المستغرق في تنفيذ سيناريوهات الأعمال؛
  • مراقبة ديناميكيات أداء النظام والحمل عليه؛
  • البحث عن الانحرافات في مكونات النظام عن المتطلبات غير الوظيفية المعتمدة.

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

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

كيف بدأ كل شيء

اليوم، يساعد نظام مراقبة التطبيقات المركزي لـ VTB LMS، استنادًا إلى منتجات البرمجيات مفتوحة المصدر، على منع معظم الأخطاء المرتبطة بتدفق المستندات، وتصنيف المشكلات بسرعة ودقة، والاستجابة السريعة لأية حوادث. ويشمل نظامين فرعيين:

  • لمراقبة البنية التحتية لتكنولوجيا المعلومات لخدمات النظام؛
  • لمراقبة حدوث أخطاء في تشغيل نظام إدارة التعلم (LMS).

بدأ كل شيء بتطبيق مراقبة مجاني واحد. بعد المرور بالعديد من الخيارات، استقرينا على Zabbix - وهو برنامج مجاني تم تصميمه في الأصل للخدمات والمعدات المصرفية. كان نظام PHP المستند إلى الويب، والذي يمكنه تخزين البيانات في MySQL أو PostgreSQL أو SQLite أو Oracle Database، مناسبًا تمامًا لاحتياجاتنا.

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

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

برنامج مفتوح المصدر لنظام إدارة التعلم: كيف تساعد البرامج المجانية في إدارة أنظمة الأعمال الهامة في VTB

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

اتصال جافا وتصور البيانات

لقد قمنا بتوسيع نطاق البيانات التي تم تحليلها بشكل كبير، ولكن سرعان ما لم يكن هذا كافيا للمراقبة الفعالة. من خلال الاستفادة من حقيقة أن LMS الخاص بشركة CompanyMedia هو تطبيق Java، قمنا بالاتصال بجهاز Java الظاهري عبر واجهة JMX وتمكنا من أخذ مقاييس Java مباشرة. وليس فقط المعلمات القياسية لنشاط Java الحيوي، مثل كثافة عمل GC أو استهلاك الكومة، ولكن أيضًا اختبارات محددة تتعلق مباشرة برمز التطبيق القابل للتنفيذ.

برنامج مفتوح المصدر لنظام إدارة التعلم: كيف تساعد البرامج المجانية في إدارة أنظمة الأعمال الهامة في VTB

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

برنامج مفتوح المصدر لنظام إدارة التعلم: كيف تساعد البرامج المجانية في إدارة أنظمة الأعمال الهامة في VTB

واجهة Grafana تفاعلية، وتذكرنا بنظام OLAP. يعرض النظام الفرعي البيانات التي يتلقاها Zabbix على شاشة واحدة، ويقدم المعلومات في شكل رسوم بيانية ورسوم بيانية يسهل تحليلها. يمكن للمسؤول بسهولة تخصيص الشرائح التي يحتاجها.

برنامج مفتوح المصدر لنظام إدارة التعلم: كيف تساعد البرامج المجانية في إدارة أنظمة الأعمال الهامة في VTB

المراقبة والإزالة الوقائية للأخطاء في نظام LMS

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

برنامج مفتوح المصدر لنظام إدارة التعلم: كيف تساعد البرامج المجانية في إدارة أنظمة الأعمال الهامة في VTB

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

برنامج مفتوح المصدر لنظام إدارة التعلم: كيف تساعد البرامج المجانية في إدارة أنظمة الأعمال الهامة في VTB

مراقبة العمليات التجارية

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

برنامج مفتوح المصدر لنظام إدارة التعلم: كيف تساعد البرامج المجانية في إدارة أنظمة الأعمال الهامة في VTB

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

برنامج مفتوح المصدر لنظام إدارة التعلم: كيف تساعد البرامج المجانية في إدارة أنظمة الأعمال الهامة في VTB

إن مراقبة وقت تنفيذ الطلبات لكل خدمة أعمال تجعل من الممكن اكتشاف العمليات التي تنحرف عن القاعدة.

برنامج مفتوح المصدر لنظام إدارة التعلم: كيف تساعد البرامج المجانية في إدارة أنظمة الأعمال الهامة في VTB

لقطة الشاشة أعلاه هي مثال لمراقبة مهمة في الخلفية من حيث انحرافها عن القاعدة.

برنامج مفتوح المصدر لنظام إدارة التعلم: كيف تساعد البرامج المجانية في إدارة أنظمة الأعمال الهامة في VTB

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

برنامج مفتوح المصدر لنظام إدارة التعلم: كيف تساعد البرامج المجانية في إدارة أنظمة الأعمال الهامة في VTB

ويتم أيضًا رصد الاتجاهات في وقت تنفيذ إجراءات الخلفية.

ينمو النظام ويتطور ويساعد على مواجهة المشكلات

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

لحل هذه المشكلة، تم ربط الموازن بنظام المراقبة عبر واجهة برمجة التطبيقات (API)، التي تعمل مع مجموعة من خوادم التطبيقات. بفضل هذا، يمكن للمسؤول معرفة المدة التي يستغرقها الخادم للاستجابة لكل طلب مستخدم.

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

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

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

إضافة تعليق