Để có thể giám sát một máy chủ từ xa với nagios, Ta có thể sử dụng nhiều loại plugins khác nhau, Ở đây tôi giới thiệu với các bạn về một plugins thường được sử dụng là NRPE.
Để thực hiện được bài này cần phải cài đặt một nagios server trước đó để có thể giám sát một máy bằng nagios server đó. Nếu bạn chưa biết cách tạo một nagios server thì có thể tham khảo Tại Đây
Mô hình và kịch bản
Kịch bản : Cài đặt nagios lên một máy được gọi là nagios server. Cài đặt và sử dụng NRPE để có thể giám sát được máy linux từ xa được gọi là remote linux
Hostname | IP | CPU | RAM | DISK |
serve | 192.168.80.221 | 1 core | 1G | 20G |
client | 192.168.80.225 | 1 core | 1G | 20G |
Thực hiện
Trên remote linux
1. Cài đặt các gói phụ kiện cần thiết
yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel
2. Tạo user để NRPE dùng nó để xử lý tiến trình
useradd nagios passwd nagios
3. Download file plugins
yum install wget -y wget https://www.nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz
4. Giải nén và cài đặt plugins
tar -xvf nagios-plugins-2.1.2.tar.gz cd nagios-plugins-2.1.2 ./configure make make install
5. Sau đó thêm user vào group và cấp quyền sử dụng tập lưu NRPE cho user nagios và group nagios
usermod -a -G nagios nagios chown nagios.nagios /usr/local/nagios chown -R nagios.nagios /usr/local/nagios/libexec
6. Cài đặt xinetd
yum install xinetd -y
7. Download và cài đặt NRPE
cd wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz tar xzf nrpe-3.2.1.tar.gz cd nrpe-3.2.1 ./configure make all make install make install-plugin make install-config make install-init make install-inetd
8. Sửa file /usr/local/nagios/etc/nrpe.cfg để có thể nghe thấy nagios server
allowed_hosts=127.0.0.1,(nagios server IP )
Ví dụ : allowed_hosts=127.0.0.1,192.168.80.221
9. Sửa file /etc/services sử dụng port 5666 cho NRPE. Thêm dòng dưới đây
nrpe 5666/tcp #NRPE
10. Chạy các dịch vụ
service xinetd restart systemctl start nrpe systemctl enable nrpe
11. Kiểm tra xem đã cài đặt và sử dụng được NRPE chưa
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 NRPE v3.2.1
Trên Nagios Server
1.Download NRPE
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz
2. Giải nén file vừa download
tar xzf nrpe-3.2.1.tar.gz
3. Cài đặt lệnh NRPE
cd nrpe-3.2.1 ./configure make check_nrpe make install-plugin
4. Kiểm tra xem đã sử dụng được NRPE chưa
/usr/local/nagios/libexec/check_nrpe -H <remote_linux_ip_address>
Thêm một host vào để nagios server giám sát
1.Thêm vào file /usr/local/nagios/etc/nagios.cfg
. Khai báo file chứa thông tin của host cần giám sát
cfg_file=/usr/local/nagios/etc/hosts.cfg cfg_file=/usr/local/nagios/etc/services.cfg
2. Khai báo lệnh NRPE vào file vi /usr/local/nagios/etc/objects/commands.cfg
############################################################################### # NRPE CHECK COMMAND # # Command to use NRPE to check remote host systems ############################################################################### define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }
3. Thêm thông tin của host vào file /usr/local/nagios/etc/hosts.cfg
define host{ name linux-box use generic-host check_period 24x7 check_interval 5 retry_interval 1 max_check_attempts 10 check_command check-host-alive notification_period 24x7 notification_interval 30 notification_options d,r contact_groups admins register 0 } define host{ use linux-box host_name client alias CentOS 7 address 192.168.80.225 }
4. Thêm thông tin của service vào file /usr/local/nagios/etc/services.cfg
define service{ name service-test use generic-service check_period 24x7 check_interval 3 retry_interval 1 max_check_attempts 3 notifications_enabled 1 contact_groups admins active_checks_enabled 1 passive_checks_enabled 1 register 0 notification_interval 5 notification_options r,c,w } define service{ use service-test host_name client service_description CPU Load1 check_command check_nrpe!check_load } define service{ use generic-service host_name client service_description disk load1 check_command check_nrpe!check_hda1 contact_groups admins }
5. Kiểm tra cấu hình xem đúng hay sai kết quả giống hiện ra ở dưới sẽ là đúng và không có lỗi xảy ra
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios Core 4.1.1 Copyright (c) 2009-present Nagios Core Development Team and Community Contributors Copyright (c) 1999-2009 Ethan Galstad Last Modified: 08-19-2015 License: GPL Website: https://www.nagios.org Reading configuration data... Read main config file okay... Read object config files okay... Running pre-flight check on configuration data... Checking objects... Checked 10 services. Checked 2 hosts. Checked 1 host groups. Checked 0 service groups. Checked 1 contacts. Checked 1 contact groups. Checked 25 commands. Checked 5 time periods. Checked 0 host escalations. Checked 0 service escalations. Checking for circular paths... Checked 2 hosts Checked 0 service dependencies Checked 0 host dependencies Checked 5 timeperiods Checking global event handlers... Checking obsessive compulsive processor commands... Checking misc settings... Total Warnings: 0 Total Errors: 0
6. Khởi động lại dịch vụ nagios
service nagios restart
Đã có thể giám sát host và service. Vậy khi chúng gặp sự cố thì làm sao chúng ta có thể biết được. Ở bài hướng dẫn cảnh báo qua mail tôi sẽ hướng các bạn dẫn cài đặt cảnh báo