المحتوى عن 'nagios'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • الإدارة والقيادة
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
  • HTML
    • HTML5
  • CSS
  • SQL
  • سي شارب #C
    • منصة Xamarin
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • Sass
    • إطار عمل Bootstrap
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • التسويق بالرسائل النصية القصيرة
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 4 نتائج

  1. Alerta هو تطبيق ويب يُستخدم لتعزيز وإزالة التنبيهات المتكررة من مختلف أنظمة المراقبة ومشاهدة ذلك كله على شاشة واحدة. يمكن أن تدمج Alerta مع العديد من أدوات المراقبة المعروفة مثل Nagios, Zabbix, Sensu, InfluxData Kapacitor وغيرها الكثير. في هذا الدرس سوف نقوم بتثبيت Alerta وإعداده لعرض الإشعارات من Nagios، نظام المراقبة المفتوح المصدر الأكثر شعبية. المتطلبات الأساسية لمتابعة هذا الدرس، سوف تحتاج إلى: خادومين CentOS 7 تم إعدادهما باتباع هذا الدليل الضبط المبدئي لخادوم CentOS 7 ، مع مستخدم sudo غير جذر وجدار الحماية. على الخادوم CentOS الأول، حيث ستشغل Nagios، قم بتثبيت المكونات التالية: Apache و MySQL و PHP, ، باتباع هذا الدليل: كيف تثبت حزم MySQL ،Apache ،Linux :LAMP و PHP Nagios 4، مع متطلباته باتباع هذا الدليل: كيف تستخدم Nagios 4 لمراقبة خواديم Ubuntu 14.04 على الخادوم CentOS الثاني حيث سنقوم بتثبيت Alerta في هذه المقالة ، قم بتثبيت Nginx و MongoDB و Alerta. الخطوة 1 – تثبيت وحدة وسيط الأحداث Nagios-to-Alerta يمكنك توسيع وظائف Nagios مع وحدات وسائط الأحداث الخاصة بــ (Nagios (Nagios Event Broker (NEB). NEB هي آلية دمج أحداث (Event) الخاصة بـ Nagios، ووحدات NEB هي المكتبات المشتركة التي تمكنك من دمج خدمات أخرى مع Nagios. في هذه الخطوة سنقوم بتثبيت بوابة Nagios-to-Alerta ، وهي وحدة NEB التي سوف ترسل إشعارات إلى Alerta. سجل الدخول إلى خادوم Nagios بمستخدم غير جذر: ssh sammy@your_nagios_server_ip بوابة Nagios-to-Alerta لا تحتوي على حزم جاهزة مسبقًا في نظام التشغيل، لذلك سيكون عليك بناؤها من المصدر. للقيام بذلك ستحتاج إلى تثبيت بعض أدوات التطوير والملفات. ستحتاج أيضًا إلى تثبيت Git حتى تتمكن من جلب شفرة المصدر من GitHub. sudo yum install -y git curl gcc make libcurl-devel استخدم Git الآن لاستنساخ الملفات المصدرية من مستودع GitHub للمشروع: git clone https://github.com/alerta/nagios-alerta.git ثم اذهب إلى مجلد nagios-alerts الجديد: cd nagios-alerta ثم جمّع وحدة nagios-alerta باستخدام الأمر make : make nagios4 سترى المخرجات التالية: cd ./src && make nagios4 make[1]: Entering directory `/root/nagios-alerta/src' gcc -fPIC -g -O2 -DHAVE_CONFIG_H -I../include -I../include/nagios4 -lcurl -o alerta-neb.o alerta-neb.c -shared -lcurl make[1]: Leaving directory `/root/nagios-alerta/src' إذا كنت ترى شيئا مختلفا فتأكد من تثبيت كافة المتطلبات الأساسية. الآن.. قم بالبدء في عملية التثبيت: sudo make install سترى هذه المخرجات، وهي تشير إلى أن الوحدة تم تثبيتها في /usr/lib/nagios : cd ./src && make nagios4 make[1]: Entering directory `/root/nagios-alerta/src' gcc -fPIC -g -O2 -DHAVE_CONFIG_H -I../include -I../include/nagios4 -lcurl -o alerta-neb.o alerta-neb.c -shared -lcurl make[1]: Leaving directory `/root/nagios-alerta/src' بعد تثبيت الوحدة يمكننا إعداد Nagios لاستخدام هذه الوحدة. الخطوة 2 – إعداد الوحدة Nagios-to-Alerta لنقم بإعداد Nagios لإرسال رسائل الإشعار إلى Alerta. أولًا، مكّن وحدة الوسيط Alerta المثبتة حديثًا في ملف الإعدادات الرئيسي لــ Nagios. افتح ملف إعدادات Nagios في المحرر: sudo vi /usr/local/nagios/etc/nagios.cfg ثم ابحث عن الجزء الذي يحتوي على توجيهات broker_module : .. # EVENT BROKER MODULE(S) # This directive is used to specify an event broker module that should # by loaded by Nagios at startup. Use multiple directives if you want # to load more than one module. Arguments that should be passed to # the module at startup are separated from the module path by a space. # [...] #broker_module=/somewhere/module1.o #broker_module=/somewhere/module2.o arg1 arg2=3 debug=0 ... لإعداد الوحدة Alerta تحتاج إلى اثنين من المدخلات الإلزامية: URL: العنوان الذي يتم استخدامه للتواصل مع Alerta API. key: مفتاح API ، لقد قمت بإنشائه في الخطوة 4 من البرنامج التعليمي السابق. ستحتاج إليه في المصادقة مع Alerta وإرسال الأحداث. أضف هذا السطر إلى الملف لإعداد دمج Alerta: ... broker_module=/usr/lib/nagios/alerta-neb.o http://your_alerta_server_ip/api key=ALERTA_API_KEY ... هناك بعض المخلات الاختيارية الإضافية التي يمكنك تعيينها أيضا: env: يحدد هذا اسم البيئة. اسم البيئة الافتراضي هو Production. hard_only : تجاوز النتائج في الحالة الصعبة فقط. يمكنك العثور على مزيد من المعلومات حول أنواع حالات Nagios في وثائق Nagios . عين هذا إلى 1 لتمكين هذا الوضع. debug: تمكين وضع معالجة وتصحيح الأخطاء. عيّن هذا إلى 1 لتمكين هذا الوضع. لتحديد كل هذه الخيارات استخدم هذا السطر بدلًا من السابق: ... broker_module=/usr/lib/nagios/alerta-neb.o http://your_alerta_server_ip/api key=ALERTA_API_KEY env=Production hard_only=1 debug=1 ... احفظ الملف وأغلق المحرر. من أجل تعيين التنبيهات حسب البيئة واسم الخدمة ستحتاج إلى إعداد أسماء البيئة والخدمات باستخدام: Nagios Custom Object Variables للقيام بذلك استخدم المتغيرات _Environment و _Service في الإعداد الخاص بك. دعنا نهيئ ذلك الآن. افتح ملف إعدادات كائنات Nagios الافتراضي، ستجده في الدليل /usr/local/nagios/etc/objects/ : sudo vi /usr/local/nagios/etc/objects/localhost.cfg سوف نجعل جميع التنبيهات في هذا المضيف من نوع تنبيهات “Production”، وسنسمي الخدمة الافتراضية بـ “Nagios” . ابحث عن تعريف المضيف التالي: ... define host{ use linux-server ; Name of host template to use ; This host definition will inherit all variables that are defined ; in (or inherited by) the linux-server host template definition. host_name localhost alias localhost address 127.0.0.1 } ... أضف القيم _Environment و _Service إلى الإعدادات: ... host_name localhost alias localhost address 127.0.0.1 _Environment Production _Service Nagios } ... الآن ضع علامة ” System ” على جميع الأحداث المرتبطة بانعدام المساحة أو قلتها في مساحة التخزين المخصصة للنظام. حدد موقع هذا الجزء من الملف الذي يحدد كيفية التحقق من المساحة الفارغة: ... define service{ use local-service ; Name of service template to use host_name localhost service_description Root Partition check_command check_local_disk!20%!10%!/ } ... قم بتعديله لربطه بخدمة System: ... define service{ use local-service ; Name of service template to use host_name localhost service_description Root Partition check_command check_local_disk!20%!10%!/ _Service System } ... احفظ الملف ثم أغلق المحرر. أعد تشغيل Nagios لتطبيق هذه الإعدادات الجديدة: sudo systemctl restart nagios.service تأكد من تشغيل الخدمة عن طريق التحقق من حالتها: systemctl status nagios.service سترى المخرج التالي: ... Jul 01 08:44:31 nagios nagios[8914]: [alerta] Initialising Nagios-Alerta Gateway module, v3.4.1 Jul 01 08:44:31 nagios nagios[8914]: [alerta] debug is off Jul 01 08:44:31 nagios nagios[8914]: [alerta] states=Hard/Soft Jul 01 08:44:31 nagios nagios[8914]: [alerta] Forward service checks, host checks and downtime to http://your_alerta_server_ip/api Jul 01 08:44:31 nagios nagios[8914]: Event broker module '/usr/lib/nagios/alerta-neb.o' initialized successfully. Jul 01 08:44:31 nagios nagios[8914]: Successfully launched command file worker with pid 8920 الآن Nagios سوف يرسل إشعارًا في أقرب وقت عن أيّ نظام أو خدمة وقع فيه مشكل. لنقم بإنشاء حدث اختبار. الخطوة 3 - توليد إشعار اختبار للتحقق من دمج Nagios-Alerta لنقم بتوليد إشعار لاختبار أن كل شيء متصل. افتراضيًا Nagios يحتفظ بمقدار مساحة القرص الحرة على الخادوم الخاص بك. سننشئ ملفًا مؤقتًا كبيرًا بما يكفي لتشغيل تنبيه استخدام نظام الملفات في Nagios. أولًا، حدد مقدار المساحة الحرة لديك على خادوم Nagios. يمكنك استخدام الأمر df لمعرفة ذلك: df –h ستشاهد الناتج مثل ما يلي: Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 3.1G 16G 17% / انظر إلى مقدار المساحة الحرة المتاحة. في هذه الحالة المساحة الحرة هي 16GB. قد تختلف المساحة الحرة لديك. استخدم الأمر fallocate لإنشاء ملف يستهلك أكثر من 80٪ من مساحة القرص المتوفرة والتي يجب أن تكون كافية لتحريك التنبيه: fallocate -l 14G /tmp/temp.img في غضون بضع دقائق سوف يقوم Nagios بتشغيل تنبيه حول مقدار المساحة الحرة على القرص وسوف يرسل إشعارًا إلى Alerta. سترى هذا الإشعار الجديد في لوحة التحكم الخاصة بــ Alerta: الآن بعد أن عرفت أن التنبيهات تعمل، احذف الملف المؤقت الذي قمت بإنشائه حتى تتمكن من استعادة مساحة القرص: rm -f /tmp/temp.img بعد دقيقة واحدة سوف يقوم Nagios بإرسال رسالة الاسترداد. سوف يختفي الإشعار من لوحة التحكم الرئيسية لــ Alerta، ولكن يمكنك عرض جميع الأحداث المغلقة عن طريق اختيار Closed. يمكنك النقر على صف الحدث لعرض مزيد من التفاصيل. الخلاصة في هذا المقال قمت بإعداد Nagios لإرسال إشعارات إلى خادوم آخر يقوم بتشغيل Alerta. Alerta يعطيك مكانًا مناسبًا لتتبع التنبيهات من العديد من الأنظمة. على سبيل المثال، إذا كانت بعض أجزاء البنية الأساسية تستخدم Nagios وأخرى تستخدم Zabbix فيمكنك دمج الإشعارات من كلا النظامين في لوحة واحدة. ترجمة -وبتصرّف- للمقال How To Monitor Nagios Alerts with Alerta on CentOS 7 لصاحبه Vadym Kalsin
  2. المراقبة هي جزء مهم من إدارة الخواديم والخدمات الأساسية؛ تُراقَب معظم الخدمات الشبكية للأداء (performance) أو التوفر (availability) أو كليهما؛ سيَشرح هذا الفصل طريقة تثبيت وضبط Nagios لمراقبة التوفر، و Munin لمراقبة الأداء. سنستخدم في أمثلة هذا الفصل خادومين بأسماء server01 و server02؛ سيُضبَط server01 مع Nagios لمراقبة الخدمات التي عليه وعلى الخادوم server02؛ وسيُضبَط server01 مع Munin لجمع المعلومات من الشبكة، باستخدام حزمة munin-node، وسيُضبَط server02 لكي يُرسِل المعلومات إلى server01. نأمل أن تساعدك هذه الأمثلة البسيطة في مراقبة الخواديم والخدمات الإضافية في شبكتك. Nagiosالتثبيتأولًا، ثبت الحزمة nagios على خادوم server01، وذلك بإدخال الأمر الآتي في الطرفية: sudo apt-get install nagios3 nagios-nrpe-pluginسيُطلَب منك إدخال كلمة مرور لمستخدم nagiosadmin، تصاريح المستخدم مخزنة في ‎/etc/nagios3/htpasswd.users. ولتعديل كلمة مرور nagiosadmin أو إضافة مستخدمين آخرين إلى سكربتات Nagios CGI، فاستخدم htpasswd الذي هو جزء من حزمة apache2-utils. على سبيل المثال، لتغيير كلمة المرور لمستخدم nagiosadmin: sudo htpasswd /etc/nagios3/htpasswd.users nagiosadminلإضافة مستخدم جديد: sudo htpasswd /etc/nagios3/htpasswd.users steveالآن على خادوم server02، ثبِّت الحزمة nagios-nrpe-server؛ بتنفيذ الأمر الآتي على server02: sudo apt-get install nagios-nrpe-serverملاحظة: سيسمح NRPE لك بتنفيذ فحوصات محلية على الأجهزة البعيدة، هنالك طرق أخرى للقيام بذلك عبر إضافات Nagios أخرى. لمحة عن الضبطهنالك عدة مجلدات تحتوي على ضبط Nagios وملفات التحقق (check files). ‎/etc/nagios3: يحتوي على ملفات الضبط لعمل عفريت nagios، وملفات CGI، والمضيفين ...إلخ.‎/etc/nagios-plugins: يحتوي ملفات الضبط للتحقق من الخدمات.‎/etc/nagios: في المضيفين البعيدين، ويحتوي على ملفات ضبط nagios-nrpe-server.‎/usr/lib/nagios/plugins/‎: المكان الذي تخزَّن فيه ملفات التحقق الثنائية، استخدم الخيار ‎-h لمشاهدة المساعدة لتحققٍ ما. مثال: ‎/usr/lib/nagios/plugins/check_dhcp -hهنالك وفرة في التحققات التي يمكن ضبط Nagios ليجريها على أي مضيف؛ سيُضبَط Nagios في هذا المثال للتحقق من مساحة القرص الصلب المتوفرة و DNS و MySQL؛ سيُجرى تحقق DNS على server02 وتحقق MySQL على server01 و server02. هنالك بعض المصطلحات التي عندما تُشرَح ستُسهِّل فهم ضبط Nagios: المضيف (host): خادوم أو محطة عمل (workstation)، أو جهاز شبكي ...إلخ. الذي يُراقَب.مجموعة مضيفين (host group): مجموعة من المضيفين المتشابهين؛ على سبيل المثال، تستطيع أن تُجمِّع كل خواديم الويب أو خواديم الملفات ...إلخ.الخدمة (service): الخدمة التي تُراقَب في المضيف، مثل HTTP أو DNS أو NFS ...إلخ.مجموعة الخدمات (service group): تسمح لك بجمع عدِّة خدمات متشابهة مع بعضها بعضًا، هذا مفيد لتجميع عدّة خدمات HTTP على سبيل المثال.جهة الاتصال (contact): الشخص الذي سيُنبَّه عندما يحدث حدثٌ ما؛ يمكن ضبط Nagios ليرسل بريدًا إلكترونيًا أو رسائل SMS ...إلخ.افتراضيًا، يكون ضبط Nagios ليتحقق من HTTP، والمساحة التخزينية المتوفرة في القرص، و SSH، والمستخدمين الحاليين، والعمليات، والحِمل على localhost؛ سيتحقق Nagios أيضًا من البوابة بعمل ping لها. تثبيتات Nagios الضخمة قد يصبح ضبطها معقدًا جدًا، لذلك من الأفضل عادةً البدء بمضيف واحد أو اثنين ثم التوسع بعد ضبطهما جيدًا. الضبطأولًا، أنشئ ملف ضبط للمضيف للخادوم server02؛ ما لم يُذكر عكس ذلك، فعليك تنفيذ هذه الأوامر على server01؛ أدخِل ما يلي في الطرفية: sudo cp /etc/nagios3/conf.d/localhost_nagios2.cfg \ /etc/nagios3/conf.d/server02.cfgملاحظة: في الأوامر السابقة أو التالية استبدل «server01» و «server02» و 172.18.100.100 و 172.18.100.101 بأسماء المضيفين وعناوين IP لخادومَيك. ثم عدِّل الملف ‎/etc/nagios3/conf.d/server02.cfg: define host{ use generic-host ; Name of host template to use host_name server02 alias Server 02 address 172.18.100.101 } # check DNS service. define service { use generic-service host_name server02 service_description DNS check_command check_dns!172.18.100.101 }أعد تشغيل عفريت nagios لتفعيل الضبط الجديد: sudo service nagios3 restartأضف الآن تعريفًا للتحقق من MySQL بإضافة ما يلي إلى ‎/etc/nagios3/conf.d/‎ services_nagios.cfg: # check MySQL servers. define service { hostgroup_name mysql-servers service_description MySQL check_command check_mysql_cmdlinecred!nagios!secret!$HOSTADDRESS use generic-service notification_interval 0 ; set > 0 if you want to be renotified }يجب الآن تعريف مجموعة المضيفين mysql-servers؛ عدِّل الملف ‎/etc/nagios3/conf.d ‎/hostgroups_nagios2.cfg مضيفًا: # MySQL hostgroup. define hostgroup { hostgroup_name mysql-servers alias MySQL servers members localhost, server02 }يحتاج Nagios لأن يستوثق إلى MySQL، فأضف مستخدم nagios إلى MySQL بإدخال الأمر: mysql -u root -p -e "create user nagios identified by 'secret';"ملاحظة: يجب أن يتواجد المستخدم nagios في كل المضيفين في مجموعة mysql-servers. أعد تشغيل nagios ليبدأ التحقق من خواديم MySQL: sudo service nagios3 restartأخيرًا، اضبط NRPE للتحقق من المساحة الفارغة في القرص على الخادوم server02. أضف التحقق من الخدمة في server01 في ملف ‎/etc/nagios3/conf.d/server02.cfg: # NRPE disk check. define service { use generic-service host_name server02 service_description nrpe-disk check_command check_nrpe_1arg!check_all_disks!172.18.100.101 }الآن على الخادوم server02، عدِّل الملف ‎/etc/nagios/nrpe.cfg مغيّرًا: allowed_hosts=172.18.100.100ثم في منطقة تعريف الأمر أضف ما يلي: command[check_all_disks]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -eفي النهاية، أعد تشغيل nagios-nrpe-server: sudo service nagios-nrpe-server restartوأيضًا على الخادوم server01 أعد تشغيل nagios: sudo service nagios3 restartيجب أن تكون قادرًا على رؤية المضيف والتحقق من الخدمات في ملفات Nagios CGI؛ للوصول إليهم، وجِّه متصفحك إلى http://server01/nagios3؛ ثم ستُسأل عن اسم مستخدم nagiosadmin وكلمة مروره. مصادرلم يشرح هذا القسم من الدرس إلا القليل من ميزات Nagios؛ تحتوي الحزمتين nagios-plugins-extra و nagios-snmp-plugins على المزيد من تحققات الخدمات. للمزيد من المعلومات، راجع موقع Nagios، تحديدًا موقع «التوثيق».هنالك قائمة بالكتب المتعلقة بمراقبة الشبكة و Nagios.صفحة ويكي أوبتتو «Nagios» فيها بعض التفاصيل الإضافية.Muninالتثبيتقبل تثبيت Munin على server01، فيجب أن يُثبَّت قبله apache2؛ الضبط الافتراضي كافٍ لتشغيل خادوم munin. أولًا، ثبت munin على الخادوم server01 بإدخال الأمر: sudo apt-get install muninالآن ثبِّت الحزمة munin-node على الخادوم server02: sudo apt-get install munin-nodeالضبطعدِّل الملف ‎/etc/munin/munin.conf على الخادوم server01 مُضيفًا عنوان IP للخادوم server02: ## First our "normal" host. [server02] address 172.18.100.101ملاحظة: استبدل server02 و 172.18.100.101 باسم المضيف وعنوان IP الحقيقي لخادومك. الآن اضبط munin-node على الخادوم server02، بتعديل ‎/etc/munin/munin-node.conf للسماح بالوصول إلى الخادوم server01: allow ^172\.18\.100\.100$ملاحظة: استبدل ‎^172\.18\.100\.100$ بعنوان IP لخادوم Munin الخاص بك. أعد تشغيل munin-node على server02 لكي تأخذ التعديلات مجراها: sudo service munin-node restartفي النهاية، وجِّه متصفحك إلى http://server01/munin، يجب أن ترى روابط إلى مخططات بيانية جميلة تعرض معلومات من الحزمة القياسية munin-plugins للقرص والشبكة والعمليات والنظام. ملاحظة: لما كان هذا التثبيت حديثًا، فربما ستحتاج لبعض الوقت لعرض معلومات مفيدة. إضافات أخرىتحتوي حزمة munin-plugins-extra على تحققات من أداء خدماتٍ إضافية مثل DNS و DHCP، وسامبا ...إلخ. أدخل الأمر الآتي لتثبيت هذه الحزمة: sudo apt-get install munin-plugins-extraتأكد من تثبيت هذه الحزمة على جهازَيّ الخادوم والعقدة. مصادرراجع موقع Munin لمزيدٍ من التفاصيل.تحديدًا صفحة «توثيق Munin» التي تحتوي على معلومات عن الإضافات الأخرى، وكيفية كتابة إضافات ...إلخ.مصدر آخر هو صفحة ويكي أوبنتو «Munin».ترجمة -وبتصرف- للمقال Ubuntu Server Guide: Monitoring.
  3. يتناول هذا الدرس تثبيت Nagios 4، وهو نظام مراقبة شائع ومفتوح المصدر، على Ubuntu 14.04. يغطي الدرس إعدادات أساسية لتتمكن من مراقبة موارد المضيفات Hosts في واجهة ويب. سنستخدم أيضا المشغل عن بعد لملحقات Nagios (يعرف بـ NRPE وهو اختصار لـNagios Remote Plugin Executor) الذي سيثبت ليكون وكيلا Agent على المضيفات البعيدة من أجل مراقبة مواردها المحلية. يفيد Nagios كثيرا في جرد الخواديم والتأكد من أن الخدمات الحرجة نشطة وتعمل. استخدام نظام للمراقبة، مثل Nagios، جزء مهم من أي بيئة خواديم موجهة للإنتاج. المتطلباتيتطلب اتباع الخطوات المشروحة في هذا الدرس امتلاك امتيازات المستخدم الأعلى (root) على خادوم Ubuntu 14.04 الذي سيشغل Nagios. من المستحسن استخدام حساب عادي بصلاحيات إدارية؛ لمعرفة كيفية إعداده راجع الخطوات من 1 إلى 3 في الدرس التالي: الإعداد الابتدائي لخادوم أوبنتو 14.04. سنحتاج أيضا إلى حزمة برمجيات LAMP. يشرح الدرس التالي كيفية إعدادها: كيف تُثبِّت حِزم MySQL، Apache، Linux :LAMP وPHP على Ubuntu 14.04. نفترض في المقال أن الخواديم توجد في شبكة محلية. أبدل جميع الإحالات إلى العناوين المحلية بعناوين IP عمومية إن كانت الخواديم التي تعدها لا توجد في نفس الشبكة المحلية. نبدأ بالخطوة اﻷولى وهي تثبيت Nagios 4. تثبيت Nagios 4تغطي هذه الفقرة كيفية تثبيت Nagios 4 على خادوم المراقبة. لن تحتاج لإعادة تنفيذ الأوامر المذكورة هنا على خواديم أخرى. إنشاء مستخدم Nagios ومجموعتهيجب أن ننشئ مستخدما ومجموعة تشغِّل عملية Nagios. أنشئ حساب مستخدم باسم nagios ومجموعة مستخدمين باسم nagcmd ثم أضف المستخدم للمجموعة: sudo useradd nagios sudo groupadd nagcmd sudo usermod -a -G nagcmd nagiosتثبيت الارتباطات المطلوبة لبناء Nagios 4 من المصدريحتاج بناء Nagios 4 من المصدر، وهو ما سنفعله في هذا الدرس، إلى تثبيت بعض مكتبات التطوير التي تتيح بناء البرنامج. سنستغل الفرصة أيضا لتثبيت apache2-utils الذي سنستخدمه لإعداد واجهة الويب الخاصة بـNagios. نبدأ بتحديث قائمة الحزم: sudo apt-get updateثم نثبت الحزم المطلوبة: sudo apt-get install build-essential libgd2-xpm-dev openssl libssl-dev xinetd apache2-utils unzipننتقل لتثبيت Nagios. تثبيت Nagios Coreنزل الشفرة المصدرية لآخر إصدار مستقر من Nagios Core. اذهب إلى صفحة تنزيلات Nagios وانقر على الرابط Skip to download (تجاوز إلى التنزيل) الموجود أسفل الاستمارة. انسخ رابط آخر إصدار مستقر لتتمكن من تنزيله على خادوم Nagios. آخر إصدار وقت كتابة المقال هو 4.1.1؛ نزله إلى مجلدك الشخصي على خادوم المراقبة باستخدام curl: cd ~ curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gzاستخرج الملف المضغوط: tar xvf nagios-4.1.1.tar.gzثم انتقل إلى المجلد المستخرج: cd nagios-4.1.1يجب إعداد Nagios قبل بنائه. من أجل إعداد Nagios لاستخدام postfix (الذي يمكن تثبيته بapt-get) أضف with-mail=/usr/sbin/sendmail-- للأمر التالي: ./configure --with-nagios-group=nagios --with-command-group=nagcmd ثم نجمع Nagios بالأمر: make allيمكننا الآن استخدام اﻷوامر التالي لتثبيت Nagios، سكربتات بدء التشغيل وأمثلة لملفات الإعداد: sudo make install sudo make install-commandmode sudo make install-init sudo make install-config sudo /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf تجب إضافة حساب خادوم الويب www-data إلى المجموعة nagcmd لنتمكن من تنفيذ أوامر على Nagios من واجهة الويب: sudo usermod -G nagcmd www-dataتثبيت ملحقات Nagiosتجد آخر الإصدارات من ملحقات Nagios على الرابط التالي: تنزيل ملحقات Nagios. انسخ عنوان رابط آخر إصدار حتى يمكنك تنزيله على خادوم Nagios. آخر إصدار أثناء كتابة هذا المقال هو 2.1.1. نزله إلى مجلدك الشخصي على الخادوم باستخدام curl: cd ~ curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gzاستخر أرشيف ملحقات Nagios بالأمر التالي: tar xvf nagios-plugins-2.1.1.tar.gzثم انتقل إلى المجلد المستخرَج: cd nagios-plugins-2.1.1يجب إعداد ملحقات Nagios قبل بنائها، نستخدم الأمر التالي لهذا الغرض: ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-opensslنبني ملحقات Nagios: makeثم نثبتها بالأمر: sudo make installتثبيت NRPE (المشغل عن بعد لملحقات Nagios)اعثر على الشفرة المصدرية لآخر إصدار مستقر من NRPE على صفحة تنزيلات NRPE. نزل آخر إصدار على خادوم Nagios. آخر إصدار وقت كتابة هذا الدرس هو 2.15. نزله إلى مجلدك الشخصي على خادوم Nagios باستخدام أمر curl: cd ~ curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz استخرج أرشيف NRPE بالأمر التالي: tar xvf nrpe-2.15.tar.gzثم انتقل إلى المجلد المستخرج: cd nrpe-2.15نعدّ NRPE بالأوامر التالية: ./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagios --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnuنأتي الآن لبناء NRPE وتثبيته إضافة لتثبيت سكربت بدء التشغيل xinetd: make all sudo make install sudo make install-xinetd sudo make install-daemon-configافتح سكربت بدء التشغيل xinetd لتحريره: sudo nano /etc/xinetd.d/nrpeغيّر سطر only_from بإضافة عنوان IP المحلي الخاص بخادوم Nagios في آخر السطر، كما في المثال التالي: only_from = 127.0.0.1 10.132.224.168احفظ الملف ثم أغلقه. لن يُسمح، وفقا لهذا الإعداد، لغير خادوم Nagios بالتخاطب مع NRPE. أعد تشغيل خدمة xinetd لبدء تشغيل NRPE: sudo service xinetd restartأكملنا الآن تثبيت Nagios 4، بقي إعداده. إعداد Nagiosسنضبط في هذه الفقرة الإعداد الابتدائي لـNagios. ستحتاج لهذا الضبط مرة واحدة على خادوم Nagios. تنظيم إعدادات Nagiosافتح ملف الإعداد الرئيس لـNagios لتحريره: sudo nano /usr/local/nagios/etc/nagios.cfgابحث عن السطر التالي وأزل علامة التعليق (#): #cfg_dir=/usr/local/nagios/etc/serversاحفظ الملف ثم أغلقه. الخطوة التالية هي إنشاء المجلد الذي سيخزن ملفات إعداد الخواديم التي ستراقبها؛ ملف لكل خادوم: sudo mkdir /usr/local/nagios/etc/serversإعداد جهات الاتصال في Nagiosافتح ملف الإعداد الخاص بجهات اتصال Nagios لتحريره: sudo nano /usr/local/nagios/etc/objects/contacts.cfgاعثر على تعليمة email وأبدل قيمتها لتصبح عنوانك البريدي الخاص: email nagios@localhost ; <<***** أبدل هذا العنوان بعنوانك البريدي ******احفظ الملف ثم أغلقه. إعداد أمر check_nrpeنضيف أمرا جديدا إلى ملف إعداد Nagios، لذا سنفتح لتحريره: sudo nano /usr/local/nagios/etc/objects/commands.cfgأضف الأسطر التالية: define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }احفظ الملف ثم أغلقه. يتيح هذا الإعداد إمكانية استخدام الأمر check_nrpe في تعريف خدمات Nagios. إعداد Apacheفعل وحدتيْ rewrite وcgi في Apache: sudo a2enmod rewrite sudo a2enmod cgiاستخدم أمر htpasswd لإنشاء حساب مدير باسم nagiosadmin يمكنه الوصول إلى واجهة ويب Nagios: sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadminأدخل كلمة سر في المحث وتذكرها إذ ستحتاجها للوصول إلى واجهة ويب Nagios. أنشئ وصلة رمزية Symbolic link لـnagios.conf في مجلد sites-enabled: sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/أصبح Nagios جاهزا للتشغيل. نشغل Nagios ونعيد تشغيل Apache: sudo service nagios start sudo service apache2 restartنفذ الأمر التالي إن أردت تفعيل تشغيل Nagios مع بدء تشغيل الخادوم: sudo ln -s /etc/init.d/nagios /etc/rcS.d/S99nagiosإعداد اختياري: تقييد الوصول بعنوان IPإن أردت قصر عناوين IP التي يمكن منها الوصول إلى واجهة ويب Nagios فينبغي تحرير ملف إعداد Apache: sudo nano /etc/apache2/sites-available/nagios.confاعثر على السطرين التاليين وأضف علامة # أمام كل واحد منهما لتعليقه: Order allow,deny Allow from allثم انزع التعليق عن الأسطر التالية بحذف علامة # وأضف عناوين IP (أو مجالات عناوين) التي تريد السماح لها بالوصول إلى الواجهة إلى سطر Allow from مع الفصل بينها بمسافة: # Order deny,allow # Deny from all # Allow from 127.0.0.1تظهر هذه الأسطر مرتين في ملف الإعداد لذا يجب عليك إعادة الخطوات أعلاه مرتين. احفظ الملف ثم أغلقه. نعيد تشغيل Nagios وApache لاعتماد التغييرات: sudo service nagios restart sudo service apache2 restartيعمل Nagios الآن، فلنحاول الولوج إليه. الوصول إلى واجهة ويب Nagiosأدخل عنوان خادوم Nagios في المتصفح (ضع عنوان IP أو اسم المضيف المناسب مكان nagios_server_public_ip): http://nagios_server_public_ip/nagiosستحتاج لإدخال بيانات الولوج نظرا لأننا استخدمنا htpasswd أثناء إعداد Apache (اسم المستخدم nagiosadmin وكلمة السر التي اخترتها): تظهر الصفحة الرئيسية الافتراضية لـNagios بعد الولوج. انقر على رابط المضيفات في القائمة الجانبية على اليسار لمعرفة المضيفات التي يراقبها Nagios: لا يراقب Nagios سوى مضيف واحد هو المضيف المحلي Localhost. سنعد في ما يلي مضيفا آخر يراقبه Nagios. مراقبة مضيف بـNRPEسنرى في هذه الفقرة كيفية إضافة مضيف جديد إلى Nagios لتمكن بالتالي مراقبته. كرّر خطوات هذه الفقرة لكل خادوم تريد مراقبته. نحدّث قائمة الحزم على الخادوم الذي نريد إضافته إلى Nagios: sudo apt-get updateثم نثبت ملحقات Nagios وNRPE: sudo apt-get install nagios-plugins nagios-nrpe-serverإعداد المضيفات المسموح لها بالوصولنفتح ملف إعداد NRPE: sudo nano /etc/nagios/nrpe.cfgاعثر على تعليمة allowed_hosts وأضف عنوان IP المحلي الخاص بخادوم Nagios إلى التعليمة كما في المثال التالي (انتبه للفاصلة): allowed_hosts=127.0.0.1,10.132.224.168احفظ الملف ثم أغلقه. يضبط الإعداد أعلاه NRPE لقبول الطلبات الواردة من خادوم Nagios عبر عنوانه المحلي. إعداد أوامر NRPE المسموح بهااستخدم الأمر التالي لمعرفة اسم جذر نظام الملفات (واحد من العناصر التي نريد مراقبتها): df -h /سنستخدم اسم نظام الملفات في ملف إعداد NRPE من أجل مراقبة استخدام القرص الصلب. افترح ملف nrpe.cfg لتحريره: sudo nano /etc/nagios/nrpe.cfgيحوي ملف إعداد NRPE الكثير من التعليمات والأسطر، أغلبها معلَّق. توجد أسطر قليلة نحتاج للعثور عليها وتعديلها: server_address: تحدَّد قيمتها بعنوان IP المحلي للمضيف.allowed_hosts: تحدَّد قيمتها بعنوان IP المحلي لخادوم Nagios.[command[check_hda1: أبدل ` باسم نظام الملفات (نتيجة أمر df أعلاه، مثلا dev/vda/`).يجب أن تبدو الأسطر المذكورة على النحو التالي (استخدم القيم المناسبة): server_address=client_private_IP allowed_hosts=nagios_server_private_IP command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/vdaتوجد الكثير من الأوامر الأخرى المعرَّفة في هذا الملف. تعمل هذه الأوامر إذا أُعِدَّ Nagios لاستخدامها. انتبه إلى أن NRPE سينصت على المنفذ Port رقم 5666 لأن التعليمة server_port=5666 مفعَّلة. إن كان يوجد جدار ناري Firewall على خادوم Nagios فتأكد من السماح للاتصالات بالمرور عبر المنفذ 5666. احفظ الملف ثم أغلقه. إعادة تشغيل NRPEأعد تشغيل NRPE لاعتماد التعديلات: sudo service nagios-nrpe-server restartتثبيت NRPE وإعداده على المضيف هو الخطوة الأولى لمراقبته. الخطوة الثانية هي إضافته إلى ملف إعداد Nagios لتبدأ المراقبة فعليا. إدراج المضيف إلى إعداد Nagiosأنشئ ملف إعداد ضمن مسار /usr/local/nagios/etc/servers/ على خادوم Nagios لكل مضيف تريد مراقبته. أبدل yourhost باسم المضيف. sudo nano /usr/local/nagios/etc/servers/yourhost.cfgأضف تعريف المضيف التالي؛ مع إبدال قيمة host_name باسم المضيف البعيد (web-1 في المثال)، قيمة الكنية alias بوصف المضيف، وقيمة العنوان address بعنوان IP المحلي للمضيف البعيد: define host { use linux-server host_name yourhost alias My first Apache server address 10.132.234.52 max_check_attempts 5 check_period 24x7 notification_interval 30 notification_period 24x7 }يأمر الإعداد أعلاه Nagios بمراقبة ما إذا كان المضيف يعمل أم لا، لا غير. احفظ الملف ثم أغلقه وأعد تشغيل Nagios إن كان هذا كافيا بالنسبة لك؛ أما إذا كنت تريد مراقبة خدمات محدَّدة فواصل القراءة. أضف تعريفات الخدمات التي تريد مراقبتها. في ما يلي أمثلة على مراقبة الخدمات؛ انتبه إلى أن قيمة check_command تحدد الخدمة المرادة مراقبتها والقيم التي تحدد حالة الخدمة: فحص الاتصال (أمر ping): define service { use generic-service host_name yourhost service_description PING check_command check_ping!100.0,20%!500.0,60% } خدمة SSH (إعطاء قيمة 0 لتعليمة notifications_enabled في تعريف الخدمة يعطل الإشعارات): define service { use generic-service host_name yourhost service_description SSH check_command check_ssh notifications_enabled 0 } تأخذ التعليمة use generic-service قيم قالب للخدمات معرَّف افتراضيا باسم generic-service. احفظ الملف ثم أغلقه. أعد تحميل إعداد Nagios لاعتماد التعديلات: sudo service nagios reloadتأكد بعد الانتهاء من إعداد جميع المضيفات من الوصول إلى واجهة ويب Nagios وافحص صفحة الخدمات لرؤية كل المضيفات والخدمات المراقبة. خاتمةالخطوة الموالية لإعداد خادوم المراقبة هي تحديد الخدمات الحرجة والأساسية بالنسبة لك لمراقبتها. قد ترغب أيضا في إعداد إشعارات؛ مثلا لتلقي بريد إلكتروني عندما تصل نسبة استخدام القرص الصلب إلى حدّ معيَّن، أو عندما يصبح خادوم موقع الويب خارج الخدمة. تساعد الإشعارات كثيرا في استباق حدوث المشاكل واتخاذ إجراءات للحؤول دونها. ترجمة -وبتصرّف- لمقال How To Install Nagios 4 and Monitor Your Servers on Ubuntu 14.04 لصاحبه Mitchell Anicas.
  4. أكملنا في الأجزاء السابقة من هذه السّلسلة إعداد خواديم التطبيقات، خطط الاسترداد، وآليات النسخ الاحتياطي. سنضبط في هذا الدرس إعداد المراقبة Monitoring لكي نكون على اطّلاع في أية لحظة بحالة عمل الخواديم والخدمات. تتيح برامج المراقبة مثل Nagios، Icinga وZabbix إمكانية إنشاء لوحات قيادة Dashboards وإشعارات تريك عناصر الإعداد التي تحتاج لاهتمام خاص. الهدف هو اكتشاف المشاكل والبدء في إصلاحها قبل أن تؤثر على المستخدمين النهائيين للتطبيق. سنعد في هذا الدرس المراقبة باستخدام Nagios 4 ونثبت عملاء NRPE (إضافة تتيح تنفيذ أوامر Nagios على أجهزة أخرى) على الخواديم التي تكون التطبيق. سنعد المراقبة على كل واحد من الخواديم لمعرفة هل الخادوم نشط وما إذا كانت العملية الرئيسة عليه (على سبيل المثال MySQL، Apache أو HAProxy) تعمل أم لا. لا يشمل هذا الدرس كل جوانب المراقبة، لذا قد تحتاج لإجراء فحوص إضافية لا يتناولها هذا الدّرس؛ إلا أنه يبقى نقطة جيدة للبدء. المتطلباتأنشئ، إن أردت الوصول إلى لوحة المراقبة عبر نطاق خاص مثل monitoring.example.com، سجلا من نوع A يحيل إلى عنوان IP العمومي الخاص بخادوم المراقبة. أو يمكنك بدلا من ذلك الوصول إلى لوحة القيادة في خادوم المراقبة باستخدام عنوانه العمومي. يُنصح بإعداد خادوم المراقبة لاستخدام HTTPS وتقييد الوصول إليه بوضعه في شبكة خاصة افتراضية. تثبيت Nagios على خادوم المراقبةاضبط Nagios على خادوم المراقبة باتباع الدرس التالي: كيف تستخدم Nagios 4 لمراقبة خواديم Ubuntu 14.04. إن رغبت في استخدام Icinga الذي هو اشتقاق من Nagios فدرس كيف تستخدم Icinga لمراقبة خواديمك وخدماتك على Ubuntu 14.04 يشرح الطريقة. توقف عند فقرة مراقبة مستضيف Ubuntu بواسطة عملاء NRPE. إضافة الخواديم إلى Nagiosطبق خطوات فقرة مراقبة مستضيف Ubuntu بواسطة عملاء NRPE من درس Nagios السابق على كل واحد من الخواديم (app2،app1، db1 وlb1). تأكد من إضافة عنوان IP الخادوم أو اسم مستضيفه الخاص إلى allowed_hosts في ملف إعداد NRPE. يجب أن يكون لديك بعد الانتهاء من إضافة المستضيفات ملف منفصل لكل خادوم: app2.cfg،app1.cfg،db1.cfg، وlb1.cfg. يتضمن كل ملف تعريف المستضيف الذي يحيل إلى اسمه وعنوانه (قد يكون العنوان اسم المستضيف أو عنوان IP الخاص بالخادوم). إعداد المستضيف ومراقبة الخدمةنبدأ بإعداد لائحة لما نريد مراقبته على كل خادوم. نراقب، على كل خادوم، الخدمات التالية: Ping.SSH.الحمل الجاري Current Load.المستخدمون الحاليون Current users.المساحة المستخدمة من القرص الصلب Disk Utilization.تعريف الخدمات المشتركةأعددنا Nagios في الدرس المُشار إليه سابقا ليرقُب الملفات الموجودة في المجلد usr/local/nagios/etc/servers/. سننشئ ملف إعداد Nagios للخدمات المشتركة التي نريد مراقبته؛ نسمي الملف common.cfg. افتح أولا ملف الإعداد لتحريره: sudo nano /usr/local/nagios/etc/servers/common.cfgأضف تعريفات الخدمات التالية، مع تحديد قيمة host_name (أسماء المستضيفات الخاصة بالخواديم، عُرِّفت سابقا ضمن ملفات app2.cfg،app1.cfg،db1.cfg، وlb1.cfg): define service { use generic-service host_name db1,app1,app2,lb1 service_description PING check_command check_ping!100.0,20%!500.0,60% } define service { use generic-service host_name db1,app1,app2,lb1 service_description SSH check_command check_ssh notifications_enabled 0 } define service { use generic-service host_name db1,app1,app2,lb1 service_description Current Load check_command check_nrpe!check_load } define service { use generic-service host_name db1,app1,app2,lb1 service_description Current Users check_command check_nrpe!check_users } define service{ use generic-service host_name db1,app1,app2,lb1 service_description Disk Utilization check_command check_nrpe!check_hda1 } احفظ الملف ثم أغلقه. بالإمكان الآن الانتقال لتعريف الخدمات الخاصة بكل خادوم. نبدأ بخادوم قاعدة البيانات. تعريف عملية MySQLإنشاء أمر NRPE (على العميل)سنضبط أمر NRPE جديدا على خادوم قاعدة البيانات، db1. افتح ملف إعداد NRPE جديدا، commands.cfg: sudo nano /etc/nagios/nrpe.d/commands.cfgأضف تعريف الأمر التالي: command[check_mysqld]=/usr/lib/nagios/plugins/check_procs -c 1: -C mysqldاحفظ الملف ثم أغلقه. يتيح الأمر لـNRPE فحص عملية Process باسم mysqld والإبلاغ عن حالة حرجة Critical status إن كان هناك أقل من عملية واحدة نشطة بهذا الاسم. أعد تحميل إعداد NRPE: sudo service nagios-nrpe-server reloadإنشاء تعريف الخدمة (على الخادوم)نحتاج لتعريف خدمة جديدة على خادوم monitoring (خادوم المراقبة) لاستخدام NRPE لتشغيل أمر check_mysqld السابق. افتح الملف الذي يعرف مستضيف قاعدة البيانات، db1.cfg في مثالنا: sudo nano /usr/local/nagios/etc/servers/db1.cfgأضف تعريف الخدمة التالي في آخر الملف (تأكد من أن قيمة host_name تطابق اسم تعريف المستضيف): define service { use generic-service host_name db1 service_description Check MySQL Process check_command check_nrpe!check_mysqld }احفظ الملف ثم أغلقه. يُعد تعريف الخدمة أعلاه Nagios لاستخدام NRPE لتنفيذ أمر check_mysqld على خادوم قاعدة البيانات. تجب إعادة تحميل Nagios لاعتماد التغييرات. إلا أننا سننتقل أولا لمراقبة عملية Apache أولا. تعريف عملية Apacheإنشاء أمر NRPE (على العميل)نضبط أمر NRPE جديدا على كلٍّ من خادومي التطبيق: sudo nano /etc/nagios/nrpe.d/commands.cfgثم نضيف تعريف الأمر التالي: command[check_apache2]=/usr/lib/nagios/plugins/check_procs -c 1: -w 3: -C apache2احفظ الملف ثم أغلقه. يسمح الأمر لNRPE بالتحقق من وجود عملية باسم apache2 والإبلاغ عن حالة حرجة إن لم توجد عملية بهذا الاسم وإصدار تحذير إن وجدت أقل من ثلاث عمليات. نعيد تحميل إعداد NRPE: sudo service nagios-nrpe-server reloadتأكد من تنفيذ الخطوات على جميع خواديم التطبيقات. إنشاء تعريف الخدمة (على الخادوم)نحتاج تعريف خدمة جديدة تستخدم أمر check_apache2 على خادوم المراقبة monitoring. افتح الملف الذي يعرف مستضيف التطبيق (يوجد في حالتنا اثنان: app1 وapp2): sudo nano /usr/local/nagios/etc/servers/app1.cfgأضف تعريف الخدمة التالي في آخر الملف (تأكد من أن قيمة host_name تطابق اسم تعريف المستضيف): define service { use generic-service host_name app1 service_description Check Apache2 Process check_command check_nrpe!check_apache2 }احفظ الملف ثم أغلقه. يعد تعريف الخدمة Nagios لاستخدام NRPE لتنفيذ أمر check_apache2 على خادوم التطبيق. تأكد من تكرار الخطوة على كل واحد من خواديم التطبيقات. تعريف عملية HAProxyإنشاء أمر NRPE (على العميل)نعد أمر NRPE على خادوم توزيع الحمل lb1 بنفس طريقة إعداده في الخواديم السابقة: sudo nano /etc/nagios/nrpe.d/commands.cfgونضيف تعريف الأمر التالي: command[check_haproxy]=/usr/lib/nagios/plugins/check_procs -c 1: -C haproxyاحفظ الملف ثم أغلقه. يعد تعريف الخدمة السابق NRPE للتحقق من عملية باسم haproxy ثم الإبلاغ عن حالة حرجة إن كان عدد العمليات بهذا الاسم أصغر من 1. نعيد تحميل إعداداتت NRPE: sudo service nagios-nrpe-server reloadإنشاء تعريف الخدمة (على الخادوم)نضيف تعريف خدمة جديدا على خادوم monitoring ليستخدم أمر check_haproxy؛ بنفس الطريقة المشروحة سابقا. sudo nano /usr/local/nagios/etc/servers/lb1.cfgنضيف التعريف التالي في نهاية الملف: define service { use generic-service host_name lb1 service_description Check HAProxy Process check_command check_nrpe!check_haproxy }يعد التعريف Nagios لاستخدام NRPE في تنفيذ الأمر check_haproxy على خادوم توزيع الحمل. تجب إعادة تحميل Nagios من أجل اعتماد التعديلات. إعادة تحميل Nagiosنعيد تحميل Nagios عبر تنفيذ الأمر التالي من أجل اعتماد التعديلات السابقة: sudo service nagios reloadإن لم توجد أخطاء في صياغة الأوامر والتعريفات فيُعاد تحميل Nagios دون مشاكل. التحقق من خدمات Nagiosيجب أن نتأكد من أن Nagios يراقب جميع الخواديم والخدمات التي عرفناها. ادخل إلى خادوم Nagios باستخدام اسم المستضيف العمومي أو عنوان IP (مثلا http://monitoring.example.com/nagios؛ أدخِل بيانات الدخول التي أعددتها أثناء تثبيت Nagios. انقر رابط الخدمات Services في القائمة الجانبية؛ يجب أن تظهر لديك صفحة تشبه ما يلي: الوضعية المثالية هي أن تكون كل المستضيفات والخدمات على حالة OK. يمكن أن نرى في لقطة الشاشة السابقة وجود مشكلة في خادوم التطبيق app2؛ ويرجع ذلك إلى أنه كان مطفأ في أغلب فحوص الحالة الأخيرة. إن وجدت خدمات بحالة مغايرة لOK فأصلحها؛ وإن كانت جميع الخدمات بحالة جيدة فراجع إعدادات Nagios بحثا عن أخطاء ربما تكون أدت لإبلاغ غير صحيح عن حالة الخدمات. اعتبارات أخرىقد ترغب في إنشاء خطة استرداد لخادوم المراقبة، ملفات الإعداد الواجب نسخها إن أردت ذلك توجد في المجلد usr/local/nagios/etc/. يمكن أيضا أن تعدّ Nagios لمراقبة خدمات أخرى مثل البريد الإلكتروني. خاتمةيمكّن خادوم المراقبة من الحصول على حالة الخدمات والخواديم بمجرد إلقاء نظرة على لوحة المراقبة. يساعد خادوم المراقبة، عند حدوث مشاكل، في تحديد الخادوم والخدمة التي لا تعمل بطريقة صحيحة وهو ما يعينك في تخفيض زمن توقف Downtime الخاص التطبيق. في الجزء الموالي من الدليل سنعرض لكيفية إعداد سجلات مركزية لتطبيقات الويب في بيئة الإنتاج. ترجمة -وبتصرّف- لمقال Building for Production: Web Applications — Monitoring لصاحبه Mitchell Anicas.