Thứ hai, 11/09/2017 | 00:00 GMT+7

Cách cài đặt Nagios 4 và theo dõi server của bạn trên CentOS 7

Trong hướng dẫn này, ta sẽ đề cập đến việc cài đặt Nagios 4, một hệ thống giám sát open-souce rất phổ biến, trên CentOS 7 hoặc RHEL 7. Ta sẽ giới thiệu một số cấu hình cơ bản, vì vậy bạn có thể giám sát tài nguyên server lưu trữ thông qua giao diện web. 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 các server từ xa, để giám sát tài nguyên local của chúng.

Nagios rất hữu ích để giữ một repository các server 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 server production nào.

Yêu cầu

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

Một LAMP cũng được yêu cầu. Làm theo hướng dẫn này nếu bạn cần cài đặt : Cách cài đặt LAMP trên CentOS 7 .

Hướng dẫn này giả định server 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ờ ta đã sắp xếp các yêu cầu , hãy chuyển sang cài đặt Nagios 4.

Cài đặt Nagios 4

Phần này sẽ trình bày cách cài đặt Nagios 4 trên server 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 phụ thuộc vào bản dựng

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

Trước tiên, hãy cài đặt các gói bắt buộc:

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

Tạo user và group Nagios

Ta phải tạo một user và group sẽ chạy quá trình Nagios. Tạo user “nagios” và group “nagcmd”, sau đó thêm user vào group 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 ngay bây giờ.

Cài đặt Nagios Core

Download mã nguồn cho bản phát hành ổn định mới nhất của Nagios Core. Truy cập trang download Nagios và nhấp vào liên kết Bỏ qua để 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ể download server Nagios của bạn .

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. Download folder 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 

Extract repository Nagios bằng lệnh này:

tar xvf nagios-*.tar.gz 

Sau đó, thay đổi folder đã extract :

cd nagios-* 

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

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

Bây giờ biên dịch Nagios với lệnh này:

make all 

Bây giờ ta có thể chạy các lệnh thực hiện này để cài đặt Nagios, init script 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 qua giao diện web cho Nagios, ta phải thêm user web server , apache , vào group nagcmd :

  • sudo usermod -G nagcmd apache

Cài đặt các plugin Nagios

Tìm bản phát hành mới nhất của Plugin Nagios tại đây: Download plugin Nagios . Sao chép địa chỉ liên kết cho version mới nhất và sao chép địa chỉ liên kết để bạn có thể download server Nagios của bạn .

Tại thời điểm viết bài này, version mới nhất là Nagios Plugins 2.1.1. Download folder 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 

Extract repository Plugin Nagios bằng lệnh này:

tar xvf nagios-plugins-*.tar.gz 

Sau đó, thay đổi folder đã extract :

cd nagios-plugins-* 

Trước khi xây dựng Plugin Nagios, 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 dịch các Plugin Nagios bằng lệnh này:

make 

Sau đó cài đặt nó bằng lệnh này:

sudo make install 

Cài đặt NRPE

Tìm mã nguồn cho version NRPE ổn định mới nhất tại trang download NRPE . Download version mới nhất cho server 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. Download folder 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

Extract repository NRPE bằng lệnh này:

  • tar xvf nrpe-*.tar.gz

Sau đó, thay đổi folder đã extract :

  • cd nrpe-*

Cấu hình NRPE bằng 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ờ xây dựng 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 editor :

  • 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 server Nagios của bạn vào cuối (thay thế bằng địa chỉ IP thực của server của bạn):

only_from = 127.0.0.1 10.132.224.168 

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

Khởi động lại dịch vụ xinetd để bắt đầu NRPE:

  • sudo service xinetd restart

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

Cấu hình Nagios

Bây giờ 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 server Nagios của bạn .

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

Mở file cấu hình Nagios chính trong editor yêu thích của bạn. Ta sẽ sử dụng vi để chỉnh sửa file :

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

Bây giờ, hãy tìm một comment này bằng cách xóa # :

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

Lưu và thoát.

Bây giờ, hãy tạo folder sẽ lưu trữ file cấu hình cho từng server mà bạn sẽ theo dõi:

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

Cấu hình Danh bạ Nagios

Mở cấu hình danh bạ Nagios trong editor yêu thích của bạn. Ta sẽ sử dụng vi để chỉnh sửa file :

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 bạn :

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

Lưu và thoát.

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 ta :

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

Thêm phần sau vào cuối file :

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 định nghĩa dịch vụ Nagios của bạn.

Cấu hình Apache

Sử dụng htpasswd để tạo admin-user , được gọi là “nagiosadmin”, có thể truy cập giao diện web Nagios:

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

Nhập password khi được yêu cầu . Hãy nhớ thông tin đăng nhập này, vì bạn cần nó để truy cập giao diện web Nagios.

Lưu ý: Nếu bạn tạo user không có tên là “nagiosadmin”, bạn cần chỉnh sửa /usr/local/nagios/etc/cgi.cfg và thay đổi tất cả các tham chiếu “nagiosadmin” cho user 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 

Để kích hoạt Nagios khởi động khi server khởi động server , 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ế các địa chỉ IP có thể truy cập giao diện web Nagios, bạn cần chỉnh sửa file cấu hình Apache:

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

Tìm và comment hai dòng sau bằng cách thêm # ký hiệu vào trước chúng:

Order allow,deny Allow from all 

Sau đó, bỏ ghi chú các dòng sau, bằng cách xóa các ký hiệu # và thêm địa chỉ IP hoặc phạm vi (được phân cách bằng dấu 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ì các dòng này sẽ xuất hiện hai lần trong file cấu hình, vì vậy bạn cần thực hiện các bước này .

Lưu và thoát.

Bây giờ hãy khởi động Nagios và khởi động lại Apache để 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 giao diện web Nagios

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

http://nagios_server_public_ip/nagios 

Vì ta đã cấu hình Apache để sử dụng htpasswd, nên bạn phải nhập thông tin đăng nhập mà bạn đã tạo trước đó. Ta đã sử dụng “nagiosadmin” làm tên user :

htaccess Xác thực Nhắc nhở

Sau khi xác thực, bạn sẽ thấy trang chủ Nagios mặc định. Nhấp vào liên kết Server , trong thanh chuyển bên trái, để xem server nào mà Nagios đang theo dõi:

Trang chủ của Nagios

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

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

Giám sát Server CentOS 7 với NRPE

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

Lưu ý: Nếu bạn muốn giám sát server Ubuntu hoặc Debian, hãy làm theo hướng dẫn trong liên kết này: Giám sát server Ubuntu bằng NRPE .

Trên server mà bạn muốn theo dõi, hãy cài đặt repository EPEL:

sudo yum install epel-release 

Bây giờ hãy cài đặt Plugin Nagios và NRPE:

sudo yum install nrpe nagios-plugins-all 

Bây giờ, hãy cập nhật file cấu hình NRPE. Mở nó trong trình soạn thảo yêu thích của bạn ( 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 server Nagios của bạn vào danh sách được phân tách bằng dấu phẩy (thay thế nó vào vị trí của 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 các yêu cầu từ server 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 

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

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

Trên server Nagios của bạn, hãy tạo một file cấu hình mới cho từng server từ xa mà bạn muốn theo dõi trong /usr/local/nagios/etc/servers/ . Thay thế từ được đánh dấu, “ server của bạn”, bằng tên của server của bạn:

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

Thêm vào định nghĩa server lưu trữ sau, thay thế giá trị host_name bằng tên server từ xa của bạn (trong ví dụ là “web-1”), giá trị alias với mô tả server và giá trị address bằng địa chỉ IP riêng của server 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 file cấu hình ở trên, Nagios sẽ chỉ theo dõi xem server đang hoạt động hay khô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 trong số này cho các dịch vụ bạn muốn giám sát. Lưu ý giá trị của check_command xác định những gì sẽ được giám sát, bao gồm cả 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 file cấu hình server của bạn :

Ping:

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

SSH (notification_enabled được đặt thành 0 vô hiệu hóa thông báo cho một 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 việc use generic-service nghĩa là gì, nó chỉ đơn giản là kế thừa các giá trị của mẫu dịch vụ được gọi là “dịch vụ chung” được xác định theo mặc định.

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

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 server từ xa của bạn , bạn sẽ được cài đặt . Đảm bảo truy cập giao diện web Nagios của bạn và xem trang Dịch vụ để xem tất cả các server và dịch vụ được giám sát của bạn:

Trang Dịch vụ Nagios

Kết luận

Đến đây bạn đang theo dõi server của bạn và một số dịch vụ của họ, bạn có thể cần dành một 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ể cần cài đặt thông báo, chẳng hạn như bạn nhận được email khi việc sử dụng đĩa của bạn đạt đến ngưỡng cảnh báo hoặc ngưỡng quan trọng hoặc trang web chính của bạn không hoạt động, vì vậy bạn có thể giải quyết tình huống này ngay lập tức hoặc trước khi sự cố xảy ra.

Chúc may mắn!


Tags:

Các tin liên quan

Cách cài đặt MongoDB trên CentOS 7
2017-09-11
Cách cài đặt WordPress với Caddy trên CentOS 7
2017-08-04
Cách cài đặt và sử dụng Webmin trên CentOS 7
2017-07-13
Cách bật SFTP mà không cần quyền truy cập Shell trên CentOS 7
2017-06-01
Cách theo dõi cảnh báo Zabbix với Alerta trên CentOS 7
2017-05-31
Cách cài đặt Perlbrew và quản lý nhiều phiên bản Perl 5 trên CentOS 7
2017-05-31
Cách cấu hình NTP để sử dụng trong Dự án NTP Pool trên CentOS 7
2017-05-11
Cách lưu trữ một trang web với Caddy trên CentOS 7
2017-05-10
Cách cài đặt và cấu hình Ghost trên CentOS 7
2017-04-10
Cách cấu hình một client FreeIPA trên CentOS 7
2017-03-24