NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
15/06/2023
Lượt xem

Cách cài đặt phần mềm giám sát Nagios trên CentOS 7

15/06/2023
16 phút đọc
Lượt xem

Đánh giá

5/5 - (142 bình chọn)

Nagios 4 là một hệ thống giám sát mã nguồn mở vô cùng phổ biến trên CentOS 7 và RHEL 7. Bài viết này sẽ hướng dẫn chi tiết các bước cài đặt phần mềm giám sát Nagios trên CentOS 7 để giám sát trạng thái và tài nguyên hệ thống qua giao diện web.

Điều kiện để cài đặt phần mềm giám sát Nagios trên CentOS 7

Điều kiện để cài đặt phần mềm giám sát Nagios trên CentOS 7
Điều kiện để cài đặt phần mềm giám sát Nagios trên CentOS 7
  • Tài khoản root (superuser privileges – phân quyền cao nhất) trên server chạy CentOS 7 có Nagios được cài đặt sẵn. Để tránh rủi ro cũng như các hậu quả nếu không kiểm soát được quyền superuser – root, người dùng nên dùng tài khoản user non-root có phân quyền sudo.
  • Server trên sẽ chạy LAMP (nền tảng Linux, Apache, database MySQLngôn ngữ PHP).
  • Trong bài sẽ giả định tình huống hệ thống có dùng mạng cá nhân (private network), nếu ngược lại bạn chỉ cần thay các IP riêng bằng IP công cộng.

Bước 1 – Cài đặt Nagios 4

Cài đặt các bản dựng Dependencies

Ta sẽ build Nagios Core từ mã nguồn, do đó bắt buộc phải cài một vài thư viện phát triển để thực hiện quá trình cài đặt. Bạn có thể dùng lệnh sau để cài đặt các package cần thiết:

sudo yum install gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel xinetd unzip

Tạo user và nhóm cho Nagios

Sau đó, tạo một user và group để chạy tiến trình Nagios. Người dùng sẽ tạo một user “nagios” và group “nagcmd” rồi thêm user vào group này bằng các lệnh sau:

sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios

Cài đặt Nagios Core

Bây giờ bạn có thể bắt đầu cài đặt Nagios. Trước tiên, bạn cần vào trang web của Nagios và chọn phần Downloads, chọn mục Nagios-core, tìm bản mà mình cần và tải xuống. (Hoặc có thể vào trực tiếp tại link)

Ở thời điểm viết bài thì phiên bản mới nhất đang là Nagios 4.1.1. Bạn có thể download bằng curl như sau:

cd ~
curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz

Sau đó giải nén Nagios:

tar xvf nagios-*.tar.gz

Đi đến thư mục vừa giải nén:

cd nagios-*

Trước khi tiếp tục, người dùng bắt buộc phải sửa đổi thư mục này với lệnh sau:

./configure --with-command-group=nagcmd

Sau đó biên dịch Nagios:

make all

Bây giờ bạn có thể chạy các lệnh sau để cài đặt Nagios, script init và các file cấu hình mẫu:

sudo make install
sudo make install-commandmode
sudo make install-init
sudo make install-config
sudo make install-webconf

Để đưa ra các lệnh bên ngoài thông qua giao diện web đến Nagios, bạn cần thêm user web server (apache) vào group nagcmd:

sudo usermod -G nagcmd apache

Cài đặt Nagios Plugins

Người dùng sẽ truy cập trang tải xuống Nagios Plugins, trong trường hợp cần sử dụng lại các bản cũ bạn sẽ truy cập vào link. Copy link để download về server Nagios. Ở thời điểm viết bài thì phiên bản mới nhất là Nagios Plugins 2.11. Bạn có thể dùng lệnh curl để download như sau:

cd ~
curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz

Sau đó giải nén file lưu trữ Nagios Plugins:

tar xvf nagios-plugins-*.tar.gz

Vào thư mục vừa giải nén và mở cấu hình Nagios Plugins:

cd nagios-plugins-*
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl

Sau đó biên dịch bằng lệnh make rồi cài đặt:

make
sudo make install

Cài đặt NRPE

Tương tự như các bước trên, bạn cũng có thể copy link download NRPE tại đây rồi download bằng curl:

cd ~
curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

Giải nén file NRPE, vào thư mục vừa giải nén rồi cấu hình NRPE:

tar xvf nrpe-*.tar.gz
cd nrpe-*
./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagios --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu

Bây giờ bạn có thể build rồi cài đặt NRPE trong script startup bằng các lệnh sau:

make all
sudo make install
sudo make install-xinetd
sudo make install-daemon-config

Mở script xinetd trong một editor bất kỳ:

sudo vi /etc/xinetd.d/nrpe

Tìm dòng only_from , thêm địa chỉ IP private của server Nagios vào cuối (chính xác hơn là thay bằng IP server của bạn):

only_from = 127.0.0.1 10.132.224.168

Sau đó lưu và đóng lại file. Bây giờ chỉ server Nagios mới có thể giao tiếp được với NRPE.

Restart lại dịch vụ xinetd để khởi động NRPE:

sudo service xinetd restart

Bước 2 – Cấu hình Nagios

Ở bước này người dùng sẽ bắt đầu thực hiện cấu hình cho Nagios, phần này chỉ cần thực hiện một lần trên server.

Tổ chức cấu hình Nagios

Mở file cấu hình Nagios (dùng bất kì text editor nào để mở, ví dụ như vi):

sudo vi /usr/local/nagios/etc/nagios.cfg

Tìm và uncomment dòng sau bằng cách bỏ dấu # ở trước:

#cfg_dir=/usr/local/nagios/etc/servers

Lưu rồi đóng lại file.

Tiếp theo, tạo một thư mục chứa file cấu hình cho mỗi server cần giám sát:

sudo mkdir /usr/local/nagios/etc/servers

Cấu hình các liên hệ của Nagios

Tiếp theo, mở cấu hình các liên hệ của Nagios:

sudo vi /usr/local/nagios/etc/objects/contacts.cfg

Tìm directive email rồi đổi giá trị thành địa chỉ email của bạn:

email                           nagios@localhost        ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******

Sau đó lưu rồi đóng file.

Cấu hình lệnh check_nrpe

Mở cấu hình Nagios:

sudo vi /usr/local/nagios/etc/objects/commands.cfg

Sau đó thêm các dòng dưới đây vào cuối file:

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

Cuối cùng là lưu rồi đóng lại file. Bây giờ bạn có thể dùng lệnh check_nrpe trong các định nghĩa của dịch vụ Nagios.

Cấu hình Apache

Tiếp theo, dùng htpasswd để tạo một user admin có tên nagiosadmin có quyền truy cập vào giao diện web Nagios:

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Nhập mật khẩu để đăng nhập. Hãy ghi nhớ mật khẩu này để truy cập giao diện web Nagios ở những lần sau.

Lưu ý: Nếu bạn sử dụng tên user admin khác thì cần mở file /usr/local/nagios/etc/cgi.cfg rồi đổi mọi tham chiếu đến “nagiosadmin” thành tên user admin tương ứng của bạn.

Bây giờ hãy restart lại Apache:

sudo systemctl daemon-reload
sudo systemctl start nagios.service
sudo systemctl restart httpd.service

Bạn có thể sử dụng lệnh sau nếu muốn cho phép Nagios khởi động khi server boot:

sudo chkconfig nagios on

(Không bắt buộc) Giới hạn truy cập theo địa chỉ IP

Nếu bạn muốn giới hạn các địa chỉ IP có quyền truy cập vào giao diện web Nagios thì có thể chỉnh sửa file cấu hình Apache:

sudo vi /etc/httpd/conf.d/nagios.conf

Sau đó tìm hai dòng dưới đây rồi comment bằng cách đặt dấu # ở phía trước:

Order allow,deny
Allow from all

Tiếp theo, uncomment các dòng dưới đây rồi thêm địa chỉ IP hoặc một nhóm địa chỉ (ngăn cách nhau bởi khoảng trắng) mà bạn cần cho phép truy cập vào dòng Allow from:

#  Order deny,allow
#  Deny from all
#  Allow from 127.0.0.1

Các dòng này xuất hiện hai lần trong file cấu hình, do đó bạn cần thực hiện các bước trên hai lần. Sau khi hoàn tất hãy lưu rồi đóng lại file.

Bây giờ bạn có thể khởi động Nagios và restart Apache để áp dụng các thay đổi:

sudo systemctl restart nagios.service
sudo systemctl restart httpd.service

Bước 3 – Giám sát host bằng Nagios

Truy cập giao diện web Nagios

Tiếp đến, mở một trình duyệt web bất kỳ rồi vào server Nagios như sau (thay địa chỉ hoặc hostname tương ứng của bạn vào lệnh):

http://nagios_server_public_ip/nagios

Vì ta đã cấu hình cho Apache sử dụng htpasswd nên bạn cần nhập các thông tin đăng nhập đã tạo trước đó:

Đăng nhập Nagios
Đăng nhập Nagios

Sau khi xác thực xong, bạn sẽ được đưa đến trang chủ mặc định của Nagios. Click vào link Hosts ở thanh bên trái để xem các host mà Nagios đang giám sát:

Trang chủ mặc định của Nagios
Trang chủ mặc định của Nagios

Như ảnh trên thì Nagios chỉ đang giám sát “localhost”, tức là chính nó. Bây giờ hãy thử giám sát một host khác bằng Nagios.

Giám sát host CentOS 7 bằng NRPE

Trước tiên hãy cài đặt repo EPEL trên server cần giám sát:

sudo yum install epel-release

Sau đó cài đặt Nagios Plugins và NRPE:

sudo yum install nrpe nagios-plugins-all

Tiếp theo, hãy cập nhật file cấu hình NRPE:

sudo vi /etc/nagios/nrpe.cfg

Tìm directive allowed_hosts rồi thêm địa chỉ IP private của server Nagios vào phần địa chỉ 10.132.224.168 trong lệnh:

allowed_hosts=127.0.0.1,10.132.224.168

Sau đó lưu rồi đóng lại file. Bây giờ NRPE sẽ chấp nhận các request từ server Nagios của bạn thông qua địa chỉ IP private.

Restart lại NRPE để áp dụng các thay đổi:

sudo systemctl start nrpe.service
sudo systemctl enable nrpe.service

Tiếp theo bạn cần thêm các host muốn giám sát vào cấu hình của server Nagios.

Thêm host và cấu hình Nagios

Trên server Nagios, tạo một file cấu hình mới cho mỗi remote host cần giám sát trong thư mục /usr/local/nagios/etc/servers/. Thay phần yourhost trong lệnh thành tên host tương ứng của bạn:

sudo vi /usr/local/nagios/etc/servers/yourhost.cfg

Sau đó thêm phần cấu hình host như sau, thay giá trị host_name thành tên remote host tương ứng, alias là phần mô tả host và giá trị address là địa chỉ IP private của remote host.

define host {
        use                                    linux-server
        host_name                        yourhost
        alias                                  My first Apache server
        address                             10.132.234.52
        max_check_attempts        5
        check_period                    24x7
        notification_interval           30
        notification_period            24x7
}

Với cấu hình như trên thì Nagios sẽ chỉ giám sát trạng thái xem server có đang hoạt động hay không. Nếu bạn cần giám sát thêm một số dịch vụ cụ thể thì hãy thêm những khối định nghĩa như sau vào cấu hình. Trong đó check_command xác định những gì cần được giám sát, bao gồm cả giá trị về trạng thái ngưỡng. Bạn có thể tham khảo một số ví dụ như sau:

Ping:

define service {
        use                                         generic-service
        host_name                             yourhost
        service_description                PING
        check_command                   check_ping!100.0,20%!500.0,60%
}

SSH (nếu giá trị notifications_enabled0 thì thông báo sẽ bị disable):

define service {
        use                                       generic-service
        host_name                           yourhost
        service_description              SSH
        check_command                 check_ssh
        notifications_enabled           0
}

Sau đó lưu rồi đóng lại file. Reload lại cấu hình để áp dụng các thay đổi mới:

sudo systemctl reload nagios.service

Bây giờ bạn có thể truy cập lại vào giao diện web của Nagios để kiểm tra. Trang Services sẽ cho thấy danh sách các host và dịch vụ đang được giám sát:

Danh sách các host và dịch vụ đang được giám sát
Danh sách các host và dịch vụ đang được giám sát

Nhìn chung, công việc quản trị server khá phức tạp và yêu cầu người quản trị phải có kiến thức sâu rộng trong lĩnh vực này. Để tiết kiệm chi phí quản trị và giúp hạn chế tối thiểu rủi ro xảy đến, doanh nghiệp nên cân nhắc thuê thiết bị server từ các nhà cung cấp thay vì tự xây dựng hệ thống. Từ đó doanh nghiệp có thể tập trung nhân sự cho vấn đề kinh doanh mà không cần quan tâm đến những đề kỹ thuật.

Một trong những đơn vị cho thuê server được nhiều cá nhân, tổ chức lựa chọn hiện nay là Vietnix. Các gói dịch vụ được thiết kế ổn định, tốc độ cao giúp người dùng có thể an tâm xây dựng thương hiệu, phát triển kinh doanh trên internet.

Qua 11 năm hoạt động, Vietnix hiện đang là một trong những nhà cung cấp dịch vụ Hosting, VPS, cho thuê máy chủ, tên miền, Firewall chất lượng, uy tín hàng đầu Việt Nam. Với sự đầu tư liên tục về hạ tầng và nhân sự để có thể nhanh chóng đáp ứng được các tiêu chuẩn khắt khe của thị trường hosting, VPS,… Vietnix hiện đã được hơn 50.000+ khách hàng trong lẫn ngoài nước tin tưởng trong đó có thể kể đến như: iVIVU.com, GTV, Vietnamwork, UBGroup, KINGFOOD,…

Năm 2022 vừa qua, Vietnix vinh dự nhận được giải thưởng “Thương hiệu Việt Nam xuất sắc 2022”, hạng mục “Sản phẩm dịch vụ xuất sắc”.

Liên hệ Vietnix để được tư vấn chi tiết:

  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn

Lời kết

Bài viết này đã hướng dẫn cách cài đặt Nagios 4 để giám sát các host và dịch vụ từ xa trên server CentOS 7. Nếu có bất kỳ thắc mắc nào khác, hãy để lại ở phần bình luận bên dưới để được Vietnix hỗ trợ nhanh nhất nhé. Chúc bạn thành công.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Black Friday Hosting & VPS

Chương trình bắt đầu sau

Giảm giá 40% hosting VPS

50 coupon mỗi ngày

Gia hạn giá không đổi

NHẬN DEAL NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG