دروس Nagios - المراقبة المستمرة باستخدام Nagios



دروس Nagios: يراقب Nagios البنية التحتية الكاملة لتكنولوجيا المعلومات لديك للتأكد من أن الأنظمة والتطبيقات والخدمات والعمليات التجارية تعمل بشكل صحيح.

دروس Nagios:

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

  1. لماذا نحتاج إلى مراقبة مستمرة؟
  2. ما هي المراقبة المستمرة؟
  3. ما هو Nagios؟
  4. كيفية تثبيت Nagios؟
  5. كيفية إضافة خادم بعيد باستخدام NRPE (Nagios Remote Plugin Executor).

لنبدأ هذا البرنامج التعليمي لـ Nagios ، من خلال فهم سبب حاجتنا إلى المراقبة المستمرة لأن كل شيء موجود لسبب ما. لذا ، دعونا نحاول معرفة هذا السبب.





لماذا نحتاج إلى مراقبة مستمرة؟

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

الأسباب المهمة لاستخدام أداة المراقبة هي:



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

نعم ، يقوم بالكثير من العمل الرائع ، لكن ما هو؟

ما هي المراقبة المستمرة؟

دعني أخبرك أولاً أين تكمن المراقبة المستمرة في دورة حياة DevOps ، ضع في اعتبارك الرسم التخطيطي أدناه:

DevOps Life-Cyce - دروس Nagios - Edureka



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

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

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

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

اسمحوا لي أن أشرح هذا مع حالة الاستخدام.ضع في اعتبارك الرسم البياني أدناه:

الآن ، دعني أشرح لك الرسم البياني أعلاه:

  1. لدينا العديد من أدوات الأمان ، مثل Firewall و IDS و End Point Protection وما إلى ذلك ، وهي متصلة بنظام 'معلومات الأمان وإدارة الأحداث'.
  2. من أجل تحقيق المراقبة المستمرة ، نحتاج إلى أن تتحدث جميع الأجزاء مع بعضها البعض ، دعني أوضح ذلك لك.
  3. لذلك لدينا أدوات أمان وسلسلة من 'نقاط النهاية' ، يمكن أن يشمل ذلك العميل والخوادم وأجهزة التوجيه والمفاتيح والأجهزة المحمولة وما إلى ذلك.
  4. يمكن لهاتين المجموعتين بعد ذلك التحدث إلى نظام المعلومات الأمنية وإدارة الأحداث (SIEM) ، من خلال لغة مشتركة وبطريقة أكثر آلية.
  5. يوجد عنصران مهمان متصلان بـ SIEM هذا ، الأول هو مستودع البيانات. الآن إلى مستودع البيانات هذا ، سنقوم بربط 'التحليلات' و 'الاستخبارات الأمنية'.
  6. الاستخبارات الأمنية (SI) هي المعلومات ذات الصلة بحماية المؤسسة من التهديدات الخارجية والداخلية بالإضافة إلى العمليات والسياسات والأدوات المصممة لجمع تلك المعلومات وتحليلها.
  7. يرتبط SIEM أيضًا بـ 'نظام إدارة المخاطر والامتثال' ، فهو يوفر أساسًا لوحة القيادة.
  8. إلى 'نظام إدارة المخاطر والامتثال' ، نرفق قاعدة بيانات المخاطر. هذا يعطينا 'ذكاء عملي'.
  9. الذكاء العملي ليس سوى معلومات يمكن التصرف بناءً عليها ، مع ما يعني ضمناً أن هذه الأفعال ينبغي يتم أخذه.

لذلك ، نحن هنا نراقب الأحداث على أساس مستمر ونحدد مستوى الخطر الذي نواجهه. بهذا ، يمكننا ربط الأحداث في SIEM. يمكننا إجراء اكتشاف سلوك الشبكة والشذوذ في 'محرك التحليلات'. هذا ما تدور حوله المراقبة المستمرة:

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

'إذا لم تتمكن من قياسه ، فلا يمكنك إدارته'. أتمنى أن تعرف ما أتحدث عنه.

بعد ذلك في هذا البرنامج التعليمي لـ Nagios ، سأقدم لك واحدة من أشهر أدوات المراقبة 'Nagios'.

ما هو Nagios؟

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

دعني أشرح لك كيف يعمل Nagios.ضع في اعتبارك الرسم البياني أدناه:

Nagios يعمل على خادم ، عادة ما يكون خفيًا أو خدمة.

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

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

دعونا نناقش الآن أنها الهندسة المعمارية.

عمارة Nagios:

  • Nagios مبني على معمارية خادم / وكلاء.
  • عادة ، على الشبكة ، يعمل خادم Nagios على مضيف ، وتتفاعل المكونات الإضافية مع المضيفين المحليين وجميع المضيفين البعيدين الذين يحتاجون إلى المراقبة.
  • سترسل هذه المكونات الإضافية معلومات إلى المجدول ، الذي يعرض ذلك في واجهة المستخدم الرسومية.

أريد أيضًا أن أشرح لك NRPE (Nagios Remote Plugin Executor).

تم تصميم الملحق NRPE للسماح لك بتنفيذ ملحقات Nagios على أجهزة Linux / Unix البعيدة. السبب الرئيسي للقيام بذلك هو السماح لـ Nagios بمراقبة الموارد 'المحلية' (مثل تحميل وحدة المعالجة المركزية واستخدام الذاكرة وما إلى ذلك) على الأجهزة البعيدة. نظرًا لأن هذه الموارد العامة لا تتعرض عادةً للأجهزة الخارجية ، فيجب تثبيت وكيل مثل NRPE على أجهزة Linux / Unix البعيدة.

ضع في اعتبارك الرسم البياني أدناه:

  • المكون الإضافي check_nrpe موجود على جهاز المراقبة المحلي.
  • يعمل برنامج NRPE الخفي على جهاز Linux / Unix البعيد.
  • يوجد اتصال SSL (طبقة مآخذ توصيل آمنة) بين مضيف المراقبة والمضيف البعيد كما هو موضح في الرسم البياني أعلاه.

الآن في هذا البرنامج التعليمي لـ Nagios ، حان الوقت للبعض تشابك الايدى .

لنبدأ بتثبيت Nagios Core

تثبيت Nagios Core:

يمكن تلخيص العملية الكاملة لتثبيت Nagios في أربع خطوات:

  1. تثبيت الحزم المطلوبة في خادم المراقبة
  2. تثبيت Nagios Core و Nagios Plugins و NRPE (Nagios Remote Plugin Executor)
  3. قم بتعيين كلمة مرور Nagios للوصول إلى واجهة الويب
  4. قم بتثبيت NRPE في العميل

الخطوة - 1: تثبيت الحزم المطلوبة على خادم المراقبة:

قم بزيارة الموقع: http://dl.fedoraproject.org/pub/epel/6/

انقر فوق i386 ، ومن ثم سيتم إعادة توجيهك إلى صفحة.

نظرًا لأنني أستخدم CentOS 6 ، فسوف أنقر بزر الماوس الأيمن وأنسخ موقع الرابط epel-release-6-8.noarch.rpm '، كما هو موضح في لقطة الشاشة أعلاه.

افتح الجهاز واستخدمه دورة في الدقيقة -Uvh الأمر والصق الرابط.

نحتاج إلى تنزيل مستودع آخر ، لذلك قم بزيارة موقع الويب http://rpms.famillecollet.com/enterprise/ '

انقر بزر الماوس الأيمن وانسخ موقع الارتباط لـ إطلاق سراح ريمي 6.rpm '

افتح الجهاز واستخدمه مرة أخرى دورة في الدقيقة -Uvh الأمر والصق الرابط.

حسنًا ، لقد انتهينا من المتطلبات المسبقة. دعنا ننتقل إلى الخطوة التالية.

الخطوة - 2: تثبيت Nagios Core و Nagios Plugins و NRPE (Nagios Remote Plugin Executor):

نفّذ الأمر التالي في الجهاز:

yum -y تثبيت nagios nagios-plugins-all nagios-plugins-nrpe nrpe httpd php

سيؤدي هذا إلى تثبيت Nagios و Nagios Plugins و Plugins for NRPE و NRPE و Apache و PHP

خادم الويب Apache مطلوب لمراقبة حالة خادم الويب الحالية.

يستخدم Php لمعالجة المحتوى الديناميكي لتاريخ الموقع.

بعد ذلك ، نحتاج إلى تمكين خدمة Apache و Nagios:

chkconfig httpd على && chkconfig nagios on

خطوتنا التالية هي بدء تشغيل Nagios و Apache:

بدء خدمة httpd && خدمة ناجيوس

الآن ، سأقوم بتمكين ذاكرة مبادلة لا تقل عن 1 جيجابايت. حان الوقت لإنشاء ملف swap نفسه باستخدام الأمر dd:

dd if = / dev / zero of = / swap bs = 1024 count = 2097152

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

الآن بعد أن أنشأت قسم المبادلة ، استخدم الأمر mkswap لإعداد قسم المبادلة. سيقوم هذا بإعداد ملف المبادلة عن طريق إنشاء منطقة مبادلة لينكس.

mkswap / مبادلة

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

تشون الجذر. / swap chmod 0600 / swap

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

سوابون / مبادلة

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

إعدادات echo / swap swap الافتراضية 0 0 >> / etc / fstab

يمكن لنواة نظام التشغيل ضبط عدد المرات التي تعتمد فيها على المبادلة من خلال معلمة التكوين المعروفة باسم المبادلة .

للعثور على إعدادات المبادلة الحالية ، اكتب:

cat / proc / sys / vm / swappiness

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

تعني قيمة المبادلة 0 أن التشغيل سيعتمد فقط على المبادلة عندما يحتاج إلى ذلك تمامًا. يمكننا ضبط المبادلة باستخدام الأمر sysctl. لجعل VPS الخاص بك يطبق هذا الإعداد تلقائيًا في كل مرة يتم فيها التمهيد ، يمكنك إضافة الإعداد إلى /etc/sysctl.confملف:

echo vm.swappiness = 0 >> /etc/sysctl.conf && sysctl -p

أخيرًا ، انتهينا من الخطوة الثانية.

دعنا نمضي قدمًا وقم بتعيين كلمة مرور Nagios للوصول إلى واجهة الويب.

الخطوة 3: تعيين كلمة مرور Nagios للوصول إلى واجهة الويب:

قم بتعيين كلمة المرور للوصول إلى واجهة الويب ، استخدم الأمر أدناه:

htpasswd -c / etc / nagios / passwd nagiosadmin

اكتب كلمة المرور وأكدها بإعادة كتابتها.

الآن ، افتح المتصفح. هنا ، اكتب عنوان IP العام أو اسم المضيف / nagios. خذ بعين الاعتبار المثال أدناه:

هنا ، أعط اسم المستخدم وكلمة المرور. بشكل افتراضي ، اسم المستخدم هو ناجيسادمين وكلمة المرور هي ما قمت بتعيينه في الخطوة السابقة. أخيرًا ، اضغط على 'موافق'.

بعد ذلك ، سيتم توجيهك إلى لوحة معلومات Nagios Core.

يمكنك النقر فوق المضيفين والاطلاع على ما يقوم جميع المضيفين بمراقبة Nagios Core حاليًا.

يمكنك ملاحظة أنه يراقب مضيفًا واحدًا فقط ، أي المضيف المحلي. إذا أردت أن يقوم Nagios Core بمراقبة مضيف بعيد ، فأنا بحاجة إلى تثبيت NRPE في هذا المضيف البعيد. يقودنا هذا إلى الخطوة التالية ، تثبيت NRPE في العميل / الجهاز الذي تريد Nagios مراقبته.

الخطوة - 4: تثبيت NRPE في العميل:

حسنًا ، دعنا نثبت NRPE في جهاز العميل.

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

الآن قم بتثبيت Nagios و Nagios Plugins و NRPE في العميل:

yum -y قم بتثبيت nagios nagios-plugins-all nrpe

بمجرد تثبيته ، قم بتمكين خدمة NRPE:

chkconfig nrpe على


خطوتنا التالية هي تعديل nrpe.cfg ملف. سأستخدم ملف نحن محرر ، يمكنك اختيار أي محرر آخر أيضًا:

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

هنا ، عنوان IP الخاص بخادم المراقبة الخاص بي هو 192.168.56.101.

الآن ، نحتاج إلى إعداد قواعد جدار الحماية للسماح بالاتصال بين خادم المراقبة والعميل.

iptables -N NRPE

- يستخدم الخيار لإلحاق القاعدة الجديدة بنهاية السلسلة. إذا كنت تريد وضعها في مكان آخر في السلسلة ، يمكنك استخدام الخيار -I الذي يسمح لك بتحديد موضع القاعدة الجديدة.

يقبل الأمر أدناه طلبات tcp على المنافذ 5666.

iptables -I INPUT -s 0/0 -p tcp --dport 5666 -j NRPE iptables -I NRPE -s 192.168.56.101 -j ACCEPT iptables -A NRPE -s 0/0 -j DROP

سيؤدي هذا بشكل أساسي إلى تكوين iptables لقبول الحزم من مضيف معين ، في حالتي - 192.168.56.101 ، وإسقاط الحزم من مضيفين آخرين.

الآن ، سأحفظ هذه التكوينات:

/etc/init.d/iptables حفظ

ابدأ خدمة NRPE الآن.

بدء خدمة nrpe

عد الآن إلى خادم المراقبة.

هنا ، أحتاج إلى تعديل ملف nagios.cfg.

vi /etc/nagios/nagios.cfg

Uncomment الخط - cfg_dir = etc / nagios / server

اصنع دليل 'الخادم' ، لهذا الاستخدام مكدير أمر.

mkdir / etc / nagios / سيرفرات /

قم بتغيير دليل العمل الخاص بك إلى الخوادم.

cd / etc / nagios / server

قم بإنشاء ملف جديد في هذا الدليل بامتداد .cfg وقم بتحريره. سأطلق عليه اسم client.cfg ، وسأستخدمه نحن محرر.

vi /etc/nagios/servers/client.cfg

أضف هنا الأسطر التالية:

لديه مقابل هو جافا

يتضمن هذا بشكل أساسي نوع الخدمات التي أريد مراقبتها. أعط اسم مضيف الجهاز وعنوان IP الخاص به الذي تريد أن يراقبه Nagios.

وبالمثل ، يمكنك إضافة عدد من الخدمات التي تريد مراقبتها. يمكن استخدام نفس التكوينات لإضافة عدد 'n' من العملاء.

الخطوة الأخيرة يا شباب ، قم بتعيين أذونات المجلد بشكل صحيح وأعد تشغيل Nagios.

chown -R ناجيوس. / etc / nagios /

الآن ، أعد تشغيل Nagios

إعادة تشغيل خدمة ناجيوس

افتح المتصفح واكتب مرة أخرى ملف اسم المضيف أو عنوان IP العام / nagios /. في حالتي هو localhost / nagios /.

انقر فوق المضيفين لرؤية جميع الأجهزة التي يراقبها Nagios حاليًا.

يمكنك هنا ملاحظة أنه يراقب حاليًا جهاز العميل (اسم مضيف الجهاز الذي أريد أن يراقبه Nagios). في الأساس ، أضفنا مضيفًا بعيدًا باستخدام NRPE.

آمل أن تكون قد استمتعت بقراءة هذا البرنامج التعليمي من Nagios ، وسأخرج بمزيد من المدونات على Nagios قريبًا.

إذا وجدت برنامج Nagios التعليمي ذا صلة ، فراجع ملف من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. تساعد الدورة التدريبية لشهادة Edureka DevOps المتعلمين على اكتساب الخبرة في عمليات وأدوات DevOps المختلفة مثل Puppet و Jenkins و Nagios و Ansible و Chef و Saltstack و GIT لأتمتة خطوات متعددة في SDLC.

حصلت على السؤال بالنسبة لي؟ يرجى ذكر ذلك في قسم التعليقات وسأعاود الاتصال بك.