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