recent
أخبار ساخنة

شرح تثبيت برنامج Nagios لمراقبة (Monitoring) الشبكة على Ubuntu ... بالفيديو

الصفحة الرئيسية
شرح تثبيت برنامج Nagios لمراقبة (Monitoring) الشبكة على Ubuntu


Nagios هو برنامج مفتوح المصدر (open-source) لمراقبة النظام والشبكة.
يمكن لـ Nagios مراقبة نشاط المضيف (host) وخدماته (services) ويوفر تحذيرًا/تنبيهًا إذا حدث شيء على الخادم.
سنشرح هنا خطوة بخطوة تثبيت Nagios 4.4.x على Ubuntu 20.04.
سنقوم بتثبيت Nagios Core 4.4.x .
سنقوم بتثبيت الإضافات nrpe و nagios ثم نضيف host للمراقبة إلى خادم Nagios.

شاهد خطوات تثبيت Nagios على الخادم وعلى الأجهزة بالفبديو

الجزء الأول


الجزء الثاني






المتطلبات الأساسية

2 خوادم Ubuntu 20.04
خادم Nagios - اسم المضيف: nagios20 بعنوان IP: 172.16.0.5
عميل Ubuntu - اسم المضيف: client01 مع IP: 172.16.0.6
صلاحيات المستخدم Root.

 تثبيت تبعيات الحزم (Packages Dependencies)

أولاً ، سنقوم بتحديث مستودع Ubuntu وتثبيت بعض تبعيات الحزم لتثبيت Nagios.

قم بتحديث مستودع Ubuntu :
sudo apt update

بعد ذلك ، قم بتثبيت تبعيات الحزم لتثبيت Nagios.

sudo apt install -y autoconf bc gawk dc build-essential gcc libc6 make wget unzip apache2 php libapache2-mod-php libgd-dev libmcrypt-dev make libssl-dev snmp libnet-snmp-perl gettext


تثبيت Nagios Core 4.4.6
سنقوم بتثبيت أحدث إصدار مستقر من Nagios Core 4.4.6.
سنقوم بتثبيته يدويًا من المصدر.

- تنزيل Nagios Core 4.4.6

انتقل إلى امجلد الرئيسي الخاص بك وقم بتنزيل Nagios Core source code.

cd ~/
wget https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.6.tar.gz

قم بفك ضغط  حزمة Nagios وانتقل إلى المجلد Nagios المستخرج.


tar -xf nagios-4.4.6.tar.gz
cd nagioscore-*/


تجميع (compile) وتثبيت Nagios

أولاً ، قم بتجميع Nagios source code وتحديد Apache virtual host لـ Nagios.

sudo ./configure --with-httpd-conf=/etc/apache2/sites-enabled
sudo make all



أنشئ مستخدم ومجموعة لـ Nagios  وأضف مستخدم Apache www-data إلى مجموعة nagios.

sudo make install-groups-users
sudo usermod -a -G nagios www-data



قم بتثبيت Nagios  وخدمة daemon script ووضع الأوامر (command mode).

sudo make install
sudo make install-daemoninit
sudo make install-commandmode

بعد ذلك  قم بتثبيت sample script configuration.

sudo make install-config

ثم قم بتثبيت إعدادات Apache لـ Nagios وتفعيل mod_rewrite و mode_cgi.

sudo make install-webconf
sudo a2enmod rewrite cgi

أعد تشغيل خدمة Apache الآن.

systemctl restart apache2



 إنشاء مستخدم nagiosadmin


بعد تثبيت Nagios Core  سنضيف المصادقة الأساسية (basic authentication) للوصول إلى لوحة المعلومات (Nagios dashboard). وسنستخدم مصادقة Apache الأساسية.

قم بإنشاء مصادقة أساسية جديدة من Apache للمستخدم nagiosadmin.


sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

ادخل كلمة مرور قوية.



إعداد جدار حماية UFW

لتكوين جدار الحماية ستحتاج إلى إضافة خدمة Apache ومنفذ خادم Nagios إلى جدار حماية UFW.

أضف منفذ SSH و Apache HTTP باستخدام الأمر ufw


for svc in Apache ssh
do
ufw allow $svc
done

بعد ذلك ، ابدأ خدمة جدار الحماية UFW وأضفها إلى boot النظام.

ufw enable


اكتب  y وسيتم تنشيط خدمة جدار الحماية UFW.

تحقق الآن من جميع القواعد المتاحة.

ufw status numbered

ستحصل الآن على كل خدمات SSH و Apache المضافة إلى جدار حماية UFW.



تثبيت Nagios Plugins و NRPE Plugin

بعد تثبيت Nagios Core سنقوم بتثبيت Nagios Plugins و NRPE Plugins.

تتوفر كل من إضافات Nagios و NRPE افتراضيًا في مستودع Ubuntu.
يمكنك تثبيت هذه الحزم باستخدام الأمر apt.

sudo apt install monitoring-plugins nagios-nrpe-plugin

بمجرد اكتمال التثبيت  انتقل إلى مجلد التثبيت/ usr / local / nagios / etc  وأنشئ مجلداً جديدًا لتخزين جميع إعدادات مضيفي الخادم.

cd /usr/local/nagios/etc
mkdir -p /usr/local/nagios/etc/servers

بعد ذلك ، قم بتتعديل Nagios 'nagios.cfg' باستخدام محرر vim.

vim nagios.cfg

قم بإلغاء التعليق على خيار cfg_dir الذي سيتم استخدامه لإرسال كافة إعدادات الخادم.

cfg_dir=/usr/local/nagios/etc/servers

احفظ وأغلق.

بعد ذلك ، قم بتعديل ملف Resource.cfg وحدد المسار لملفات Nagios Monitoring Plugins.



vim resource.cfg

حدد مسار ملحقات Nagios Monitoring Plugins عن طريق تغيير الإعدادات الافتراضية:

$USER1$=/usr/lib/nagios/plugins

احفظ وأغلق.

أضف جهات اتصال البريد الإلكتروني عن طريق تعديل الملف object / contacts.cfg.


vim objects/contacts.cfg

ادخل عنوان البريد الإلكتروني الخاص بك.

define contact{
        ......
        email             email@host.com
}

احفظ وأغلق.

الآن عرف الأمر nrpe check عن طريق تعديل الملف object / commands.cfg.

vim objects/commands.cfg

أضف التالي إلى نهاية السطر.

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}


احفظ وأغلق.

ابدأ خدمة Nagios وأضفها إلى boot النظام.

systemctl start nagios
systemctl enable nagios



تحقق  من أن خدمة Nagios قيد التشغيل.

systemctl status nagios

ستحصل على النتيجة التالية



أصبحت خدمة Nagios قيد التشغيل.
نحتاج الآن إلى إعادة تشغيل خدمة Apache لتطبيق إعدادات Nagios الجديدة.

systemctl restart apache2


افتح متصفح الويب واكتب عنوان IP للخادم متبعًا مسار عنوان URL الخاص بـ nagios.

http://172.16.0.5/nagios/

قم بتسجيل الدخول باستخدام المستخدم nagiosadmin واكتب كلمة المرور الخاصة بك.




وستحصل على شاشة Nagios Dashboard.





أضف مضيف Linux للمراقبة

سنضيف خادم Ubuntu باسم المضيف client01 وعنوان IP "172.16.0.6" إلى خادم Nagios.

تثبيت خادم NRPE على خادم Client01

قم بتسجيل الدخول إلى خادم client01 باستخدام ssh الخاص بك.

ssh root@172.16.0.6


بمجرد تسجيل الدخول  قم بتحديث مستودع Ubuntu وتثبيت Nagios Plugins و NRPE Server.

sudo apt update
sudo apt install nagios-nrpe-server monitoring-plugins

انتقل إلى مجلد تثبيت NRPE وهو  / etc / nagios وقم بتتعديل الملف nrpe.cfg.

cd /etc/nagios/
vim nrpe.cfg

قم بإلغاء التعليق على سطر server_address وقم بتغيير القيمة باستخدام عنوان  الـ IP الخاص بـ  client01.

server_address=172.16.0.6

في سطر allowed_hosts أضف عنوان IP لخادم Nagios وهو  172.16.0.5.

allowed_hosts=127.0.0.1,::1,172.16.0.5

احفظ وأغلق.

قم بتعديل  nrpe_local.cfg.

vim nrpe_local.cfg

قم بتغيير عنوان الـ IP بعنوان IP الـ client01، والصق الاعدادات فيه.

command[check_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_ping]=/usr/lib/nagios/plugins/check_ping -H 172.16.0.6 -w 100.0,20% -c 500.0,60% -p 5
command[check_ssh]=/usr/lib/nagios/plugins/check_ssh -4 172.16.0.6
command[check_http]=/usr/lib/nagios/plugins/check_http -I 172.16.0.6
command[check_apt]=/usr/lib/nagios/plugins/check_apt

احفظ وأغلق.

أعد تشغيل خدمة NRPE الآن وأضفها إلى boot النظام.

systemctl restart nagios-nrpe-server
systemctl enable nagios-nrpe-server

خادم Nagios NRPE قيد التشغيل.



تحقق من خدمة NRPE

systemctl status nagios-nrpe-server

خدمة NRPE قيد التشغيل.



ارجع إلى خادم Nagios وتحقق من خادم NRPE في client01.

/usr/lib/nagios/plugins/check_nrpe -H 172.16.0.6
/usr/lib/nagios/plugins/check_nrpe -H 172.16.0.6 -c check_ping

ستحصل على النتيجة التالية




إضافة إعدادات المضيفين (Hosts) إلى خادم Nagios

ارجع إلى خادم Nagios
 انتقل إلى المجلد / usr / local / nagios / etc وأنشئ ملف إعداد جديدserver / client01.cfg.

cd /usr/local/nagios/etc
vim servers/client01.cfg

قم بتغيير عنوان IP واسم المضيف باسمك والصق الاعدادات فيه.

# Ubuntu Host configuration file1

define host {
        use                          linux-server
        host_name                    client01
        alias                        Ubuntu Host
        address                      172.16.0.6
        register                     1
}

define service {
      host_name                       client01
      service_description             PING
      check_command                   check_nrpe!check_ping
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       client01
      service_description             Check Users
      check_command                   check_nrpe!check_users
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       client01
      service_description             Check SSH
      check_command                   check_nrpe!check_ssh
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       client01
      service_description             Check Root / Disk
      check_command                   check_nrpe!check_root
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       client01
      service_description             Check APT Update
      check_command                   check_nrpe!check_apt
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       client01
      service_description             Check HTTP
      check_command                   check_nrpe!check_http
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

احفظ وأغلق.

أعد تشغيل خادم Nagios.

systemctl restart nagios





اختبار الإعدادات

عد إلى متصفحك وانتظر بضع دقائق.

انقر فوق قائمة  Hosts وستحصل على client01 الذي قد تمت إضافته.


فيما يلي تفاصيل مراقبة الخادم client01.



google-playkhamsatmostaqltradent