نظام مراقبة لخوادم Windows على SQL خالص ، وكيف قمت بسحبه سرا إلى الإنتاج

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

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

الصورة

في مربع واحد ، يكون منطق مربع الاختيار موجبًا ( حدث رفع ) ، في السطر التالي هو سلبي ( لا تقم برفع الحدث ). فكيف يعمل رفع الحدث فقط ؟ ليس لدي فكرة.

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

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

الصورة

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

الصورة

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

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

الصورة

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

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

الصورة

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

لم أقوم فقط بنسخ وظيفة NetIQ "كما هي" ، لقد قمت بتنفيذ كل شيء حلمت به. في تنبيه البريد الإلكتروني LOWDISK ، تحصل أيضًا على ملف PDF مرفق مع مخطط نمو استخدام القرص حتى تتمكن من فهم ما إذا كان النمو حقيقيًا أو حدث خطأ ما. ذاكرة منخفضة - ولا تحصل على المخطط فحسب ، بل تحصل أيضًا على توزيع ذاكرة حسب العملية ، بالإضافة إلى w3wp.exe ، تحصل على اسم تجمع مُلحق. كنت قد نفذت أيضا رسائل تذكير ذكية مع الحماية من الفيضانات وغيرها من الأشياء الفاخرة. راجع للشغل ، تم سحب قائمة الخوادم الافتراضية تلقائيًا من مستودعات VMware. بمجرد النظر إلى موضوعات التنبيه في عميل الهاتف المحمول ، يمكنك أن تقول على الفور ما يحدث - حتى بدون فتح رسائل البريد الإلكتروني:

الصورة

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

الصورة

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

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

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

الصورة

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

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

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

المادة باللغة الروسية

Source: https://habr.com/ru/post/ar437864/


All Articles