How to Nagios server on CentOS 5.4

#~ تعريف

Nagios!! هو من أشهر برامج مراقبة الشبكاة و الأنظمة و تطبيقاتها, فهو يراقب الأجهزة الشبكة و خدماتها على حدِ سواء و يكتب التقارير بشكل احترافي و سهل التحليل و الاستنتاج ليسهل على مراقب الشبكة تحليل تلك البيانات و اتخاذ القرارات المناسبة في أسرع وقت ممكن.

الخواص

  • مراقبة خدمات الشبكة مثل (SMTP, POP3, HTTP, NNTP, PINT, any TCP/UDP PKT’s)
  • مراقبة حالة أجهزة الشبكة, مثل (استهلاك المعالج, استهلاك المساحات التخزينية, البيانات الخارجة و الداخلة) سهولة وضع و تطوير الإضافات للبرنامج بما يناسب مدير الشبكة و مطور الإضافات نفسها
  • مراقبة و تحيليل جميع النتائج بشكل على التوازي
  • القدرة على تحديد حالة الشبكة و الأجهزة و التفرق بين تلك الأجهزة المغلق أو الغير قادر على الوصول إليها وسائل إبلاغ و تنبيه متعددة عند حدوث أي أخطاء أو أخطارعن طريق البريد أو الصفحات أو أي طريقة يحددها المستخدم
  • تسجيل الأحداث تلقائيا
  • العمل بشكل شجري امكانية استخدام واجهة رسومية عن طريق المتصفح

أعتقد أننا استطعنا أن نستشف أنه يعمل كــ HostBase IDS!!

لنبدأ


#~ التنصيب/التثبيت

Apache server
يجب أن نثبت أولا الأباتشي لكي نستطيع أن نعرض نتائج البرنامج عن طريق المتصفح

yum -y install httpd imake binutils cpp postgresql-devel openssl openssl-devel pkg-config  libgd2 libgd2-devel libgd-progs libpng libpng-devel libjpeg libjpeg-devel perl perl-devel perl-Net-SNMP

Nagios server

yum -y install nagios nagios-plugins.i386 nagios-devel.i386 nagios-plugins-nrpe nagios-plugins-ssh.i386 nagios-plugins-by_ssh.i386  nagios-plugins-swap.i386 nagios-plugins-tcp.i386 nagios-plugins-udp.i386 nagios-plugins-ups.i386 nagios-plugins-users.i386 nagios-plugins-disk.i386 nagios-plugins-sensors.i386 nagios-plugins-dns.i386  nagios-plugins-nwstat.i386 nagios-plugins-users.i386 nagios-plugins-log.i386 nagios-plugins-http.i386 nagios-plugins-ping.i386 nagios-plugins-procs.i386 nagios-plugins-nagios.i386 nagios-plugins-icmp.i386 nagios-plugins-ifstatus.i386 nagios-plugins-mysql.i386 nagios-plugins-ifoperstatus.i386 nagios-plugins-dhcp.i386 0:1.4.13-11.el5

طبعا ما سبق هو تثبيت البرنامج مع بعض الإضافات ,, تستطيع أن تعرض جميع الإضافات اللتي في مستودعاتك عن طريق

yum list nagios*

#~ الإعدادات

إعدادات خادم الويب
بالنسبة لي,, فأنا أريد أمتلك في شبكتي نطاق داخلي,, ولهذا إريد أن أعمل نطاق فرعي للـ Nagios server

vim /etc/httpd/conf/httpd.conf

و أضف التالي في نهاية الملف

#—————–
#–> Virtual Hosts
#—————–

NameVirtualHost 10.0.0.1:80
ServerAdmin root@king.gov
ServerName nagios.king.gov
Include /etc/httpd/conf.d/nagios.conf

طبعا يجب تعديل العناوين و النطاقات بما يناسبك و بالطبع لو كنت تملك DNS server فيجب أن تضيف Zone جديدة أما أنا أملك dnsmaq فلذلك لن أضيف إلى على مستوى الأجهزة

إعدادات خادم الـ Nagios

vm /etc/httpd/conf.d/nagios.conf  /etc/httpd/conf.d/nagios.conf.orig
vim /etc/httpd/conf.d/nagios.conf

و أضف التالي,, ثم قم بحفظ الملف

ScriptAlias /nagios/cgi-bin “/var/www/cgi-bin”

# SSLRequireSSL
Options ExecCGI
AllowOverride Authconfig
# SSLRequireSSL
Options FollowSymLinks
AllowOverride Authconfig

الأن سننسخ ملفات البرنامج إلى ملجد خادم الويب الافتراضي

cp -a /usr/share/nagios /var/www/html/
cp -a /usr/lib/nagios/cgi/* /var/www/cgi-bin/

لنتأكد من أن ملفاتنا تم إعدادها بشكل صحيح
للـ Web Server
httpd -t
للـ Nagios Server

nagios -v /etc/nagios/nagios.cfg

إعداد ملف الـ CGI لـ Nagios Server
في البداية نضيف مستخدم للنظام و نجعله في مجموعة الـ Nagios

useradd monitor
passwd monitor
usermod -G nagios monitor

عادادات الـ CGI

vim /etc/nagios/cgi.cfg

افتراضيا ستجد الاعدادات بهذا الشكل,, طبعا سنعدلها و نغير المستخدم الافتراضي إلى المستخدم الجديد اللذي أضفناه آنفا

use_authentication=1

authorized_for_system_information=nagiosadmin

authorized_for_configuration_information=nagiosadmin

authorized_for_system_commands=nagiosadmin

authorized_for_all_services=nagiosadmin
authorized_for_all_hosts=nagiosadmin

authorized_for_all_service_commands=nagiosadmin
authorized_for_all_host_commands=nagiosadmin

بالنسبة لي أصبح شكل الملف هكذا ..

use_authentication=1

authorized_for_system_information=monitor

authorized_for_configuration_information=monitor

authorized_for_system_commands=monitor

authorized_for_all_services=monitor
authorized_for_all_hosts=monitor

authorized_for_all_service_commands=monitor
authorized_for_all_host_commands=monitor

فرض كلمة مرور و اسم المستخدم عند الدخول إلى صفحة الـ Nagios (اختياري + مستحسن)

vim /var/www/html/nagios/.htaccess

و نضع التالي و نحفظ الملف

AuthName “Nagios Access”
AuthType Basic
AuthUserFile /etc/nagios/.htpasswd
Require User monitor

الأن نحدد كلمة المرور

htpasswd -c /etc/nagios/.htpasswd monitor

monitor هو اسم المستخدم الذي أضفناه آنفا

#~ إعداد الـ SELinux

إذا كنت مفعل الـ SELinux فيجب أن تخبره بهذه الخادم الجديد لكي يضع له بوليصة

chcon -R httpd_sys_content_t /var/nagios

#~ تشغيل الخدمات

chkconfig httpd on
service httpd restart
chkconfig nagios on
service nagios start

كما ذكرت بالنسبة للـ DNS فسأضيف هذا المخادم مع النطاق في ملف الـ /etc/hosts هكذا >> 10.0.0.1 nagios.king.gov بعد آخر سطر في الملف

هناك عدة إعدادات اجتهادية,, لكني حاولت بقدر الإمكان أن يكون شرحي قريب جدا مما يحدث في البيئة الحقيقية وليس مجرد تنصيب و تشغيل

9 آراء على “How to Nagios server on CentOS 5.4

  1. الله يخليلنا اياك يا صبري على الشروحات الرائعة

  2. حياك الله أخوي ,, و تسلم على تشجيعك,, و نسأل الله الإخلاص

     

    تحياتي و احترامي

  3. فعلا شرح اكثر من رائع اخوي صبري الله يوفقك يا طيب
    قمت بتركيبه على السيرفر vps خاصتي قبل مده
    للاسف كان استهلاك الرام فيه عالي فقمت بحذفه كانت تجربه رائع
    تسلم ايدك يا طيب

  4. حياك الله و مرحبا أخوي

    يكفي أنك جربتها بشكل كامل ,,,
    بالنسبه للـ VPS بصراحة تحملها ضعيف جدا .. صحيح هي تنقذ و تحفظ الكثير من المال ,, لكن مع تضخم الموقع تصل أنها غير مجدية نهائيا

    مرى أخرى مرحبا بك دائما

    تحياتي و احترامي

  5. السلام عليكم و رحمة الله
    شكرا يا صبري على الشرح المميز
    اخبرني الناجيوس ممكن تنصيبه على سيرفر خاص بالمراقبة او سيرفرين؟ يعني كprimary & slave
    يعني اذا توقف السيرفر مراقبة 1 يشتغل السيرفر 2 و يكونوا ماشيين مع بعض
    و هل هو بيدينا مراقبة الخدمات و اذا توقفت احداها يدينا الحق في عمل ريستار لها؟ او حتى عمل ريستار للسيرفر كله بدون الدخول الى لوحة الداتا سنتر؟؟
    كذلك هل يعطينا تقارير كاملة و بيانات رسومية عن السيرفرات مين اللي بيعمل ضغط كبير و مين اللي عنده خدمة معينة بتتوقف كثيير
    هل يمكنننا مراقبة العديد من السيرفرات من سيرفري المراقبة فوق مثلا سيرفرات VPS & Dedicated بدون ادنى مشكلة؟
     
    آسف طولت 🙂 بس لما ترد جايبلك اسئلة تانية خخخ

  6. الناجيوس ممكن تنصيبه على سيرفر خاص بالمراقبة او سيرفرين؟ يعني كprimary & slave

    بصراحة لم أجربها لكن لا أجد فيها شئ صعب و أعتقد أنك تستطيع بطريقة أو بأخرى ,, قد تكون طريقة عمل طلبك شئ يدوي أو آلي هذا يعتمد على البرنامج لكن استخدم برنامج مساعد معه مثلا Opsview

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

    لا يقوم بهذا بهو برنامج مراقبة وليس برنامج إدارة

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

    هو برنامج مراقبة و كلمة مراقبة تعني في الوقت الحقيقي ولا يوجد فيه تحليل قوي للأحداث تستطيع أن تستخدم الـ Splunk  معه ليقوم بكل ما ذكرت

    هل يمكنننا مراقبة العديد من السيرفرات من سيرفري المراقبة فوق مثلا سيرفرات VPS & Dedicated بدون ادنى مشكلة؟

    نعم بالطبع يمكن  فهو مصنوع لهذا

     

    تأكد أنني تحت أمرك في أي وقت

  7. بارك الله فيك حبيبي صبري
     
    طيب الناجيوس سمعت انه ممكن ربطه برسائل SMS يعني لما تتوقف اي خدمة من خدمات السيرفرات التي يتم مراقبتها يرسل رسالة قصيرة لهاتف الاداري ، هل فعلا هذه الخدمة؟ و هل هي مجانية ام مدفوعة؟ و ما هي الشرركات التي يدعمها او هل يدعم Clickatel
     
    بانتظارك و هل ما تزال تدخل الماسنجر؟ ياليت تكتبه

  8. و إياك ياخوي ,,

    http://www.sms-integration.com/p_110-nagios-sms.html

    في العمل أستخدم طريقة شبيهة جدا بالموجود في الرابط أعلاه

     

    أما خدمة الـ Clicktell  لم أجربها بنفسي خاصة أن خدماتهم مدفوعة ولكن نعم يوجد طريقة و لكني لم أجد الرابطhttp://king-sabri.net/wp-content/plugins/wp-monalisa/icons/wpml_cool.gif

     

    بالنسبه للماسنحير الإيميل نفسه ولكن لا أدخل كثير بسبب الانشغال الشديد هذه الفتره

     

    تحياتي و احترمي

    أما

  9. بارك الله فيك اخوي صبري
     
    راح اجرب الرابط اللي اعطتني و راح ارد عليك بحول الله بعد ما ابحث عن اكثر من طريقة و اجربها فعليا
     
    انا سمعت عن Opsview هل هو مناسب للناجسيو؟ و هل يفوق قدرات الناجيوس؟

اترك تعليقاً

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