
في
مدونتنا ، تحدثنا كثيرًا عن الحلول الأجنبية للمراقبة والتدقيق ، والآن حان الوقت للتنمية المحلية.
MONQ هو نظام شامل مع موصلات لأنظمة المراقبة المشتركة ، ونماذج خدمة الموارد ، وتحليل البيانات ، وإمكانات الذكاء الاصطناعي العالية ، ونموذج الترخيص الخاص. لقد حصلنا على توزيع للنظر فيه وقررنا أن نشارك كيف يكون هناك تحت الغطاء وما إذا كان كل شيء تكنولوجيا النانو كما يقول البائع (المشروع ، بعد كل شيء ، هو أحد سكان سكولكوفو). سقطت على شرف الاختبار وسأخبرك عن التثبيت وقدرات النظام والقليل عن الترخيص. أطلب القط.
مقدمة
في عام 2018 ، قدم Gartner مصطلحًا جديدًا لوصف كيفية تطبيق الذكاء الاصطناعي (AI) على دعم تكنولوجيا المعلومات. "تعد AIOps (الذكاء الاصطناعي لعمليات تكنولوجيا المعلومات) بتوفير الوقت والجهد لخدمات تكنولوجيا المعلومات في تحديد القضايا المختلفة في البيئة التي تزداد تعقيدًا والتي يجب أن تعمل فيها." يقترح Gartner أنه سيتم استخدام الذكاء الاصطناعي لتحديد المشاكل تلقائيًا وحلها. في عام 2019 ، تبدو هذه حكاية خرافية ، ولم أر حتى الآن أي حالات حقيقية لدعم تكنولوجيا المعلومات التلقائي بالكامل.
حصلت على منصة
MONQ من
مختبر MONQ الرقمي . يضع المطور نفسه كحل AIOps. لكنني أسميها نظام مراقبة المظلات ، وإدارة الأحداث ، وإطلاق البرامج النصية للتشغيل الآلي. ليس هناك الكثير من الذكاء في ذلك حتى الآن.
في الخدمة ، أنا أدعم أكثر من 100 نظام مختلف ، خوادم ، خدمات ، خدمات. بلدي أدوات الرصد عارضة هي Zabbix و Prometheus ، كما أنها تغطي معظم مهام مراقبة الأداء. يتوقف نظامان في حلقة المراقبة عن الاستجابة في بعض الأحيان ، تتم معالجته من خلال إعادة تشغيل الخادم (لا توجد طريقة أخرى ، لن يقوم أحد بإعادة كتابة رمز المنحنى). كنت أرغب دائمًا في محاولة تنفيذ حالة عندما يحدد نظام المراقبة مشكلة من مصدرين مستقلين ويعيد تشغيل الخادم نفسه. لمثل هذه المهام ، عادة ما تستخدم الأنظمة الشاملة ذات النظم الفرعية للبرمجة ، حيث يطلق عليها الآن باسم RPA (أتمتة العمليات الآلية). لا أعرف الأنظمة المجانية ، لكن الأنظمة التجارية مثل جسر من الحديد الزهر.
سنحاول اليوم تثبيت MONQ معًا ، وربط Zabbix و Prometheus به ، وتكوين التنبيهات وكتابة برنامج نصي لإعادة تشغيل الخادم. حتى تتمكن غدًا من رمي قدميك بهدوء على الطاولة ، فقط في بعض الأحيان تشاهد عملية علاج آلة ما باستخدام آلة أخرى وتشرب القهوة مع كرواسون.
هندسة الحلول
MONQ العمارةيتم نشر النظام في حاويات الرصيف في كتلة kubernetes. يتم دمج مجموعات Microservice في كتل وظيفية. جميع البيانات من المستخدمين ، والمعلومات التقنية ، والأحداث ، وسجلات بعد التخصيب مع مختلف العلامات المفيدة تطير في بحيرة البيانات على ClickHouse ، ثم تتم عملية الحساب والتحليل. يتم اكتشاف الأنماط والأحداث المهمة وتشكيل المشغلات المركبة ويمكن إطلاق عمليات مهمة مختلفة للأحداث المهمة: من التنبيهات والحوادث إلى البرامج النصية المعقدة للمستخدم.
تفريغ
Youtube مليء بمقاطع الفيديو لتفريغ شيء ما. الآن سأحاول القيام بنفس الشيء ، ولكن بتنسيق صورة نصية وليس مع منتج مادي ، ولكن مع توزيع. للبدء ، قم بإعداد - تثبيت نظام kubernetes.
يمكنك أن تقرأ عن إعداد مجموعة kubernetes ، على سبيل المثال ،
هنا . سأخبرك عن ميزات التكوين:
- يتم استخدام coredns DNS الكتلة؛
- إنجن إكس-دخول وحدة تحكم.
- إذن rbac في كتلة.
- يستخدم التخزين المشترك (الكهروضوئية / بولي كلوريد الفينيل).
لكل مشروع ، يوفر البائع المتطلبات الفنية للأجهزة. الحد الأدنى للتكوين للتثبيت هو 4 خوادم. هذا يكفي لإجراء تجربة تجريبية ، قابلة للتكامل مع نظام مراقبة واحد. لأغراضي ، التحقق من وظائف النظام ، سيعمل هذا الخيار أيضًا.
في ظروف القتال ، كما قيل لي ، فإن النظام يراعي احتياجات العميل حسب الحمل وتحمل الخطأ المطلوب.
التكوين الخاص بي للنظام على الأقل:
بعد أن أصبح النظام الأساسي جاهزًا ، أبدأ تشغيل قواعد اللعبة التي يمكن أن يقوم بها البائع لتثبيت البنية الأساسية الأساسية وإطلاق النظام. يقوم Playbook بما يلي:
- تثبيت الحزم اللازمة على الخوادم ؛
- تطلق kubernetes.
- تثبيت وتكوين التطبيقات على خادم قاعدة البيانات. من بينها: Clickhouse و RabbitMQ و PostgreSQL و ArangoDB و Redis وكل هذا في حاويات السفن.
- يقوم بتثبيت القنصل للتخزين المركزي لتكوينات الخدمة الصغيرة ؛
- يضيف نقطة نهاية ، كيانات إدخال الخدمة من أجل DBMS وأجزاء البنية التحتية للنظام ؛
- يولد جدول مع بيانات الترخيص.
من أجل عدم بدء تشغيل تطبيق microservice يدويًا ، قام البائع بإعداد سجل خدمات microservice مضمن يضيف ويحدث خدمات microservices ، ويقوم بتكوين تفويض DBMS وتفويض الخدمات الداخلية.
بدء تشغيل النظام يتلخص في الإجراءات التالية:
- يتم بدء تشغيل مثبت النظام مع ملف تكوين مُعد مسبقًا (يحتوي على بيانات الترخيص في kubernetes و DBMS و Consul ، اسم مجال النظام) ؛
- المثبت يبدأ التسجيل microservice؛
- باستخدام السجل ، يتم بدء تشغيل الخدمات المصغرة واحدة تلو الأخرى ، ويقوم السجل بإنشاء تكوين من الخدمات المصغرة في القنصل ، نشر الكيانات ، الخدمة ، الدخول في kubernetes ؛
- عند بدء التشغيل ، يقوم كل خدمة microservice بتحميل مخطط قاعدة البيانات الخاصة به.
نتيجة المثبت التي أطلقتها هي في الصورة أدناه.
لوحة القيادة Kubernetes: نتيجة المثبتبعد اكتمال عملية التثبيت ، ستتوفر MONQ حسب اسم المجال الذي حددته في ملف تكوين المثبت. وهنا هو.
MONQ واجهة الدخولتعديل
في الإعداد الأولي للنظام ، يوجد بالفعل مستخدم يتمتع بحقوق التحكم الكامل. أقوم بتسجيل الدخول تحتها وانظر إلى ما تستطيع MONQ القيام به.
إنشاء مستخدمين في النظام وإعداد مجموعات العمل
هناك طريقتان لتخويل المستخدم في النظام:
بالنسبة للتعارف الأول ، يكون الترخيص المدمج مناسبًا.
مسبقا نظام المستخدميتم إصدار حقوق الوصول إلى كائنات وموارد النظام (التكامل ، وحدات التكوين (KE) ، المشغلات الاصطناعية ، البرامج النصية ، وما إلى ذلك) على مستوى مجموعات العمل (WG). يمكن أن تكون أي مجموعة عمل هي مالك الكائن أو لديها أذونات القراءة أو الكتابة. هناك العديد من مستويات الوصول:
- يمكن لأعضاء مجموعة العمل التي تتمتع بمستوى حقوق المالك تنفيذ أي إجراءات مع الكائن (يمكن أن يكون لدى مجموعة العمل التي تتمتع بهذا المستوى من الحقوق عنصر واحد فقط) ؛
- يمكن لمجموعة العمل التي لها الحق في التسجيل إدارة الكائن ، لكن لا يمكنها حذفه ومنحه حقوق مجموعات العمل الأخرى ؛
- يمكن لمجموعة العمل للقراءة فقط عرض معلومات حول كائن ما ؛
- مجموعة العمل بدون حق الوصول إلى كائن ما ليست على دراية بوجودها.
بشكل افتراضي ، تم إنشاء نظام WP "مسؤولي الفضاء" ، والتي حسمت للتو المستخدم الخاص بي. تمتلك مجموعة العمل هذه الحقوق الكاملة لجميع الكائنات التي سيتم إنشاؤها في هذا الكيان. للزملاء الذين يرغبون أيضًا في إلقاء نظرة على النظام ، قاموا بإنشاء WP Super Administrators إضافية.
مجموعات العمل والأدوار والمشاركينيتم تكوين حقوق مستخدمين محددين في إطار مجموعة العمل في شكل أدوار.
إعداد PCM
إنه يتعلق بنموذج خدمة الموارد. هذا نموذج خدمة منطقي يصف تكوين وعلاقات KEs بموارد KE ، التي توفر الخدمة معًا على مستوى متفق عليه. PCM ضروري لتخزين المعلومات حول الكائنات والكيانات والعلاقات بينهما. PCM في MONQ هو رسم بياني للشبكة يحتوي على معلومات حول KEs وعلاقاتهم.
الفرق الرئيسي ، وفي رأيي ، أن ميزة تطبيق PCM في النظام هي التركيز على خدمات الأعمال. يساعد ذلك في تقديم البنية الكاملة للخدمة أو الخدمة التي يستخدمها المستخدم النهائي ، وليس التركيز على نظام البنية التحتية الذي تعتمد عليه الخدمة أو الخدمة.
لأغراض الاختبار ، قمت بعمل "حساب شخصي للمستخدم" باستخدام PCM مبسطة.
PCM "حساب المستخدم الشخصي"بعد إعداد المراقبة ، سأظهر كيف سيتم تحويلها.
تكوين PCM:
- الجهاز الظاهري الذي يعمل عليه نظام المعلومات (IS) SRVe3_VM15 ؛
- STR: Nginx_LK ، PHP-fpm_LK ، MySQL_LK ؛
- خدمتنا (IS) - LK (حساب شخصي) ؛
- وحدات IP: التفويض ، البحث ، إدارة المستندات ، الدفع. في الواقع ، هناك الكثير منهم ، ولكن حتى الآن خلق هذه فقط.
إعداد التكامل
يوفر MONQ اتصال أنواع مختلفة من الأنظمة:
- أنظمة المراقبة (Zabbix و Prometheus و SCOM وغيرها) ؛
- أنظمة جمع السجلات (Splunk و Logstash وغيرها) ؛
- أنظمة الإطلاق التلقائي (Jenkins ، Gitlab CI وغيرها)
- مكاتب الخدمة ، تعقب المهام (Microfocus SM ، Jira ، Redmine ، Naumen وغيرها).
أنا مرتبطة أنظمة الرصد Zabbix ، بروميثيوس. يتم تكوين هذه الموصلات في قسم التكامل.
التكامل مع نظم الرصدتأتي المقاييس والأحداث من Zabbix و Prometheus إلى MONQ.
اتصال مراقبة الاصطناعية (اختبار وظيفي الآلي)
في MONQ ، يمكنك أيضًا تكوين الاختبار الوظيفي للتطبيقات. في المثال الخاص بي ، هذا حساب شخصي. لقد قمت بتوصيل العديد من تصميمات autotests من Jenkins.
وحدة المراقبة الوظيفية "مشاريع FMON"المراقبة الوظيفية في MONQ هي وحدة منفصلة مع شاشة "الاختبار الوظيفي" الخاصة بها. وإليك مثال على تقرير عن تنفيذ أحد اختباراتي:
مشروع تخويل مستخدم FMON ، فشل التجميعتكوين المراقبة والتنبيهات
باستخدام القوالب القياسية (تتوفر عدة قوالب جاهزة للمشغلات الاصطناعية لكل تكامل من خارج الصندوق) ، ابتكر مشغلات تركيبية للأحداث الأولية من Zabbix و Prometheus. المشغلات الاصطناعية هنا هي المشغلات التي يتم إنشاؤها داخل المنصة والتي تعمل مع البيانات الأولية من مصادر مختلفة. بعد ذلك ، قمت بربط المشغلات الناتجة بعناصر PCM (KE).
قسم "المشغلات الاصطناعية"ويبدو وكأنه الزناد الاصطناعية التي أنشأتها القالب.
مثال على مشغل اصطناعي تم إنشاؤه بواسطة قالب Prometheusفي قسم "البرامج النصية الخاصة بي" ، على سبيل المثال ، يوجد بالفعل برنامج نصي يعيد تشغيل الخادم. البرنامج النصي نفسه مكتوب في لوا ويمكن تغييره. بناءً عليه ، قمت بعمل سيناريو خاص بي لإعادة تشغيل الخدمة.
خدمة إعادة تشغيل البرنامج النصي على الخادمبالإضافة إلى التكامل المعتاد مع عميل البريد ، يمكنك من خارج الصندوق تكوين إرسال الإشعارات إلى مختلف برامج المراسلة الفورية. في هذه الحالة ، يمكنك إعداد برنامج روبوت للدردشة يقوم بالكتابة إلى مجموعة خاصة ، على سبيل المثال ، لمسؤولي الدردشة في برقية.
لاستخدام التكامل مع برامج المراسلة الفورية ، تحتاج إلى فتح الوصول إلى سحابة Microsoft Azure.
يمكن للمستخدمين المتقدمين كتابة مكونات الإعلامات الخاصة بهم على Lua. فيما يلي مثال على البرنامج النصي لإرسال إشعارات الرسائل القصيرة.
SMS إرسال البرنامج المساعد لمنصة MONQمراقبة التصور
بعد التوليف ، تغير جهاز PCM الخاص بي قليلاً ، وتم وضع ثلاثة أنظمة أخرى للمراقبة العامة ، تحدد حالتها أداء "حساب المستخدم الشخصي". وأضاف أيضا العديد من الخدمات.
PCM "حساب المستخدم الشخصي" مع المشغلات المرفقةيتم عرض معلومات عامة حول حالة الكائنات قيد المراقبة على العرض الرئيسي في شكل الحاجيات المخصصة.
العرض الرئيسي لـ IS "الحساب الشخصي"في وقت التقاط الصورة ، توجد مشكلة في عدد كبير من الاستعلامات في قاعدة البيانات ، بسبب زيادة استجابة الصفحات في IS "حساب المستخدم الشخصي". يبلغ النظام عن ذلك على الشاشة ويرسل رسائل نصية قصيرة.
للمراقبة التشغيلية ، يتم استخدام "شاشة التشغيل" التي لا يوجد عليها سوى عنصر واجهة مستخدم واحد مع قائمة الأحداث الحالية (الأحداث والأحداث النشطة التي أغلقت قبل 15 دقيقة).
عرض الشاشة الحيةللاختبار ، قمت بإنشاء حمل كبير على وحدة المعالجة المركزية للجهاز الظاهري باستخدام MySQL. اكتشف النظام الحدث وبدأ الإجراء من خلال برنامج نصي لإعادة تشغيل خدمة mysqld مُعد مسبقًا. إذا كان الحدث لا يزال نشطًا بعد 15 دقيقة ، فستحدث إعادة تشغيل.
تم إعادة تشغيل الخدمة بشكل صحيح ، وقد تلقيت إشعارًا بأن كل شيء على ما يرام.يمكن عرض جميع الأحداث في الوقت المناسب في قسم "الجدول الزمني". وإذا كان نظام ITSM لا يزال متصلاً ، فسيقوم بعرض العمل المخطط له وفقًا لـ KE.
مراقبة الأحداث على عرض الجدول الزمنييمكن العثور على معلومات حول توفر الأنظمة التي تم تثبيتها للمراقبة في عرض "تقارير SLA".
الإبلاغ عن SLA على IP "الحساب الشخصي للمستخدم"من أجل الوضوح ، قمت بإنشاء تقرير لمدة أسبوعين باستثناءه مع الأحداث ذات الأولويات 3 و 4 ، حسناً ، منها بالطبع ، بالطبع. إذا كنت تعتقد أن التقرير ، فإن النظام يعمل بشكل جيد. يتم تصدير التقرير إلى PDF و XLS.
تعرض الشاشات معلومات عن المرشحات التي قام المستخدم بتكوينها مسبقًا. يمكن وضع علامة على أي حدث على الشاشات للبحث السريع أو التصفية.
الترخيص
ميزة غير وظيفية ، ولكن ليس أقل أهمية من MONQ حفظته في نهاية المقالة. هذا هو الترخيص. يتم ترخيص الغالبية العظمى من حلول المراقبة الخارجية للمظلات من خلال عدد الأجهزة (التي تسمى عادةً بنقاط النهاية ، أو مثيل نظام التشغيل أو أي شيء آخر) والتي تتم معالجة الأحداث أو المقاييس منها. بغض النظر عما إذا كنت تقوم بجمع البيانات من كائنات المراقبة النهائية ، أم يقوم نظام مراقبة آخر بذلك. إذا تم جمع المقاييس باستخدام نظام تجاري ، فإن الدفع المزدوج لنفس الشيء أمر لا مفر منه. تم ترخيص MONQ من خلال عدد الموصلات المستخدمة للأنظمة الخارجية. هذا هو ، إذا كنت تستخدم نظامين ، حيث تريد جمع المعلومات - فهذه هي موصلتان مستخدمتان أو ترخيصان. وبالتالي ، من وجهة نظر "رسوم التحصيل" ، عند استخدام MONQ لن يتغير شيء. سوف تدفع فقط تكلفة الاندماج مع هذه الأنظمة. في هذا أرى ميزة كبيرة وإمكانات.
كما قيل لي ، فإن خطط تطوير النظام هي العديد من التحسينات التي يتم تقديمها باستمرار. من بين الابتكارات البارزة في الأشهر الستة المقبلة سوف تظهر: مُنشئ لوحة معلومات ، وسيد لإنشاء مشغلات تركيبية ، وزيادة التفاصيل عند حساب SLA (سترى أي عامل ومدى تأثيره على إمكانية الوصول إلى الكائن) وواجهة برمجة تطبيقات عامة خارجية.
النتائج
لقد أحببت أن يقوم الأشخاص من شركة المطورين بإجراء الاتصال والتحدث ومشاركة المعلومات بسهولة ، وقد أعجبني النظام. لا يزال ليس لديه الكثير من الوظائف ومن الصعب المقارنة مباشرة مع Splunk أو AppDynamics من حيث AIOps ، ولكن ، بوضوح ، إذا أصبح كل ما يقولونه صحيحًا ، فسيأخذ هذا النظام مكانه الصحيح بين رواد السوق ورباعي Gartner.
إذا كنت ترغب في تقييم النظام بنفسك ، أو الحصول على عرض تقديمي ، أو مشاهدة عرض توضيحي ، أو كنت تبحث عن حل شامل لفترة طويلة وكنت مستعدًا لمشروع رائد ، فيرجى ترك طلب في
نموذج الملاحظات على موقعنا.