ادارة السيرفرات

تركيب واستخدام NRPE على الناجيوس

خلال هذا المقال سوف نتعرف على NRPE وكيفية تركيبها لمراقبة وضع السيرفرات وادائها من خلال ناجيوس nagios وسوف نتعرف على كيفية ضبطها. وفي النهاية سوف نستطيع مراقبة عشرات ان لم تكن مئات السيرفرات من خلال نافذة واحدة وبسهولة ودون الحاجة لاستخدام العديد من البرمجيات.

ما هي NRPE؟

NRPE هي اضافة خاصة بالناجيوس nagios تسمح للناجيوس الحصول على المعلومات المطلوبة من السيرفر الذي ننوي مراقبته ، حيث يتم تركيب nrpe على السيرفر البعيد الذي نود مراقبته وبعدها يمكن ل nrpe تزويد الناجيوس الموجود على سيرفر اخر  بحالة السيرفر الحالي وبهذا يمكن للناجيوس اخذ فكرة كاملة عن حالة السيرفر وعندها يمكن لنا باستخدام الناجيوس و nrpe مراقبة حالة مئات السيرفرات من خلال نافذة واحدة.

من المعروف ان تركيب واستخدام الناجيوس سوف يعطينا القدرة على مراقبة بعض الامور الاساسية عن السيرفرات ونقاط التوزيع التي نود مراقبتها مثلا كمراقبة حالة الاتصال بالانترنت عن طريق ping  او مراقبة حالة الاباتشي مثلا (البورت 80) على السيرفرات. وكذلك مراقبة بعض الامور الاخرى التي يمكن الوصول لها عن طريق الانترنت وتكون متاحه للعموم.

ولكن واثناء استخدام الناجيوس قد تسال نفسك مثلا ماذا لو كنت اريد مراقبة حالة اللود (cpu load) على سيرفراتي من خلال الناجيوس؟ او ماذا لو كنت اريد مراقبة حالة الماي اس كيو ال (mysql) على سيرفراتي؟.

للاجابة على هذا السؤال وللقيام بذلك يجب عليك استخدام احد الادوات التي يوفرها الناجيوس حتى تستطيع الاتصال بالسيرفر ومعرفة المعلومات التي ترغب بها كون تلك المعلومات غير متاحه على الانترنت ، فلا يمكن لاي احد معرفة حالة اللود (الحمل) على السيرفر الا من له حق الوصول الى السيرفر وهذا الامر غير متوفر للعموم. بالتالي فاننا سوف نحتاج لاداة معينة يتم تركيبها على السيرفرات التي نود مراقبتها بحيث تقوم هذه الاداة بتزويد الناجيوس بالبيانات والقراءات عن حالة السيرفر والخدمات التي تعمل عليه حتى يستطيع سيرفر الناجيوس تحليل تلك البيانات واخبارنا باي طارئ قد يحدث عبر الوسائل التي يتحيها.

ومن احد تلك الادوات التي تمكننا من مراقبة حالة السيرفر والخدمات المحلية التي تعمل عليه من خلال الناجيوس هي اداة NRPE لهذا سوف نتعرف من خلال هذا المقال كيف يتم تركيب NRPE وكيف يتم ضبطها وتوليف اعدادتها بحيث تسمح لنا بمراقبة السيرفرات التي لدينا.

مقطع يوضح كيفية عمل NRPEتعمل nrpe كخدمة (service) على السيرفر بحيث يستطيع الناقيوس الاتصال بها وطلب تقرير بحالة بعض الخدمات التي تعمل على السيرفر وتقوم الـ nrpe بالرد على طلب التاجيوس وتزويده بالتقرير المطلوب في حال توفره وفي حال كان الطلب مصرحا به. ويعرض بادناه صورة تشرح كيفية عمل الـ nrpe بشكل مباشر مع الناجيوس، حيث يظهر في الصورة ان سيرفر الناجيوس يقوم بالاتصال بـ nrpe عن طريق قناة اتصال امنة SSL وطلب الحصول على حالة الخدمات مثلا check_disk وتقوم الـ nrpe بقراءة حالة الخدمة عن طريق برمجيات داخليه وتمريرها للنجايوس من خلال نفس القناة.

وللعلم انا افترض ان لديك سيرفر ناجيوس يعمل حاليا في الوضع الطبيعي.

ماذا سوف نحتاج؟

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

اولا: لديك سيرفر ناجيوس اصدار 2 او اعلى يعمل حاليا على احد السيرفرات ولديك صلاحية للوصول على شل السيرفر (سطر الاوامر SSH) باستخدام المستخدم root.
ثانيا: لديك سيرفر واحد او اكثر تود مراقبته عن طريق الناجيوس ولديك صلاحية الوصول الى شل السيرفر (سطر الاوامر SSH) باستخدام المستخدم root ولديك الادوت للقيام بذلك.

البدء بالتركيب

حتى نقوم بتركيب NRPE بداية يجب علينا الدخول الى شل السيرفر الذي نود مراقبته عن طريق احد برمجيات الشلSSH clientsputtyاو غيرها.
وفي بداية الامر عند الدخول يجب علينا ان نقوم بانشاء يوزر (اسم مستخدم) خاص بالناجيوس عن طريق الامر التالي
تعمل nrpe كخدمة (service) على السيرفر بحيث يستطيع الناقيوس الاتصال بها وطلب تقرير بحالة بعض الخدمات التي تعمل على السيرفر وتقوم الـ nrpe بالرد على طلب التاجيوس وتزويده بالتقرير المطلوب في حال توفره وفي حال كان الطلب مصرحا به. ويعرض بادناه صورة تشرح كيفية عمل الـ nrpe بشكل مباشر مع الناجيوس، حيث يظهر في الصورة ان سيرفر الناجيوس يقوم بالاتصال بـ nrpe عن طريق قناة اتصال امنة SSL وطلب الحصول على حالة الخدمات مثلا check_disk وتقوم الـ nrpe بقراءة حالة الخدمة عن طريق برمجيات داخليه وتمريرها للنجايوس من خلال نفس القناة.

وللعلم انا افترض ان لديك سيرفر ناجيوس يعمل حاليا في الوضع الطبيعي.

/usr/sbin/useradd nagios

وبعدها يجب علينا ان نقوم بانشاء كلمة مرور خاصة بالمستخدم الذي قمنا على انشاءه من خلال تنفيذ الامر التالي: (نفذ الامر وادخل اي كلمة مرور طويلة وصعبه واضغط انتر وكررها مرة ثانية ولا داعي لتذكر كلمة المرور كوننا لن نحتاجها مطلقا)

passwd nagios

وبعدها سوف نقوم بتركيب الدوال الاساسية للناجيوس على السيرفر الذي نود مراقبة وذلك من خلال تنفيذ الاوامر التالية: (كل امر في سطر منفصل)

cd /usr/local/src
wget http://superb-sea2.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz
tar xzf nagios-plugins-1.4.15.tar.gz
cd nagios-plugins-1.4.10

./configure
make
make install

وبعد ذلك انا ارغب باستخدام ال NRPE عن طريق xinetd لانني افضل ذلك ولهذا سوف اتاكد من انها موجودة وسوف اقوم على تركيبها وذلك من خلال تنفيذ الامر التالي:

yum install xinetd

الخطوة الثانية:
والان سوف ابدا بتركيب برمجية الـ nrpe على السيرفر الذي اود مراقبته وذلك من خلال تنفيذ الاوامر التالية: (بحيث يتم تنفيذ كل امر بسطر جديد)


cd /usr/local/src
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
tar xzf nrpe-2.13.tar.gz
cd nrpe-2.10
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd

الخطوة التالية هي ان نقوم بتعريف الـ npre كخدمة من ضمن اعدادات الـ xinetd لهذا نفذ الامر التالي:

nano /etc/services

وتحرك الى اخر الملف وضع السطر التالي بداخله ومن ثم قم على حفظ الملف

nrpe 5666/tcp # NRPE

والان يجب علينا ان نقوم باعادة تشغيل xinetd حتى يتم اخذ التغيرات التي احدثناها على الملف وذلك من خلال تنفيذ الامر التالي

service xinetd restart

او من خلال الامر التالي (في حال لم يعمل الامر السابق)

 /etc/init.d/xinetd restart

والان يجب علينا التاكد من ان nrpe تعمل بالفعل كخدمة حاليا وذلك بتنفيذ الامر التالي

netstat -at | grep nrpe

وفي حال كانت تعمل بالفعل سوف تظهر لنا العبارة التالية عند تنفيذ الامر السابق

tcp 0 0 *:nrpe *:* LISTEN

و هذا يدل على نجاحنا في التركيب ، اما في حال عدم ظهور العبارة او ظهورها بصورة اخرى قد يكون نتيجة خلل في التركيب.
والان وللتاكد من نجاح التركيب وان ال nrpe تعمل بنجاح حاليا ويمكن لها قراءة حالة السيرفر سوف اقوم على تنفيذ الامر التالي

/usr/local/nagios/libexec/check_nrpe -H localhost

حيث يقوم هذا الامر بالتاكد من ان nrpe تعمل على اسم الخادم المعطى وهو localhost وبالتالي اذا نجحت العملية فانه يفترض ان يظهر لك كمخرجات كالتالي:

NRPE v2.10

وهو يشير الى اصدار ال nrpe التي تعمل حاليا ، علما بان رقم الاصدار قد يختلف باختلاف اصدار ال nrpe التي تم تركيبها ولكن ظهور رقم الاصدار يعني ان الاداة تعمل بنجاح وان عملنا لغاية هذه المرحلة كان سليما.

الان يجب علينا التاكد من ان الفيرول (firewall) او الجدار الناري على السيرفر سوف يسمح للعالم الخارجي بالاتصال بال nrpe وللعلم فان ال nrpe بالوضع الطبيعي الذي شرحته هنا سوف تستخدم المنفذ(البورت) 5666 لهذا يجب علينا التاكد من ان الجدار الناري يسمح باتصال العالم الخارجي بالمنفذ 5666.
اذا كنت تستخدم apf مثلا يمكنك القيام بالامور التالية لضمان عدم حظر المنفذ 5666
حرر الملف /etc/apf/conf.apf عن طريق الامر

nano /etc/apf/conf.apf

ابحث عن العبارة IG_TCP_CPORTS واضف الرقم 5666 ضمن ارقام المنافذ الموجود داخل اشارتي ” ”
ومن ثم قم على حفظ الملف وقم على عمل اعادة تشغيل لـ apf عن طريق الامرين التاليين

/etc/apf/apf -f
/etc/apf/apf -s

اما اذا كنت تستخدم جدار ناري اخر فجيب عليك التاكد من انه لا يوجد هناك حظر للمنفذ 5666 او يمكنك تنفيذ الامر التالي لجعل ال iptales في السيرفر تسمح بذلك

iptables -I RH-Firewall-1-INPUT -p tcp -m tcp –dport 5666 -j ACCEPT
service iptables save
/etc/init.d/iptables save
/etc/init.d/iptables restart

لا داعي للقلق حيال السماح بالاتصال بالمنفذ 5666 من قبل العالم الخارجي فسوف نقوم الان بضبط الاذونات ومن هم الذين يسمح لهم باستخدام المنفذ 5666 واجراء الاستعلام. ولاجراء ذلك نفذ الامر التالي:

nano /etc/xinetd.d/nrpe

وابحث عن العبارة only_from والتي سوف تجدها على الاغلب كالتالي

only_from = 127.0.0.1

وقم بتعديل الرقم 127.0.0.1 الى رقم الاي بي الاساسي الخاص بسيرفر الناجيوس وهو السيرفر الذي سوف يقوم بعملية المراقبة. وللعلم في حال كان لديك اكثر من سيرفر ناجيوس يقوم بالمراقبة فانه يمكن لك ادخال ارقام الاي بي الخاصة بالسيرفرات مع فصلهم بالفاصلة التالي مثلا 10.0.0.1,10.0.0.2 … وهكذا. وفي حال كان لديك سيرفر ناقيوس واحد قم على ادخال رقم الاي بي الخاص به ومن ثم حفظ الملف ومن ثم عمل اعادة تشغيل لـ xinetd عن طريق الامر التالي:

/etc/init.d/xinetd restart

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

/usr/local/nagios/libexec/check_nrpe -H 10.X.X.X

بحيث نقوم بستبدال الرقم 10.X.X.X برقم اي بي السيرفر الذي نود مراقبته والذي قمنا قبل قليل على تركيب nrpe عليه.

ومن المفترض عند تنفيذ الامر السابق ان تظهر النتيجة كالتالي

NRPE v2.10

وهو يشير الى اصدار ال nrpe التي تعمل حاليا على السيرفر الذي نود مراقبته، علما بان رقم الاصدار قد يختلف باختلاف اصدار ال nrpe التي تم تركيبها ولكن ظهور رقم الاصدار يعني ان الاداة تعمل بنجاح وان عملنا لغاية هذه المرحلة كان سليما.

في حال ظهور السطر التالي بدلا من رقم اصدار ال nrpe فانه يعني ان ال nrpe لم يتم تركيها على سيرفر الناجيوس

-bash: /usr/local/nagios/libexec/check_nrpe: No such file or directory

ولهذا يجب تركيبها وذلك من خلال اتباع مراجعة تركيب ال NRPE على سيرفر الناجيوس نفسه في الشرح ادناه في البند “ماذا بعد؟”

الان وحتى هذه اللحظة نكون قد قمنا بنجاح على تركيب اداة nrpe على السيرفر الذي نود مراقبته ويمكن لنا اجراء هذه الخطوات على اي سيرفر اخر نود مراقبته ، مثلا لو اردنا مراقبة 20 سيرفر اننا نقوم باجراء هذه الاوامر السابقة على ال الـ 20 سيرفر.

ماذا بعد؟

بعد ان قمنا على تركيب NRPE على السيرفر الذي نود مراقبته فانه يتوجب عليها تركيب ال NRPE على سيرفر الناجيوس نفسه في حال لم تكن موجودة وذلك يتم من خلال التالي.

بداية نقوم بتسجيل الدخول الى شل السيرفر SSH عن طريق المستخدم الجذر root ومن ثم تنفيذ الاوامر التالية:

cd /usr/local/src
wget http://iweb.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.13/nrpe-2.13.tar.gz
tar xzf nrpe-2.13.tar.gz
cd nrpe-2.13
./configure
make all
make install-plugin

والان يمكننا تجربة الاتصال باحد السيرفرات التي نود مراقبتها عن طريق الامر التالي

/usr/local/nagios/libexec/check_nrpe -H 10.0.0.1

مع مراعاة استبدال الرقم 10.0.0.1 برقم اي بي السيرفر الذي نود مراقبته والذي تم تركيب nrpe عليه بوقت سابق.

والان نكون قد نجحنا في تركيب ال nrpe على كلا السيرفرين (سيرفر الناجيوس الاساسي والذي سوف يقوم بمراقبة السيرفرات ، والسيرفر او السيرفرات التي سوف يتم مراقبتها). وتبقى علينا الان ضبط وتوليف ال nrpe وتعديل اعدادات الناجيوس بحيث استغلال الخدمات التي تتيحها nrpe في خدمتنا.
ولمعرفة طريقة ذلك ترقبوا مقال اخر منفصل يشرح ضبط وتوليف اعدادات الناجيوس و NRPE قريبا باذن الله وسوف اضع رابطه في نفس هذا الموضوع للمتابعة. ويمكنك الاشتراك في تحديثات الموقع وسوف تردك اية تحديثات على بريدك الاليكتروني فور صدورها.

مشاكل قد تحدث

قد يظهر الخطا CHECK_NRPE: Error – Could not complete SSL handshake عند عملية الفحص من السيرفر وهذا يعود في اغلب الاحيان الى انك لم تسمح للسيرفر بمراقبة هذا الهوست. حيث يجب ان يحتوي الملف /etc/xinetd.d/nrpe على عبارة allow_from وبعدها رقم اي بي السيرفر الذي يقوم بعملية المراقبة.

قد تظهر احيانا مشكلة Connection refused or timed out عند مراقبة الهوست وهذا يعود في اغلب الاحيان الى ان الجدار الناري (الفيرول) على الجهاز الهوست يقوم بمنع السيرفر من الاتصال مع منفذ ال NRPE وهو في الغالب 5666 في حال لم يتم تعديل المنفذ.

 مراجع

– ملف الدكيومنت الخاص بـ NRPE نسخة بي دي اف PDF.
– صفحة NRPE على ويكيبيديا.

http://iweb.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.13/nrpe-2.13.tar.gz

مطور تطبيقات انترنت واداري سيرفرات لينكس.

أضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *