Cách thêm máy chủ Linux vào máy chủ giám sát Nagios bằng plugin NRPE

Trước tiên cần đảm bảo bạn đã cài đặt và chạy Nagios đúng cách. Sau khi cài đặt xong Nagios, bạn có thể thực hiện tiếp các bước để thêm máy chủ Linux vào máy chủ giám sát Nagios bằng plugin NRPE. Và trước khi cài đặt NRPE, dưới đây là một số thông tin về NRPE bạn nên biết.

NRPE là gì?

Plugin NRPE (Nagios Remote Plugin Executor) cho phép người dùng giám sát bất kỳ dịch vụ Linux / Unix từ xa hoặc trên các thiết bị mạng. Add-on NRPE cho phép Nagios theo dõi các tài nguyên cục bộ như tải CPU, Swap, sử dụng bộ nhớ, người dùng Online, ... trên các máy Linux từ xa. Tuy nhiên để theo dõi các tài nguyên cục bộ, các máy chủ từ xa phải được cài đặt và cấu hình NRPE.

Lưu ý: add-on NRPE yêu cầu máy chủ Linux từ xa phải được cài đặt plugin Nagios. Nếu không daemon NRPE sẽ không hoạt động và không giám sát bất cứ thứ gì.

Cách thêm máy chủ Linux vào máy chủ giám sát Nagios bằng plugin NRPE

Cài đặt plugin NRPE

Để sử dụng NRPE, bạn cần thực hiện một số thao tác để cấu hình máy chủ giám sát Nagios và máy chủ Linux từ xa mà NRPE đã được cài đặt.

Giả định bạn đang cài đặt NRPE trên máy chủ hỗ trợ gói tin TCP và daemon Xinted được cài đặt trên đó. Ngày nay hầu hết các bản phân phối Linux hiện đại được cài đặt cả gói tin TCP và daemon Xinted theo mặc định.

Trên Remote Linux Host

Thực hiện theo các bước hướng dẫn dưới đây để cài đặt Plugins Nagios và daemon NRPE trên máy chủ Linux từ xa.

Bước 1: Cài đặt các gói phụ thuộc yêu cầu

Trước hết cài đặt các thư viện yêu cầu như gcc, glibc, glibc-common, GD và các thư viện phát triển của nó trước khi cài đặt.

[root@tecmint]# yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel

-------------- On Fedora 22+ Onwards --------------

[root@tecmint]# dnf install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-deve

Bước 2: Tạo tài khoản người dùng Nagios

Tạo một tài khoản người dùng Nagios mới và thiết lập mật khẩu.

[root@tecmint]# useradd nagios

[root@tecmint]# passwd nagios

Bước 3: Cài đặt Plugin Nagios

Tạo một thư mục cài đặt và tải xuống.

[root@tecmint]# cd /root/nagios

Tiếp theo tải gói Plugin Nagios 2.1.2 mới nhất bằng cách sử dụng lệnh wget:

[root@tecmint nagios~]# wget https://www.nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz

Bước 4: Giải nén Plugin Nagios

Chạy lệnh tar dưới đây để giải nén mã nguồn tarball:

[root@tecmint nagios~]# tar -xvf nagios-plugins-2.1.2.tar.gz

Sau khi giải nén xong, một thư mục mới sẽ hiển thị trong thư mục đó:

[root@tecmint nagios ~]# ls -l

total 2640

drwxr-xr-x. 15 root root 4096 Aug 1 21:58 nagios-plugins-2.1.2

-rw-r--r--. 1 root root 2695301 Aug 1 21:58 nagios-plugins-2.1.2.tar.gz

Bước 5: Biên dịch và cài đặt Plugin Nagios

Bước tiếp theo là biên dịch và cài đặt plugin Nagios bằng cách sử dụng các lệnh dưới đây:

[root@tecmint nagios]# cd nagios-plugins-2.1.2

[root@tecmint nagios-plugins-2.1.2]# ./configure

[root@tecmint nagios-plugins-2.1.2]# make

[root@tecmint nagios-plugins-2.1.2]# make install

Thiết lập quyền trên thư mục Plugin:

[root@tecmint nagios-plugins-2.1.2]# chown nagios.nagios /usr/local/nagios

[root@tecmint nagios-plugins-2.1.2]# chown -R nagios.nagios /usr/local/nagios/libexec

Bước 6: Cài đặt Xinetd

Trên hầu hết các hệ thống, Xinetd được cài đặt theo mặc định. Nếu không sử dụng lệnh yum dưới đây để cài đặt gói Xinetd:

[root@tecmint nagios-plugins-2.1.2]# yum install xinetd

-------------- On Fedora 22+ Onwards --------------

[root@tecmint nagios-plugins-2.1.2]# dnf install xinetd

Bước 7: Cài đặt plugin NRPE

Sử dụng lệnh wget để tải gói plugin NRPE 3.0 mới nhất:

[root@tecmint nagios-plugins-2.1.2]# cd /root/nagios

[root@tecmint nagios]# wget http://liquidtelecom.dl.sourceforge.net/project/nagios/nrpe-3.x/nrpe-3.0.tar.gz

Giải nén gói mã nguồn tarball NRPE:

[root@tecmint nagios]# tar xzf nrpe-3.0.tar.gz

[root@tecmint nrpe-3.0]# cd nrpe-3.0

Biên dịch và cài đặt add-on NRPE:

[root@tecmint nrpe-3.0]# ./configure

[root@tecmint nrpe-3.0]# make all

Tiếp theo cài đặt daemon plugin NRPE và file cấu hình daemon:

[root@tecmint nrpe-3.0]# make install-plugin

[root@tecmint nrpe-3.0]# make install-daemon

[root@tecmint nrpe-3.0]# make install-daemon-config

Cài đặt daemon NRPE trong xinetd dưới dạng dịch vụ:

[root@tecmint nrpe-3.0]# make install-xinetd

Or

[root@tecmint nrpe-3.0]# make install-inetd

Tiếp theo mở file /etc/xinetd.d/nrpe và them localhost và địa chỉ IP của máy chủ giám sát Nagios:

only_from = 127.0.0.1 localhost

Tiếp theo mở file etc/services và thêm mục dưới đây vào cuối file daemon NRPE:

nrpe 5666/tcp NRPE

Khởi động lại dịch vụ xinetd:

[root@tecmint]# service xinetd restart

Bước 8: Xác nhận daemon NRPE

Chạy lệnh dưới đây để xác nhận daemon NRPE hoạt động đúng cách trong xinetd:

[root@tecmint]# netstat -at | grep nrpe

tcp 0 0 *:nrpe *:* LISTEN

Nếu đầu ra bạn nhận được giống ở trên, tức là NRPE hoạt động chính xác. Nếu không, kiểm tra các mục dưới đây:

- Kiểm tra xem bạn đã thêm mục nrpe vào file /etc/services hay chưa.
- Mục only_from trong file /etc/xinetd.d/nrpe có chứa nagios_ip_address.
- Xinetd được cài đặt và được mở.
- Kiểm tra lỗi trong file nhật ký hệ thống tìm xem lỗi xinetd hoặc nrpe và khắc phục các lỗi đó.

Tiếp theo kiểm tra xem daemon NRPE có đang hoạt động đúng cách hay không. Chạy lệnh "check_nrpe" trước đó để kiểm tra:

[root@tecmint]# /usr/local/nagios/libexec/check_nrpe -H localhost

Trên màn hình bạn sẽ nhận được chuỗi dưới đây,đồng nghĩa với việc phiên bản NRPE đã được cài đặt:

NRPE v3.0

Bước 9: Cấu hình các rule của Firewall (tường lửa)

Đảm bảo Firewall (tường lửa) trên máy tính cục bộ cho phép daemon NRPE truy cập các máy chủ từ xa. Để làm được điều này, bạn chạy lệnh iptables dưới đây:

-------------- On RHEL/CentOS 6/5 and Fedora --------------

[root@tecmint]# iptables -A INPUT -p tcp -m tcp --dport 5666 -j ACCEPT

-------------- On RHEL/CentOS 7 and Fedora 19 Onwards --------------

[root@tecmint]# firewall-cmd --permanent --zone=public --add-port=5666/tcp

Chạy lệnh dưới đây để lưu rule iptables mới để các rule vẫn còn sau khi hệ thống khởi động lại:

-------------- On RHEL/CentOS 6/5 and Fedora --------------

[root@tecmint]# service iptables save

Bước 10: Tùy chỉnh các lệnh NRPE

Mặc định file cấu hình NRPE đã được cài đặt một số định nghĩ lệnh sử dụng để giám sát máy tính. Nhưng bạn sẽ cần phải tuỳ chỉnh lệnh NRPE để thêm máy chủ Linux vào máy chủ giám sát Nagios. File cấu hình này nằm trong:

[root@tecmint]# vi /usr/local/nagios/etc/nrpe.cfg

Các định nghĩa lệnh mặc định được thêm vào phần dưới cùng của file cấu hình. Giả sử bạn đang chạy các lệnh này. Để kiểm tra các định nghĩa lệnh mặc định, bạn sử dụng các lệnh dưới đây:

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_users

USERS OK - 1 users currently logged in |users=1;5;10;0

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_load

OK - load average: 3.90, 4.37, 3.94|load1=3.900;15.000;30.000;0; load5=4.370;10.000;25.000;0; load15=3.940;5.000;20.000;0;

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1

DISK OK - free space: /boot 154 MB (84% inode=99%);| /boot=29MB;154;173;0;193

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs

PROCS CRITICAL: 297 processes

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_zombie_procs

PROCS OK: 0 processes with STATE = Z

Bạn có thể chỉnh sửa và thêm các định nghĩa lệnh mới bằng cách chỉnh sửa file cấu hình NRPE.

Như vậy là bạn đã cài đặt và cấu hình thành công NRPE trên máy chủ Linux từ xa. Bước tiếp theo bây giờ là chuyển quan cài đặt NRPE và thêm các dịch vụ NRPE trên máy chủ giám sát Nagios.

Trên máy chủ giám sát Nagios

Đăng nhập máy chủ giám sát Nagios của bạn. Dưới đây là những gì bạn cần làm tiếp theo:

- Cài đặt plugin check_nrpe.
- Tạo một định nghĩa lệnh Nagios bằng cách sử dụng plugin check_nrpe.
- Tạo máy chủ Nagios và thêm các định nghĩa dịch vụ để theo dõi máy chủ Linux từ xa.

Bước 1: Cài đặt plugin NRPE

Truy cập thư mục tải nagios và tải phiên bản plugin NRPE mới nhất bằng lệnh wget:

[root@tecmint]# cd /root/nagios

[root@tecmint]# wget http://liquidtelecom.dl.sourceforge.net/project/nagios/nrpe-3.x/nrpe-3.0.tar.gz

Giải nén mã nguồn tarball NRPE:

[root@tecmint]# tar xzf nrpe-3.0.tar.gz

[root@tecmint]# cd nrpe-3.0

Biên dịch và cài đặt add-on NRPE:

[root@tecmint]# ./configure

[root@tecmint]# make all

[root@tecmint]# make install-daemon

Bước 2: Xác minh daemon NRPE từ xa

Đảm bảo rằng plugin check_nrpe có thể giao tiếp với daemon NRPE trên máy chủ Linux từ xa.Chạy lệnh dưới đây, trong đó thay địa chỉ IP bằng địa chủ IP máy chủ Linux từ xa:

[root@tecmint]# /usr/local/nagios/libexec/check_nrpe -H

Trên màn hình bạn sẽ nhận được chuỗi trả về là phiên bản NRPE được cài đặt trên máy chủ từ xa như dưới đây:

NRPE v3.0

Nếu nhận được lỗi plugin hết giờ, thử kiểm tra một số thông tin dưới đây:

- Đảm bảo rằng Firewall (tường lửa) không chặn quá trình giao tiếp giữa máy chủ từ xa và máy chủ giám sát.
- Đảm bảo rằng tường lửa của bạn không chặn được sự giao tiếp giữa máy chủ từ xa và máy chủ theo dõi.
- Đảm bảo rằng daemon NRPE được cài đặt đúng các trong xinetd.
- Đảm bảo rằng các rule trong Firewall (tường lửa) máy chủ Linux từ xa chặn máy chủ giám sát giao tiếp với daemon NRPE.

Thêm máy chủ Linux từ xa vào máy chủ giám sát Nagios

Để thêm máy chủ từ xa, bạn phải tạo 2 file mới “hosts.cfg” và and “services.cfg” vào “/usr/local/nagios/etc/”:

[root@tecmint]# cd /usr/local/nagios/etc/

[root@tecmint]# touch hosts.cfg

[root@tecmint]# touch services.cfg

Tiếp theo thêm 2 file này vào file cấu hình Nagios chings. Mở file nagios.cfg bằng Notepad hoặc bất kỳ trình biên tập văn bản nào khác.

[root@tecmint]# vi /usr/local/nagios/etc/nagios.cfg

Tiếp theo thêm 2 file mới tạo bằng lệnh đưới đây:

# You can specify individual object config files as shown below:

cfg_file=/usr/local/nagios/etc/hosts.cfg

cfg_file=/usr/local/nagios/etc/services.cfg

Bước tiếp theo bây giờ là mở file hosts.cfg và thêm default host template namedefine remote hosts như dưới đây. Đảm bảo rằng bạn đã thay thế host_name, alias address bằng các thông tin máy chủ lưu trữ từ xa.

[root@tecmint]# vi /usr/local/nagios/etc/hosts.cfg

## Default Linux Host Template ##

define host{

name linux-box ; Name of this template

use generic-host ; Inherit default values

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 ; DONT REGISTER THIS - ITS A TEMPLATE

}

## Default

define host{

use linux-box ; Inherit default values from a template

host_name tecmint ; The name we're giving to this server

alias CentOS 6 ; A longer name for the server

address 5.175.142.66 ; IP address of Remote Linux host

}

Tiếp theo mở file services.cfg và thêm các dịch vụ dưới đây để giám sát:

[root@tecmint]# vi /usr/local/nagios/etc/services.cfg

define service{

use generic-service

host_name tecmint

service_description CPU Load

check_command check_nrpe!check_load

}

define service{

use generic-service

host_name tecmint

service_description Total Processes

check_command check_nrpe!check_total_procs

}

define service{

use generic-service

host_name tecmint

service_description Current Users

check_command check_nrpe!check_users

}

define service{

use generic-service

host_name tecmint

service_description SSH Monitoring

check_command check_nrpe!check_ssh

}

define service{

use generic-service

host_name tecmint

service_description FTP Monitoring

check_command check_nrpe!check_ftp

}

Tiếp theo tạo định nghĩa lệnh NRPE trong file commands.cfg:

[root@tecmint]# vi /usr/local/nagios/etc/objects/commands.cfg

Thêm định nghĩa lệnh NRPE vào cuối file:

###############################################################################

# 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$

}

Cuối cùng kiểm tra xem file cấu hình Nagios có bị lỗi gì không:

[root@tecmint]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Total Warnings: 0

Total Errors: 0

Khởi động lại Nagios:

[root@tecmint]# service nagios restart

Cuối cùng truy cập giao diện máy chủ giám sát Nagios và nhập tên người dùng nagiosadmin và mật khẩu là password. Kiểm tra xem máy chủ Linux từ xa đã được thêm và được giám sát hay chưa.

Trên đây Taimienphi.vn vừa hướng dẫn bạn cách thêm máy chủ Linux vào máy chủ giám sát Nagios bằng plugin NRPE. Bên canh đó, bạn cũng có thể dễ dàng quản lý VPS, máy chủ ảo Linux, Windows theo hướng dẫn của Taimienphi.vn. Nếu gặp phải bất kỳ rắc rối nào hoặc có thắc mắc gì cần giải đáp, vui lòng để lại ý kiến của bạn trong phần bình luận bên dưới bài viết.

Hiện nay có rất nhiều hệ điều hành Linux phổ biến mà bạn có thể tải về sử dụng, nếu chưa biết đó là những hệ điều hành nào, bạn theo dõi bài giới thiệu Top hệ điều hành Linux phổ biến tại đây.

Bài viết dưới đây Taimienphi.vn sẽ hướng dẫn bạn cách thêm máy chủ Linux từ xa và các dịch vụ của máy chủ đó vào máy chủ máy chủ giám sát Nagios bằng cách sử dụng NRPE.
Cách sử dụng lệnh Screen trong Linux
Cách tạo máy chủ FTP bằng FileZilla
Cách sử dụng Ping, fping và Gping trên Linux
Cách cài đặt XAMPP trên Linux Mint
Cách kết nối với máy chủ SSH từ Windows, macOS hoặc Linux
Giám sát máy tính, quản lý hoạt động máy tính bằng Free Keylogger Pro

ĐỌC NHIỀU