Hướng dẫn sử dụng NRPE của nagios để giám sát một máy linux

30/12/2020

Để 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

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

Firewall [ Phần 1 ] Chuyên sâu về Iptables (command) và Netfilter

Tường lửa là một công cụ quan trọng có thể được cấu hình để bảo vệ máy chủ và cơ sở...
30/12/2020

Hướng dẫn cài đặt Ubuntu 20.04 server

Phiên bản Ubuntu 20.04 đã chính thức ra mắt. Có hai loại thường được sử dụng đó là ubuntu-desktop...
30/12/2020

Hướng dẫn cài đặt Apache Tomcat

Khác với Apache, Apache Tomcat là một phần mềm web server giúp deploy các ứng dụng java web. Bài viết...
30/12/2020