Header Ads Widget

Ticker

6/recent/ticker-posts

Xây dựng hệ thống giám sát mạng Nagios Core bằng NRPE trên Ubuntu

Keyword: How to install Nagios Core by NRPE on Ubuntu
Có rất nhiều trình giám sát mạng hổ trợ cho anh em IT chúng ta rất nhiều nhưng trong đó sự nổi bật và lớn nhất mà mình từng gặp qua đó là Nagios và Zabbix, đây là 2 ứng dụng mã nguồn mỡ được sử dụng rộng rãi hỗ trợ cho các công ty từ nhỏ cho đến lớn, giúp việc phát hiện lỗi hệ thống hoặc các vấn đề sự cố về mạng sẻ trở nên dễ dàng hơn kịp thời khắc phục
Phần mềm còn có khả năng thông báo cho Admin biết khi phát hiện thấy bất kì bất thường nào đang xảy ra trong hệ thống và cũng đồng thời gửi thông báo qua Email cho chúng ta biết, thôi với các bạn theo dõi Blog mình lâu rồi thì mình cũng ngán viết lý thuyết dài dòng lắm vào thẳng vấn đề làm luôn vậy
  • Trên máy Nagios Server ta sẻ thực hiện cài đặt như sau:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install wget build-essential unzip openssl libssl-dev
sudo apt-get install apache2 php libapache2-mod-php php-gd libgd-dev  
sudo apt-get install -y autoconf gcc libc6 make wget unzip apache2 php libapache2-mod-php7.2 libgd-dev

  • Thực hiện Download và giải nén gói Nagios về: tại đây mình đang tải bản 4.4.5 và tạo thư mục Nagios để cho dễ nhìn xíu khi download về nó cũng đỡ lộn xộn hơn hihi
sudo mkdir Nagios
cd Nagios
sudo wget -O nagioscore.tar.gz https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.5.tar.gz
tar -xvf nagioscore.tar.gz
  • Tiếp đến mình thực hiện truy cập vào thư mục mới giải nén và cài đặt, tạo User cho Nagios:

cd nagioscore-nagios-4.4.5/
sudo ./configure --with-httpd-conf=/etc/apache2/sites-enabled
sudo make all
sudo make install-groups-users
sudo usermod -a -G nagios www-data
sudo make install
sudo make install-daemoninit
sudo make install-commandmode
sudo make install-config
  • Thực hiện cài đặt Apache để chúng ta có thể show web Nagios ra
sudo apt-get install apache2
sudo make install-webconf
sudo a2enmod rewrite
sudo a2enmod cgi
  • Thực hiện cấu hình tường lửa cho Apache có thể truy cập ra ngoài nào
sudo ufw allow Apache
sudo ufw reload
  • Bây giờ là bước khá quang trọng đây chúng ta sẻ cấu hình và tạo tài khoản admin cho trang web Nagios của chúng ta bằng câu lệnh sau
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
sudo systemctl restart apache2.service
sudo systemctl start nagios.service
Giờ thì hãy truy cập thử trang web của chúng ta bằng địa chỉ IP thử nhé, địa chỉ IP mà mình đã cài Nagios là: 10.0.1.136 nên vì thế mình sẻ thực hiện truy cập như sau
http://10.0.1.136/nagios
Trên là giao diện sau khi đã cài đặt, ak mà quên chụp cho các bạn xem bảng Host của chúng ta bây giờ vì mình chưa cấu hình NRPE nên nó chỉ có mõi localhost thôi như hình mình chụp ở dưới nhé
Mình sẻ setup mail để khi có sự cố Nagios sẻ gửi thông báo về cho mail chúng ta, vì vậy mình sẻ truy cập vào đường dẫn sau để chỉnh sửa
sudo vi  /usr/local/nagios/etc/objects/contacts.cfg
Tìm đến dòng này và sửa nó lại nhé
Phần nagios@localhost mình sẻ thay thế lại thành [email protected] để nó gửi thông báo về cho mình sau đó mình save lại bằng cách bấm ESC:wq nếu các bạn dùng VIM như mình và thực hiện bước kế tiếp nào
Bây giờ để cấu hình cho việc giám sát các máy khác thì phải làm như thế nào ? tại máy server cài Nagios ta tạo thêm thư mục servers nằm trong /usr/local/nagios/etc/
mkdir /usr/local/nagios/etc/servers
quay về edit file nagios.cfg/usr/local/nagios/etc/nagios.cfg tìm đến phần cfg_dir=/usr/local/nagios/etc/servers bỏ phần cmd của nó đi nghĩa là bỏ dấu # đấy các bạn
truy cập vào thư mục server vừa mới tạo hồi nảy và tạo file cfg chính là file dành giám sát máy client mà mình muốn giám sát, ok ở đây mình sẻ giám sát máy 10.0.1.182 nên mình sẻ tạo như sau
Điền vào trong file 10.0.1.182.cfg các thông tin sau nhé ở đây mình chỉ giám sát SSH nên chỉ điền mõi SSH thôi.
define host{
use                             linux-server
host_name                       client
alias                           client
address                         10.0.1.182
max_check_attempts              5
check_period                    24x7
notification_interval           30
notification_period             24x7
}

define service {
use                             generic-service
host_name                       client
service_description             SSH
check_command                   check_ssh
notifications_enabled           0
}
Thực hiện khởi động lại service nagios và check
systemctl restart nagios
bây giờ restart lại services và kiểm tra ở web thì đã hiện thị lên máy cần theo dõi nhưng nó vẫn down vậy chúng ta sẻ làm cho nó up lên
Thực hiện cài đặt Nagios Plugin và NRPE cho máy server của mình và máy client luôn, cả 2 máy đều cần phải cài đặt 2 cái này, đối với máy server đã cài 2 cái này rồi thì không cần cài và cấu hình nó nữa, nhưng đổi với máy client mà ta muốn theo dõi, cứ mõi lần muốn theo dõi máy nào đó ta phải tạo 1 file cfg trong thư mục servers của máy nagios server và cài đặt Nagios Plugin, NRPE cho máy client đó nên các bạn chú ý vấn đề này nhé, do mình chưa cài đặt Nagios Plugin và NRPE cho máy server nên mình sẻ thực hiện cài đặt luôn cho máy server bây giờ và máy client của mình hiện tại là máy 10.0.1.182 y như vậy nên tại thư mục Nagios vừa mới tạo chạy các lệnh sau để cài Nagios Plugin
sudo apt-get install -y autoconf gcc libc6 libmcrypt-dev make libssl-dev wget bc gawk dc build-essential snmp libnet-snmp-perl gettext
wget --no-check-certificate -O nagios-plugins.tar.gz https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz
tar -xvf nagios-plugins.tar.gz
cd nagios-plugins-release-2.2.1/
sudo ./tools/setup
sudo ./configure
sudo make
sudo make install
sudo systemctl status nagios.service
Như bạn thấy đấy khi mình cài đặt Nagios Plugin vào rồi thì cái localhost của mình đã Up rồi đó mà thằng client thì nó cũng Down vậy giờ phải thực hiện cài thêm NRPE trong thư mục nagios đã tạo chạy các lệnh sau:
sudo apt-get update
sudo apt-get install -y autoconf automake gcc libc6 libmcrypt-dev make libssl-dev wget openssl
wget --no-check-certificate -O nrpe.tar.gz https://github.com/NagiosEnterprises/nrpe/archive/nrpe-3.2.1.tar.gz
tar -xvf nrpe.tar.gz
cd nrpe-nrpe-3.2.1/
sudo ./configure --enable-command-args --with-ssl-lib=/usr/lib/x86_64-linux-gnu/
sudo make all
sudo make install-groups-users
sudo make install
sudo make install-config
sudo sh -c "echo >> /etc/services"
sudo sh -c "sudo echo '# Nagios services' >> /etc/services"
sudo sh -c "sudo echo 'nrpe    5666/tcp' >> /etc/services"
sudo make install-init
sudo systemctl enable nrpe.service

  • Cấu hình tưởng lửa xíu để NRPE có thể đi ra ngoài nào do NRPE sẻ đi bằng Port 5666 các bạn nên né Port đó ra nếu sau này làm thêm cái gì đó nhé
sudo mkdir -p /etc/ufw/applications.d
sudo sh -c "echo '[NRPE]' > /etc/ufw/applications.d/nagios"
sudo sh -c "echo 'title=Nagios Remote Plugin Executor' >> /etc/ufw/applications.d/nagios"
sudo sh -c "echo 'description=Allows remote execution of Nagios plugins' >> /etc/ufw/applications.d/nagios"
sudo sh -c "echo 'ports=5666/tcp' >> /etc/ufw/applications.d/nagios"
sudo ufw allow NRPE
sudo ufw reload

  • Edit file nrpe.cfg bằng câu lệnh sau
sudo sh -c "sed -i '/^allowed_hosts=/s/$/,10.0.1.154/' /usr/local/nagios/etc/nrpe.cfg"
sudo sh -c "sed -i 's/^dont_blame_nrpe=.*/dont_blame_nrpe=1/g' /usr/local/nagios/etc/nrpe.cfg"
  • Hoặc truy cập vào đây để edit nhưng tìm hơi cực xíu thôi haha
vi /usr/local/nagios/etc/nrpe.cfg
  • tìm đến đoạn sau để edit
allowed_hosts=127.0.0.1,10.25.5.2
dont_blame_nrpe=1

Restart lại cấu hình
sudo systemctl start nrpe.service
  • Thực hiện check xem NRPE hoạt động không nhé
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
Báo như dưới là ngon
NRPE v3.2.1
  • Service/ Daemon Commands
sudo systemctl start nrpe.service
sudo systemctl stop nrpe.service
sudo systemctl restart nrpe.service
sudo systemctl status nrpe.service
Sau khi cài đặt NRPE xong thì thằng client của bạn cũng đã hiện lên Up rồi
Đối với máy client thì các bạn cũng cài đặt Plugin và NRPE tương tự thì mới được kết quả như mình nhé hehe, chúc các bạn thành công, nếu không hiểu chỗ nào đừng ngại cmt bên dưới mình sẻ giải đáp cho các bạn trong khả năng của mình.
Nguồn: itblognote.com

Post a Comment

0 Comments