Bài 4 - Hướng dẫn cài đặt Nagios Core 4.3.1 trên CentOS 7
Hướng dẫn cài đặt Nagios Core 4.3.1 trên CentOS 7
Table of contents
1. Chuẩn bị
1.1 Chuẩn bị môi trường cài đặt
Mô hình cài đặt giám sát các host như sau:
Trong bài hướng dẫn này, chúng tôi sẽ sử dụng 2 host. Host thứ nhất nagios
dùng để cài Nagios Core làm server, host thứ 2 là web01
làm client giám sát 2 dịch vụ SSH
và HTTP
.
IP Planning
Link docs: https://goo.gl/yOim1o
2. Cài đặt Nagios trên Nagios Server
2.1 Cài đặt các gói chuẩn bị cần thiết
Để có thể cài đặt và sử dụng được Nagios Core, chúng ta phải cài đặt một số thư viện và các gói thư viện dịch vụ đi kèm.
- Bước 1: Cài đặt các gói thư viện
yum install gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel xinetd unzip httpd php php-fpm curl wget -y
- Bước 2: Mở port 80 cho HTTPD trên Firewalld
Nếu server của bạn có sử dụng Firewalld, hãy mở port cho httpd bằng lệnh:
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
- Bước 3: Tắt SELinux
Tắt tức thời bằng lệnh:
setenforce 0
Chỉnh sửa file cấu hình của SELinux:
vi /etc/sysconfig/selinux
Sửa dòng SELINUX=enforcing
thành SELINUX=disable
.
2.2 Tạo user cho Nagios
Tạo user nagios
trên máy chủ cài đặt Nagios Server
useradd -m -s /bin/bash nagios
-m
: Tạo thư mục home cho user-s
: User sử dụng Bash Shell mặc định
Tạo group nagcmd
cho phép sử dụng thư mục Web UI, thêm nagios và apache:
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd apache
2.3 Cài đặt Nagios Core và Plugin
Chúng ta tải Nagios Core về server. Tại thời điểm viết bài, phiên bản mới nhất là Nagios Core 4.3.1. Để cập nhật mới nhất, vui lòng bấm vào đây.
cd /opt
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.3.1.tar.gz
Sau khi tải xong, chúng ta cùng giải nén và bắt đầu phần biên dịch Nagios Core và Plugin trên máy chủ mà ta muốn cài Nagios.
- Bước 1: Giải nén source Nagios
tar xf nagios-4.3.1.tar.gz
- Bước 2: Biên dịch Nagios
cd nagios-4.3.1
./configure --with-command-group=nagcmd
make all
make install
make install-commandmode
make install-init
make install-config
make install-webconf
- Bước 3: Cho phép nagios khởi động cùng với hệ thống:
chkconfig nagios on
- Bước 4: Cài đặt password cho
nagiosadmin
, khi đăng nhập Web:
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
- Bước 5: Tải gói Plugin và giải nén
cd /opt
wget https://nagios-plugins.org/download/nagios-plugins-2.2.0.tar.gz
tar xzf nagios-plugins-2.2.0.tar.gz
- Bước 6: Biên dịch các Plugin từ source code
cd nagios-plugins-2.2.0
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
make
make install
2.4 Khởi động Nagios Server
Khởi động lại Apache và chạy nagios
, cho phép khởi động cùng hệ thống:
systemctl enable httpd
systemctl restart httpd
service nagios restart
Để kiểm tra, hãy truy cập vào giao diện Web và đăng nhập bằng nagiosadmin
và Password vừa tạo ở địa chỉ:
http://192.168.100.196/nagios
3. Giám sát host/dịch vụ trên Linux
3.1 Giám sát thông qua NRPE
3.1.1 Cài đặt NRPE trên Nagios Server
NRPE
- (Nagios Remote Plugin Executor) là một công cụ đi kèm để theo dõi tài nguyên hệ thống, nó còn được biết như một Agent để theo dõi các host từ xa (Remote hosts).
Mục đích của việc cài đặt này là để biên dịch ra plugin check_nrpe
.
- Bước 1: Tải và Giải nén source gói NRPE
cd /opt
curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
tar xf nrpe-*.tar.gz
- Bước 2: Biên dịch NRPE từ source
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
make all
make install
Bước 3: Thêm câu lệnh
check_nrpe
- Mở file
/usr/local/nagios/etc/objects/commands.cfg
:
- Mở file
```
vi /usr/local/nagios/etc/objects/commands.cfg
```
- Thêm câu lệnh sau:
```
...
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
```
- Thoát và lưu lại file.
3.1.2 Cài đặt NRPE trên host cần giám sát
Trên host Linux cần giám sát, chúng ta cần thực hiện các bước sau:
Bước 1: Cập nhật repo cho host
Đối với client sử dụng CentOS, cài đặt repo
epel-release
:yum install epel-release
Đối với client sử dụng Ubuntu:
apt-get update
Bước 2: Cài đặt NRPE và các Plugin trên host cần giám sát
Đối với client sử dụng CentOS, cài đặt repo
epel-release
:yum install nrpe nagios-plugins-all
Đối với client sử dụng Ubuntu:
apt-get install nagios-plugins nagios-nrpe-server
Bước 3: Cấu hình NRPE trên host cần giám sát
Bước này có thể làm trên cả 2 distro CentOS và Ubuntu.
Sửa file cấu hình NRPE
vi /etc/nagios/nrpe.cfg
Ở bài này, host web01
sử dụng OS là CentOS 7, vì vậy hãy làm theo những hướng dẫn cấu hình trên CentOS.
Cho phép Server Nagios có quyền truy cập và sử dụng NRPE
Tìm trường allowed_hosts
và thêm địa chỉ IP Nagios server của bạn vào. Mỗi IP cách nhau bởi dấu phẩy (,):
allowed_hosts=127.0.0.1, 192.168.100.196
Đừng thoát khỏi file, làm tiếp theo bước dưới để khai báo câu lệnh cho NRPE.
Thêm câu lệnh để check các dịch vụ
Trên 2 distro CentOS và Ubuntu, thư mục chứa các plugin trên client là khác nhau:
- Với CentOS, thư mục chứa Plugin ở
/usr/lib64/nagios/plugins/
- Với Ubuntu, thư mục chứa Plugin ở
/usr/lib/nagios/plugins/
Vì vậy, để thêm các lệnh check dịch vụ ở 2 distro cũng phải khai báo đúng đường dẫn trỏ tới thư mục chứa các plugin. Ở ví dụ này, tôi sẽ check 2 dịch vụ SSH và HTTP qua NRPE:
- Với CentOS
- Với Ubuntu
Lưu lại file và thoát.
Để check các dịch vụ khác, chúng ta thêm câu lệnh tương tự với hướng dẫn bên trên. Lưu ý, cần chạy thử plugin trước để có hướng dẫn sử dụng.
Bước 4: Khởi động lại dịch vụ
Với host sử dụng CentOS
systemctl restart nrpe.service systemctl enable nrpe.service
Với host sử dụng Ubuntu
service nagios-nrpe-server restart
Sau khi cài đặt và cấu hình NRPE trên host mà chúng ta muốn giám sát, chúng ta cần phải thêm host đó vào cấu hình Nagios Server trước khi bắt đầu giám sát nó.
3.1.3 Thêm thông tin host trên Nagios Server
Bước 1: Cấu hình Nagios Server
Chúng ta đặt tất cả các file cấu hình host giám sát vào một thư mục, sửa file cấu hình chính của nagios:
vi /usr/local/nagios/etc/nagios.cfg
Tìm và bỏ "#" ở dòng:
... cfg_dir=/usr/local/nagios/etc/servers ...
Tạo thư mục để lưu trữ file cấu hình các host cần giám sát:
mkdir /usr/local/nagios/etc/servers
Bước 2: Tạo file cấu hình cho host giám sát trên Nagios Server
Trên Nagios Server, tạo file cấu hình cho mỗi host mà bạn muốn giám sát chúng ở folder /usr/local/nagios/etc/servers/
. Trong trường hợp của tôi, tôi sẽ đặt tên cho nó là web01.cfg
vi /usr/local/nagios/etc/servers/web01.cfg
Thêm nội dung sau vào file, phần host_name
để định nghĩa ra một host mới, alias
là phần mô tả ngắn về host; address
là địa chỉ IP của host cần giám sát.
define host {
use linux-server
host_name web01
alias My Apache server
address 192.168.100.199
max_check_attempts 5
check_period 24x7
notification_interval 30
notification_period 24x7
}
Với phần cấu hình trên, chúng ta chỉ có thể theo dõi được trạng thái UP/DOWN của host cần giám sát. Để giám sát thêm các dịch vụ, chúng ta tạo thêm các khối service
trong phần cấu hình. check_command
có thể được thêm và cài đặt các ngưỡng cảnh báo.
SSH:
define service {
use generic-service
host_name web01
service_description SSHMonitor
check_command check_nrpe!check_ssh
}
HTTP:
define service {
use generic-service
host_name web01
service_description HTTPMonitor
check_command check_nrpe!check_http
notifications_enabled 1
}
Chú thích:
use generic-service
: Sử dụng templete có sẵn cho các dịch vụnotifications_enabled 1
: Bật cảnh báo khi dịch vụ thay đổi trạng thái, 0 để tắt.
Đây là file web01.cfg
hoàn chỉnh, theo dõi 2 dịch vụ HTTP và SSH qua NRPE:
define host {
use linux-server
host_name web01
alias My Apache server
address 192.168.100.199
max_check_attempts 5
check_period 24x7
notification_interval 30
notification_period 24x7
}
define service {
use generic-service
host_name web01
service_description SSHMonitor
check_command check_nrpe!check_ssh
}
define service {
use generic-service
host_name web01
service_description HTTPMonitor
check_command check_nrpe!check_http
}
Sau khi sửa xong, chúng ta lưu lại file và khởi động lại nagios server.
service nagios restart
3.1.4 Kiểm tra trên Web UI của Nagios Server
Vào giao diện Web để kiểm tra lại:
http://192.168.100.196/nagios
- Bước 1: Bấm vào Service
Chúng ta sẽ thấy một host mới có tên web01
được thêm mới và các dịch vụ đang ở trạng thái PENDING
.
Mặc định khi mới thêm host, Nagios Server chưa check các dịch vụ. Để check xem dịch vụ trên host có chạy hay không? Chúng ta bấm vào dịch vụ cần check, ở đây tôi sẽ chọn dịch vụ HTTP
.
- Bước 2: Bấm vào Re-schedule the next check of this service
Khi click vào, chúng ta thấy một thông báo "This service has not yet been checked, so status information is not avaliable.", Đừng lo lắng, hãy click vào phần tô đỏ Re-schedule the next check of this service để force lượt check tiếp theo.
- Bước 3: Click tiếp vào Commit.
- Bước 4: Click tiếp vào Done.
- Bước 5: Thông tin dịch vụ đã được check sẽ hiện ra như sau:
Tương tự, nếu bạn muốn check dịch vụ khác. Với ví dụ, này là SSH
, các bạn thao tác lại như với dịch vụ HTTP
mà tôi vừa hướng dẫn bên trên.
Sau khi Nagios Server check xong các dịch vụ, Dashboard sẽ hiển thị như sau:
Như vậy, 2 dịch vụ mà chúng ta giám sát trên host hoạt động bình thường.
3.2 Giám sát dịch vụ MySQL
Vui lòng bấm vào đây.
3.3 Giám sát dịch vụ RabbitMQ
Vui lòng bấm vào đây.
0 Response to "Bài 4 - Hướng dẫn cài đặt Nagios Core 4.3.1 trên CentOS 7"
Post a Comment
Nội Quy Khi Comment:
» Các bài comment phải nghiêm túc, không dung tục, không spam.
» Nội dung phải liên quan tới chủ đề bài viết.
» Những nhận xét spam sẽ bị xóa.
» Sử dụng tài khoản Google để được trợ giúp.
» Nặc danh thường không được chào đón.
Note : Hãy để lại nhận xét bên dưới bạn nhé !