Cách Cài Đặt Nagios 4 và Giám Sát Máy Chủ trên CentOS 7

2 năm trước

Giới Thiệu 

Trong hướng dẫn này, chúng tôi sẽ giới thiệu cho các bạn cài đặt Nagios 4, một hệ thống giám sát nguồn mở rất phổ biến, trên CentOS 7 hoặc RHEL 7. Chúng tôi sẽ giới thiệu một số cấu hình cơ bản để bạn có thể giám sát tài nguyên máy chủ thông qua giao diện web. Chúng ta cũng sẽ sử dụng Nagios Remote Plugin Executor (NRPE),sẽ được cài đặt như một tác nhân trên máy chủ từ xa, để giám sát tài nguyên cục bộ của họ.

Nagios hữu ích cho việc lưu trữ các máy chủ của bạn và đảm bảo các dịch vụ quan trọng của bạn đang hoạt động. Sử dụng một hệ thống giám sát, như Nagios, là một công cụ cần thiết cho bất kỳ môi trường máy chủ sản xuất nào.

 

Yêu Cầu 

Để làm theo hướng dẫn này, bạn phải có đặc quyền superuser trên máy chủ CentOS 7 sẽ chạy Nagios. Lý tưởng nhất, bạn sẽ sử dụng một  non-root user với các đặc quyền superuser. Nếu bạn cần trợ giúp thiết lập điều đó, hãy làm theo các bước từ 1 đến 3 trong hướng dẫn này: Thiết lập ban đầu cho server chạy Centos 7.

Một LAMP stack cũng được yêu cầu. Làm theo hướng dẫn này nếu bạn cần thiết lập: Hướng dẫn cài LAMP stack trên CentOS 7

Hướng dẫn này giả định rằng máy chủ của bạn đã bật mạng riêng. Nếu không, chỉ cần thay thế tất cả các tham chiếu đến địa chỉ IP riêng bằng địa chỉ IP công cộng.

Bây giờ chúng ta có các điều kiện tiên quyết được sắp xếp, hãy chuyển sang cài đặt Nagios 4.

 

Cài Đặt Nagios 4

Phần này sẽ giới thiệu cách cài đặt Nagios 4 trên máy chủ giám sát của bạn. Bạn chỉ cần hoàn thành phần này một lần.

Cài Đặt Build Dependencies

Bởi vì chúng ta đang xây dựng Nagios Core từ nguồn, chúng ta phải cài đặt một vài thư viện phát triển cho phép hoàn thành việc xây dựng.

Trước tiên, cài đặt các gói cần thiết:

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

Tạo người dùng và nhóm Nagios

Chúng ta phải tạo một người dùng và nhóm sẽ chạy quá trình Nagios. Tạo nhóm "nagios" và "nagcmd", sau đó thêm người dùng vào nhóm bằng các lệnh sau:

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

Hãy cài đặt  Nagios bây giờ.

Cài Đặt Nagios Core

Tải về mã nguồn cho bản phát hành ổn định mới nhất của Nagios Core. Truy cập Nagios downloads page và nhấp vào liên kết  Skip to download bên dưới biểu mẫu. Sao chép địa chỉ liên kết cho bản phát hành ổn định mới nhất để bạn có thể tải xuống máy chủ Nagios của mình.

Tại thời điểm viết bài này, bản phát hành ổn định mới nhất là Nagios 4.1.1. Tải nó về thư mục chính của bạn với curl::

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

Giải nén kho lưu trữ Nagios bằng lệnh này:

tar xvf nagios-*.tar.gz

Sau đó thay đổi thư mục được giải nén:

cd nagios-*

Trước khi xây dựng Nagios, chúng ta phải cấu hình nó bằng lệnh này:

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

Bây giờ biên soạn Nagios bằng lệnh này:

make all

Bây giờ chúng ta có thể chạy các lệnh này để cài đặt Nagios, các tập lệnh gốc và các tệp 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

Để phát hành các lệnh bên ngoài thông qua giao diện web cho Nagios, chúng ta phải thêm người dùng máy chủ web, apache, vào nagcmd nhóm :

sudo usermod -G nagcmd apache
  •  

Cài đặt Nagios Plugins

Tìm phiên bản mới nhất của Nagios Plugins tại đây: Nagios Plugins Download. Sao chép địa chỉ liên kết cho phiên bản mới nhất và sao chép địa chỉ liên kết để bạn có thể tải xuống máy chủ Nagios của mình.

Tại thời điểm viết bài này, phiên bản mới nhất là Nagios Plugins 2.1.1. Tải nó về thư mục chính của bạn với curl:

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

Giải nén Nagios Plugins lưu trữ với lệnh này:

tar xvf nagios-plugins-*.tar.gz

Sau đó thay đổi thư mục được giải nén:

cd nagios-plugins-*

Trước khi thiết lập Nagios Plugins, chúng ta phải cấu hình nó. Sử dụng lệnh này:

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl

Bây giờ biên soạn Nagios Plugins bằng lệnh này:

make

Sau đó cài đặt nó với lệnh này :

sudo make install

Cài đặt NRPE

Tìm mã nguồn cho bản phát hành ổn định mới nhất của NRPE tại  NRPE downloads page. Tải xuống phiên bản mới nhất cho máy chủ Nagios của bạn.

Tại thời điểm viết bài này, bản phát hành mới nhất là 2,15. Tải nó về thư mục chính của bạn với 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 kho lưu trữ NRPE bằng lệnh này:

tar xvf nrpe-*.tar.gz

Sau đó thay đổi thư mục được giải nén:

cd nrpe-*

Cấu hình NRPE với các lệnh sau::

./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ờ hãy thiết lập và cài đặt NRPE và tập lệnh khởi động xinetd của nó bằng các lệnh sau:

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

Mở tập lệnh khởi động xinetd trong trình chỉnh sửa:

sudo vi /etc/xinetd.d/nrpe
  •  

Sửa đổi dòng only_from bằng cách thêm địa chỉ IP riêng của máy chủ Nagios của bạn vào cuối (thay thế địa chỉ IP thực của máy chủ của bạn):

only_from = 127.0.0.1 10.132.224.168

Lưu và thoát. Chỉ máy chủ Nagios mới được phép giao tiếp với NRPE.

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

sudo service xinetd restart

Bây giờ Nagios 4 đã được cài đặt, chúng ta cần cấu hình nó.

 

Cấu hình Nagios

Bây giờ chúng ta hãy thực hiện cấu hình Nagios ban đầu. Bạn chỉ cần thực hiện phần này một lần, trên máy chủ Nagios của bạn.

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

Mở tập tin cấu hình Nagios chính trong trình soạn thảo văn bản yêu thích của bạn. Chúng tôasẽ sử dụng vi để chỉnh sửa tệp:

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

Bây giờ, hãy tìm cách bỏ ghi chú dòng này bằng cách xóa #:

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

Lưu và thoát.

Bây giờ tạo thư mục lưu trữ tệp cấu hình cho mỗi máy chủ mà bạn sẽ giám sát:

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

Cấu hình Nagios Contacts

Mở cấu hình liên lạc Nagios trong trình soạn thảo văn bản yêu thích của bạn. Chúng ta sẽ sử dụng vi để chỉnh sửa tệp:

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

Tìm chỉ thị email và thay thế giá trị của nó (phần được đánh dấu) bằng địa chỉ email của riêng bạn:

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

Lưu và thóat.

Định cấu hình lệnh check_nrpe

Hãy thêm một lệnh mới vào cấu hình Nagios của chúng ta:

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

Thêm phần sau vào cuối tệp:

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

Lưu và thoát. Điều này cho phép bạn sử dụng lệnh check_nrpe trong việc xác định dịch vụ Nagios của bạn.

Cấu hình Apache

Sử dụng htpasswd để tạo người dùng quản trị, được gọi là "nagiosadmin", có thể truy cập vào giao diện web của Nagios:

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

Nhập mật khẩu tại dấu nhắc. Nhớ thông tin đăng nhập này, vì bạn sẽ cần nó để truy cập vào giao diện web Nagios.

Nếu bạn tạo một người dùng không được đặt tên là "nagiosadmin", bạn sẽ cần phải chỉnh sửa /usr/local/nagios/etc/cgi.cfg và thay đổi tất cả các tham chiếu "nagiosadmin" cho người dùng mà bạn đã tạo.

Chú ý: Nếu bạn tạo một người dùng không được đặt tên là "nagiosadmin", bạn sẽ cần phải chỉnh sửa  /usr/local/nagios/etc/cgi.cfg và thay đổi tấ cả các tham chiếu "nagiosadmin" cho người dùng mà bạn đã tạo.

Nagios đã sẵn sàng để bắt đầu. Hãy làm điều đó và khởi động lại Apache:

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

Hãy kích hoạt Nagios để khởi động máy chủ, hãy chạy lệnh sau:

sudo chkconfig nagios on

Tùy chọn: Hạn chế quyền truy cập theo địa chỉ IP

Nếu bạn muốn hạn chế địa chỉ IP có thể truy cập đến giao diện web của Nagios,hãy sửa đổi tập tin cấu hình Apache:

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

Tìm và nhận xét hai dòng sau bằng cách thêm # ký tự ở phía trước:

Order allow,deny
Allow from all

Sau đó, bỏ ghi chú các dòng sau, bằng cách xóa# ký hiệu và thêm địa chỉ IP hoặc các dãy (dấu tách cách) mà bạn muốn cho phép trong dòng Allow from:

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

Vì những dòng này sẽ xuất hiện hai lần trong tệp cấu hình nên bạn sẽ cần phải thực hiện lại các bước này một lần nữa.

Lưu và thoát.

Bây giờ bắt đầu Nagios và khởi động lại Apache để đặt thay đổi có hiệu lực:

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

Nagios hiện đang chạy, vì vậy hãy thử và đăng nhập.

 

Truy cập vào giao diện web Nagios

Mở trình duyệt web ưa thích của bạn và truy cập máy chủ Nagios của bạn (thay thế địa chỉ IP hoặc tên máy chủ cho phần được đánh dấu):

http://nagios_server_public_ip/nagios

Vì chúng ta đã định cấu hình Apache để sử dụng htpasswd, bạn phải nhập bằng chứng xác thực đăng nhập mà bạn đã tạo trước đó. Chúng ta đã sử dụng "nagiosadmin" làm tên người dùng:

htaccess Authentication Prompt

Sau khi xác thực, bạn sẽ thấy trang chủ mặc định của Nagios. Nhấp vào liên kết Hosts lưu trữ, trong thanh điều hướng bên trái để xem máy chủ mà Nagios đang theo dõi:

Nagios Hosts Page

Như bạn có thể thấy, Nagios chỉ giám sát "localhost", hoặc chính nó.

Hãy theo dõi một máy chủ khác với Nagios!

 

Giám sát một máy chủ CentOS 7 với NRPE

Trong phần này, chúng tôi sẽ hướng dẫn bạn cách thêm một máy chủ mới vào Nagios, vì vậy nó sẽ được theo dõi. Lặp lại phần này cho mỗi máy chủ CentOS hoặc RHEL mà bạn muốn theo dõi.

Trên máy chủ mà bạn muốn theo dõi, cài đặt kho EPEL:

sudo yum install epel-release

Bây giờ cài đặt Nagios Plugins và NRPE:

sudo yum install nrpe nagios-plugins-all

Bây giờ, hãy cập nhật tệp cấu hình NRPE. Mở nó trong trình soạn thảo yêu thích của bạn (chúng ta đang sử dụng vi):

sudo vi /etc/nagios/nrpe.cfg

Tìm chỉ thị allowed_hosts và thêm địa chỉ IP riêng của máy chủ Nagios của bạn vào danh sách được phân cách bằng dấu phẩy (thay thế nó thay cho ví dụ được đánh dấu):

allowed_hosts=127.0.0.1,10.132.224.168

Lưu và thoát. Điều này cấu hình NRPE để chấp nhận yêu cầu từ máy chủ Nagios của bạn, thông qua địa chỉ IP riêng của nó.

Khởi động lại NRPE để thay đổi có hiệu lực:

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

Khi bạn đã hoàn tất việc cài đặt và cấu hình NRPE trên máy chủ mà bạn muốn theo dõi, bạn sẽ phải thêm các máy chủ này vào cấu hình máy chủ Nagios của bạn trước khi nó bắt đầu theo dõi chúng.

Thêm máy chủ lưu trữ vào cấu hình Nagios

Trên máy chủ Nagios của bạn, tạo một tệp cấu hình mới cho mỗi máy chủ từ xa mà bạn muốn theo dõi trong /usr/local/nagios/etc/servers/. Thay thế từ được đánh dấu, "yourhost", với tên của máy chủ lưu trữ của bạn:

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

Thêm vào định nghĩa máy chủ sau, thay thế giá trịhost_name bằng tên máy chủ từ xa của bạn ("web-1" trong ví dụ),giá trị alias với mô tả của máy chủ và giá trị address với địa chỉ IP riêng của máy chủ từ xa:

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 tập tin cấu hình ở trên, Nagios sẽ chỉ giám sát nếu máy chủ lưu trữ lên hoặc xuống. Nếu điều này là đủ cho bạn, hãy lưu và thoát rồi khởi động lại Nagios. Nếu bạn muốn theo dõi các dịch vụ cụ thể, hãy đọc tiếp.

Thêm bất kỳ khối dịch vụ nào cho các dịch vụ bạn muốn theo dõi. Lưu ý rằng giá trị của check_command xác định những gì sẽ được theo dõi, bao gồm các giá trị ngưỡng trạng thái. Dưới đây là một số ví dụ mà bạn có thể thêm vào tệp cấu hình của máy chủ lưu trữ của mình:

Ping:

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

SSH (thông báo_enabled được đặt thành 0 sẽ tắt thông báo cho dịch vụ):

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

Nếu bạn không chắc chắn về việc sử dụng các dịch vụ chung, nó đơn giản là kế thừa các giá trị của một mẫu dịch vụ được gọi là "generic-service" được xác định use generic-servicetheo mặc định  

Bây giờ hãy lưu và thoát. Tải lại cấu hình Nagios của bạn để đặt bất kỳ thay đổi nào có hiệu lực:

sudo systemctl reload nagios.service

Khi bạn đã hoàn tất việc cấu hình Nagios để giám sát tất cả các máy chủ từ xa của mình, bạn nên thiết lập. Hãy chắc chắn truy cập vào giao diện web Nagios của bạn và xem trang Services để xem tất cả các máy chủ và dịch vụ được giám sát của bạn:

Nagios Services Page

 

Kết Luận 

Bây giờ bạn theo dõi máy chủ của bạn và một số dịch vụ của họ, bạn có thể muốn dành chút thời gian để tìm ra dịch vụ nào là quan trọng đối với bạn, vì vậy bạn có thể bắt đầu theo dõi những dịch vụ đó. Bạn cũng có thể muốn thiết lập thông báo, ví dụ, bạn nhận được email khi sử dụng đĩa của bạn đạt đến cảnh báo hoặc ngưỡng quan trọng hoặc trang web chính của bạn bị hỏng, vì vậy bạn có thể giải quyết tình huống ngay lập tức hoặc trước khi sự cố xảy ra.

Chúc may mắn!

Tìm hiểu thêm những điều thú vị  tại ViCloud Community