سنناقش في هذه المقالة كيفية إعداد برنامج نصي صغير لبرامج مراقبة حمل الخادم مع مهمة
cron مجدولة لمراقبة متوسط حمل الخادم الخاص بك ، وإرسال إشعار بالبريد الإلكتروني إليك إذا كان أعلى من الحد الذي قمت بتعيينه.
في كثير من الأحيان ، قد يتم تشغيل الخادم الخاص بك عند تحميل أقل بكثير مما يمكنه فعله بالفعل. على الرغم من أنه في أوقات معينة قد يرتفع استخدام الخادم فجأةً مما يؤدي إلى عدم استقرار الخادم وقد يحتاج إلى إعادة تشغيل.
يقوم فريق إدارة النظام لدينا بمراقبة الإعداد على جميع خوادمنا المخصصة لمشاكل التحميل القصوى. ومع ذلك قد تكون مهتمًا بإعداد بعض المراقبة الخاصة بك بحيث يمكنك أن يتم تنبيهك عبر البريد الإلكتروني بمجرد أن ينتشر الخادم الخاص بك بحيث يمكنك تسجيل الدخول للتحقيق في ذلك الاستخدام عن كثب.
هذا من شأنه أن يستخدم في المقام الأول لخادم مخصص. في حين أنه يمكن استخدامه أيضًا على VPS ، فإن متوسط تحميل VPS لا يجب أن يتجاوز عادة 1.00 ويمكن أن يتذبذب مؤقتًا صعودًا وهبوطًا نظرًا لأنه بيئة افتراضية. لذلك قد ينتهي بك الأمر إلى الحصول على عدد كبير جدًا من الإشعارات وبحلول الوقت الذي تدخل فيه للتحقيق في الأمر ، قد يكون قد انخفض.
إنشاء برنامج نصي لمراقبة حمل bash
أولاً ، ستحتاج إلى معرفة عدد مراكز CPU الموجودة لديك على خادمك المخصص ، حيث يحدد ذلك الحمل الأمثل الذي يمكن لخادمك العمل فيه.
يمكنك تسجيل الدخول إلى خادمك عبر SSH ثم تشغيل الأمر التالي للعثور على ذلك:
يمكنك تسجيل الدخول إلى خادمك عبر SSH ثم تشغيل الأمر التالي للعثور على ذلك:
grep pro /proc/cpuinfo -c
يجب عليك استعادة عدد النوى على خادمك مثل Â 4Â.
لن ترغب في زيادة متوسط معدل التحميل على عدد وحدات المعالجة المركزية الموجودة في الخادم ، في هذه الحالة ، أعلم أن هذا الخادم لا يقوم بأي شيء سوى تقديم موقع ويب ثابت واحد ، لذلك إذا كان الحمل يصل إلى 4.00أنا أريد أن تحقق فيه.لذلك سأقوم بتعيين قيمة الزناد الخاصة بي للتحميل عند 4.00.
ابدأ في تحرير ملف جديد لإنشاء نص التنبيه bash ، وفي هذه الحالة أستخدم محرر نص vim وقم بإنشاء ملف جديد باسم loadMon في الدليل الرئيسي للمستخدم باستخدام الأمر التالي:
vim /home/userna1/loadMon
ثم سترغب في النقر على i للدخول إلى الوضع Insert بمجرد تحميل vim وإدخال التعليمة البرمجية التالية:
#!/bin/bash trigger=4.00 load=`cat /proc/loadavg | awk '{print $1}'` response=`echo | awk -v T=$trigger -v L=$load 'BEGIN{if ( L > T){ print "greater"}}'` if [[ $response = "greater" ]] then sar -q | mail -s"High load on server - [ $load ]" [email protected] fi
إليك نفس الرمز مرة أخرى مع التعليقات التي تسير عبر ما يفعله كل سطر:
#!/bin/bash
لقد وضعنا محفزًا لمقدار الحمل الذي يمكن أن نصل إليه قبل ذلك
تنبيه عبر البريد الإلكتروني من هذا البرنامج النصي.
الزناد=4.00
قمنا بتعيين متغير الحمولة لقراءة حمل الخادم الحالي من
/ proc / loadavg وفقط من العمود الأول وهو التحميل المباشر.
load = `cat / proc / loadavg |awk '{print $ 1}' `
قمنا بتعيين متغير الاستجابة لكلمة "أكبر" إذا كان الحالي
الحمل أكبر من الزناد الذي وضعناه.
استجابة = `صدى |awk -v T = $ trigger -v L = $ load "BEGIN {if (L> T) {print" greater "}} '`
إذا تم تعيين الاستجابة إلى "أكبر" نقوم بتشغيل الأمر s - q
وأنابيب |تلك البيانات إلى أمر البريد لـ [email protected]
هذا يرسل رسالة بريد إلكتروني مع متوسطات الحمل الأخيرة للخادم هناك.
إذا كان [[$ response = "greater"]]
ثم
سار -q |mail -s "تحميل عالي على الخادم - [$ load]" [email protected]
تنبيه عبر البريد الإلكتروني من هذا البرنامج النصي.
الزناد=4.00
قمنا بتعيين متغير الحمولة لقراءة حمل الخادم الحالي من
/ proc / loadavg وفقط من العمود الأول وهو التحميل المباشر.
load = `cat / proc / loadavg |awk '{print $ 1}' `
قمنا بتعيين متغير الاستجابة لكلمة "أكبر" إذا كان الحالي
الحمل أكبر من الزناد الذي وضعناه.
استجابة = `صدى |awk -v T = $ trigger -v L = $ load "BEGIN {if (L> T) {print" greater "}} '`
إذا تم تعيين الاستجابة إلى "أكبر" نقوم بتشغيل الأمر s - q
وأنابيب |تلك البيانات إلى أمر البريد لـ [email protected]
هذا يرسل رسالة بريد إلكتروني مع متوسطات الحمل الأخيرة للخادم هناك.
إذا كان [[$ response = "greater"]]
ثم
سار -q |mail -s "تحميل عالي على الخادم - [$ load]" [email protected]
مهمة كرون(cron) الإعداد لتشغيل البرنامج النصي للمراقبة
الآن بعد أن قمت بتثبيت البرنامج النصي الخاص بمراقبة حمل bash ، فإن الشيء التالي الذي ستحتاج إلى القيام به هو إنشاء مهمة cron لتشغيل هذه المهمة ، يمكنك القراءة حول كيفية تشغيل مهمة cron.
وضع عادة على وظيفة كرون لرصد هذا النوع سيكون على ما يرام في كل 5 دقائق، ويمكنك اختيار هذا الخيار ولم يضف في قسم وظائف كرون وحة التحكم، وينبغي أن تبحث في نهاية المطاف كما يلي بمجرد الانتهاء من ذلك:
-
*/5 * * * * bash /home/userna1/loadMonيجب عليك الآن إعداد برنامج نصي bash صغير بنجاح لمراقبة متوسط خوادمك ، ومهمة cron لتشغيل نص المراقبة هذا على فاصل زمني محدد لإرسال بريد إلكتروني إليك إذا تجاوز حمل الخادم الحد الذي قمت بتعيينه.