كيف تستخدم Nagios 4 لمراقبة خواديم Ubuntu 14.04


محمد أحمد العيل

يتناول هذا الدرس تثبيت Nagios 4، وهو نظام مراقبة شائع ومفتوح المصدر، على Ubuntu 14.04. يغطي الدرس إعدادات أساسية لتتمكن من مراقبة موارد المضيفات Hosts في واجهة ويب. سنستخدم أيضا المشغل عن بعد لملحقات Nagios (يعرف بـ NRPE وهو اختصار لـNagios Remote Plugin Executor) الذي سيثبت ليكون وكيلا Agent على المضيفات البعيدة من أجل مراقبة مواردها المحلية.

nagios-ubuntu.thumb.png.d30c3ea37f591f96

يفيد 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 وكلمة السر التي اخترتها):

01_htpasswd_prompt.thumb.png.014e0168e64

تظهر الصفحة الرئيسية الافتراضية لـNagios بعد الولوج. انقر على رابط المضيفات في القائمة الجانبية على اليسار لمعرفة المضيفات التي يراقبها Nagios:

02_hosts_link.thumb.png.63068e79e52ea26c

لا يراقب 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 وافحص صفحة الخدمات لرؤية كل المضيفات والخدمات المراقبة.

03_services.thumb.png.b7afedc06ac6f734d1

خاتمة

الخطوة الموالية لإعداد خادوم المراقبة هي تحديد الخدمات الحرجة والأساسية بالنسبة لك لمراقبتها. قد ترغب أيضا في إعداد إشعارات؛ مثلا لتلقي بريد إلكتروني عندما تصل نسبة استخدام القرص الصلب إلى حدّ معيَّن، أو عندما يصبح خادوم موقع الويب خارج الخدمة. تساعد الإشعارات كثيرا في استباق حدوث المشاكل واتخاذ إجراءات للحؤول دونها.

ترجمة -وبتصرّف- لمقال How To Install Nagios 4 and Monitor Your Servers on Ubuntu 14.04 لصاحبه Mitchell Anicas.





تفاعل الأعضاء


لا توجد أيّة تعليقات بعد



يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن