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.