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.
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 name và define remote hosts như dưới đây. Đảm bảo rằng bạn đã thay thế host_name, alias và 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.
https://thuthuat.taimienphi.vn/cach-them-may-chu-linux-vao-may-chu-giam-sat-nagios-bang-plugin-nrpe-29283n.aspx
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.