المراقبة هي جزء مهم من إدارة الخواديم والخدمات الأساسية؛ تُراقَب معظم الخدمات الشبكية للأداء (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.
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.