Cách cài đặt công cụ giám sát Nagios 4.3.x trên Debian 9

theanh

Administrator
Nhân viên
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt và cấu hình phiên bản mới nhất của Nagios Core, hiện tại là 4.3.4, từ các nguồn trong Debian 9.1, tên mã là Stretch.

Nagios, còn được gọi là Nagios Core, là một công cụ giám sát mạng Nguồn mở miễn phí do các nhà phát triển của nó tích cực duy trì, được thiết kế để giám sát toàn bộ cơ sở hạ tầng mạng. Nagios có thể giám sát hầu hết mọi thiết bị mạng, miễn là thiết bị có kết nối mạng được cấu hình, chẳng hạn như bộ định tuyến, bộ chuyển mạch, máy chủ, máy tính để bàn, thiết bị tường lửa, thiết bị IoT. Ngoài việc giám sát các thiết bị để xác định trạng thái mạng của chúng, Nagios cũng có thể giám sát các dịch vụ mạng, ứng dụng hoặc các tác vụ cụ thể khác liên quan đến hệ điều hành và có thể được cấu hình để gửi cảnh báo qua email hoặc SMS để thông báo cho quản trị viên mạng về các thiết bị, sự cố ngừng hoạt động hoặc lỗi dịch vụ có thể xảy ra.

Yêu cầu​

  • Debian 9.1 được cài đặt trên máy bare-metal hoặc trên máy chủ riêng ảo. Tốt nhất là cài đặt phải được thực hiện với các yêu cầu phần mềm tối thiểu.
  • Card giao diện mạng được cấu hình với địa chỉ IP tĩnh.
  • Truy cập vào tài khoản root hoặc người dùng có quyền tài khoản root thông qua sudo.
  • Tên miền, riêng tư hoặc công khai, với các bản ghi A DNS thích hợp được cấu hình. Trong trường hợp bạn không có máy chủ DNS được cấu hình tại cơ sở của mình, bạn có thể truy cập Nagios thông qua địa chỉ IP của máy chủ.

Cấu hình ban đầu​

Trước khi chúng ta bắt đầu cài đặt Nagios từ các nguồn, hãy đảm bảo hệ thống đáp ứng tất cả các yêu cầu phần mềm để biên dịch và cài đặt Nagios. Ở bước đầu tiên, hãy cập nhật kho lưu trữ hệ thống và các gói phần mềm của bạn bằng cách đưa ra lệnh bên dưới.
Mã:
apt update
Mã:
apt upgrade


Ở bước tiếp theo, hãy khởi chạy một lệnh mới để cài đặt một số tiện ích cần thiết sẽ được sử dụng để quản lý hệ thống của bạn thêm nữa từ dòng lệnh.
Mã:
apt install wget unzip zip bash-completion
Tiếp theo, hãy thiết lập tên cho hệ thống của bạn bằng cách thực thi lệnh sau:
Mã:
hostnamectl set-hostname nagios.server.lan
Xác minh tên máy chủ và tệp máy chủ bằng cách phát hành các lệnh bên dưới.
Mã:
hostnamectl
Mã:
cat /etc/hostname
Mã:
cat /etc/hosts
Cuối cùng, khởi động lại hệ thống để áp dụng tên máy chủ mới.
Mã:
init 6
Nagios là ứng dụng giám sát dựa trên web với một số phần được viết bằng ngôn ngữ lập trình phía máy chủ PHP và các chương trình CGI khác. Để chạy các tập lệnh tệp PHP của Nagios, một máy chủ web, chẳng hạn như máy chủ Apache HTTP và một cổng xử lý PHP phải được cài đặt và hoạt động trong hệ thống. Để cài đặt máy chủ web Apache và trình thông dịch PHP cùng với tất cả các mô-đun PHP cần thiết mà Nagios 4 cần để chạy đúng cách, hãy đưa ra lệnh sau trong bảng điều khiển máy chủ của bạn.
Mã:
apt install apache2 libapache2-mod-php7.0 php7.0
Sau khi Apache và PHP đã được cài đặt, hãy kiểm tra xem máy chủ web có đang hoạt động và lắng nghe các kết nối mạng trên cổng 80 hay không bằng cách đưa ra lệnh sau với quyền root.
Mã:
netstat –tlpn
Trong trường hợp tiện ích mạng netstat không được cài đặt theo mặc định trong hệ thống Debian 9 của bạn, hãy thực hiện lệnh bên dưới để cài đặt.
Mã:
apt install net-tools


Bằng cách kiểm tra đầu ra lệnh netstat, bạn có thể thấy rằng máy chủ web apache đang lắng nghe các kết nối mạng đến trên cổng 80.

Trong trường hợp bạn đã bật tường lửa trên hệ thống của mình, chẳng hạn như ứng dụng tường lửa UFW, bạn nên thêm một quy tắc mới để cho phép lưu lượng HTTP để vượt qua tường lửa bằng cách phát lệnh sau.
Mã:
ufw allow WWW
hoặc
Mã:
ufw allow 80/tcp
Trong trường hợp bạn muốn sử dụng các quy tắc thô iptables để cho phép lưu lượng truy cập đến cổng 80 trên tường lửa để khách truy cập có thể duyệt giao diện web Nagios Core, hãy thêm quy tắc sau.
Mã:
apt-get install -y iptables-persistent
Mã:
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
Mã:
systemctl iptables-persistent save
Mã:
systemctl iptables-persistent reload
Tiếp theo, hãy bật và áp dụng các mô-đun Apache sau mà ứng dụng web Nagios yêu cầu để chạy đúng cách bằng cách phát lệnh bên dưới.
Mã:
a2enmod viết lại tiêu đề cgi
Mã:
systemctl khởi động lại apache2


Cuối cùng, hãy kiểm tra xem trang web mặc định của máy chủ web Apache có thể hiển thị trong trình duyệt của máy khách hay không bằng cách truy cập địa chỉ IP máy Debian hoặc tên miền của bạn qua giao thức HTTP, như thể hiện trong hình ảnh bên dưới. Nếu bạn không biết địa chỉ IP máy của mình, hãy thực hiện lệnh ifconfig hoặc ip a.




Ở bước tiếp theo, chúng ta cần thực hiện một số thay đổi nữa đối với tệp cấu hình mặc định của PHP để đảm bảo rằng cài đặt múi giờ của PHP được cấu hình chính xác và khớp với vị trí vật lý của hệ thống. Mở tệp /etc/php/7.0/apache2/php.ini để chỉnh sửa và đảm bảo rằng các dòng sau được thiết lập như sau.
Mã:
date.timezone = Europe/London
Thay thế biến múi giờ theo thời gian thực của bạn bằng cách tham khảo danh sách múi giờ do tài liệu PHP cung cấp tại liên kết sau http://php.net/manual/en/timezones.php.

Khởi động lại trình nền apache để áp dụng các thay đổi.
Mã:
systemctl restart apache2
Sau khi bạn đã thực hiện các thay đổi cần thiết, hãy tạo một tệp thông tin php và khởi động lại trình nền apache để áp dụng các thay đổi bằng cách đưa ra các lệnh sau.
Mã:
echo ''| tee /var/www/html/info.php
Mã:
systemctl restart apache2
Kiểm tra xem múi giờ PHP đã được cấu hình đúng chưa bằng cách truy cập tệp tập lệnh phpinfo từ trình duyệt tại URL sau, như minh họa trong hình ảnh bên dưới. Cuộn xuống phần cài đặt ngày để kiểm tra cài đặt múi giờ php.



Cài đặt Nagios Core​

Trước khi tải xuống và biên dịch Nagios Core từ các nguồn, trước tiên hãy đảm bảo bạn đã cài đặt các gói bắt buộc sau vào hệ thống của mình bằng cách sử dụng lệnh bên dưới.
Mã:
apt install autoconf gcc libc6 make apache2-utils libgd-dev
Sau khi tất cả các gói và phụ thuộc cần thiết để biên dịch Nagios từ các nguồn được cài đặt trên hệ thống Debian của bạn, hãy truy cập trang web chính thức của Nagios tại https://www.nagios.org/downloads/nagios-core/và tải xuống phiên bản mới nhất của kho lưu trữ nguồn ổn định Nagios Core bằng cách sử dụng lệnh Tiện ích wget, như được hiển thị trong đoạn trích lệnh sau.
Mã:
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.4.tar.gz
Sau khi tải xuống tệp tarball nguồn Nagios, hãy giải nén tệp tar và vào thư mục nagios đã giải nén, bằng các lệnh sau. Chạy lệnh ls bên trong thư mục đã giải nén nagios để liệt kê các tệp nguồn.
Mã:
tar xzf nagios-4.3.4.tar.gz
Mã:
cd nagios-4.3.4/
Mã:
ls


Khi bạn đang ở trong thư mục nguồn đã giải nén Nagios, hãy bắt đầu quá trình biên dịch Nagios từ các nguồn bằng cách đưa ra các lệnh bên dưới. Trước tiên, cấu hình Nagios để biên dịch với đường dẫn cấu hình http của máy chủ web Apache trỏ đến thư mục sites-enabled.
Mã:
./configure --with-httpd-conf=/etc/apache2/sites-enabled
Tiếp theo, biên dịch Nagios bằng cách đưa ra lệnh sau, như minh họa trong các hình ảnh bên dưới.
Mã:
make all




Tiếp theo, tạo người dùng và nhóm hệ thống nagios và thêm tài khoản nagios vào người dùng thời gian chạy Apache để người dùng nagios có đủ quyền cần thiết để truy cập tài nguyên web.
Mã:
useradd nagios
Mã:
usermod -a -G nagios www-data
Bây giờ, bắt đầu cài đặt các tệp nhị phân Nagios, tập lệnh CGI và tệp HTML bằng cách đưa ra lệnh sau. Đầu ra cuối cùng của lệnh make install sẽ hiển thị các vị trí nhị phân, như được hiển thị trong hình ảnh bên dưới.
Mã:
make install


Tiếp theo, cài đặt các tệp init systemd của daemon Nagios và kích hoạt dịch vụ nagios trên toàn hệ thống bằng cách phát hành các lệnh sau.
Mã:
make install-init
Mã:
systemctl enable nagios.service


Ngoài ra, hãy cài đặt và cấu hình tệp lệnh bên ngoài của Nagios bằng cách chạy lệnh bên dưới.
Mã:
make install-commandmode


Tiếp theo, chạy lệnh sau để cài đặt các tệp cấu hình mẫu của Nagios mà daemon Nagios yêu cầu để khởi động và hoạt động bình thường.
Mã:
make install-config


Cuối cùng, hãy cài đặt tệp cấu hình máy chủ web Apache cho Nagios, tệp này sẽ nằm trong thư mục /etc/apacahe2/sites-enabled/, bằng cách thực hiện lệnh bên dưới.
Mã:
make install-webconf


Tạo tài khoản người dùng nagiosadmin với mật khẩu tương ứng mà máy chủ web Apache yêu cầu để có thể đăng nhập vào công cụ web Nagios bằng cách đưa ra lệnh sau.
Mã:
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin


Để truy cập bảng điều khiển web Nagios, trước tiên, hãy khởi động lại máy chủ Apache HTTP và bắt đầu dịch vụ Nagios bằng cách đưa ra các lệnh sau.
Mã:
systemctl restart apache2
Mã:
systemctl start nagios
Sau đó, hãy đăng nhập vào Giao diện web Nagios bằng cách mở trình duyệt và truy cập địa chỉ IP hoặc tên miền hoặc FQDN của máy chủ và thêm đường dẫn URL /nagios qua giao thức HTTP, như minh họa trong ảnh chụp màn hình bên dưới. Sử dụng người dùng nagiosadmin với mật khẩu được cấu hình trước đó cho người dùng này để đăng nhập vào giao diện web Nagios.




Cài đặt Nagios Plugins​

Nagios engine hiện đã được cài đặt trên hệ thống. Tuy nhiên, phần mềm Nagios vẫn chưa hoạt động vì các plugin được sử dụng để kiểm tra máy chủ và dịch vụ chưa được cài đặt. Có thể quan sát hành vi này bằng cách điều hướng đến menu Hosts, tại đó bạn sẽ thấy lỗi plugin, như được hiển thị trong ảnh chụp màn hình bên dưới.



Để biên dịch và cài đặt một số Nagios Plugin cơ bản từ nguồn, trước tiên hãy đảm bảo bạn cài đặt các thư viện và phụ thuộc sau bằng cách đưa ra lệnh sau.
Mã:
apt install libmcrypt-dev make libssl-dev bc gawk dc build-essential snmp libnet-snmp-perl gettext libldap2-dev smbclient fping default-libmysqlclient-dev
Sau khi tất cả các gói phụ thuộc đã được cài đặt trong hệ thống của bạn, hãy truy cập trang kho lưu trữ Nagios Plugins bằng cách truy cập địa chỉ sau https://github.com/nagios-plugins/nagios-plugins/releases và lấy kho lưu trữ mã nguồn mới nhất với sự trợ giúp của Tiện ích dòng lệnh wget, như được hiển thị trong ví dụ lệnh bên dưới.
Mã:
wget https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz
Sau đó, giải nén tệp tarball mã nguồn Nagios Plugins đã nén và vào thư mục nagios-plugins đã giải nén bằng cách thực thi các lệnh sau.
Mã:
tar xfz release-2.2.1.tar.gz
Mã:
cd nagios-plugins-release-2.2.1/


Để biên dịch và cài đặt Nagios Plugins từ các nguồn, hãy thực thi các tập lệnh và lệnh sau với quyền root, như được hiển thị trong đoạn trích bên dưới.
Mã:
./tools/setup
Mã:
./configure
Mã:
make
Mã:
make install
Sau khi tất cả các plugin được cài đặt, bạn có thể định vị chúng tại đường dẫn hệ thống /usr/local/nagios/libexec/. Phát hành lệnh ls để kiểm tra toàn bộ nội dung của thư mục /usr/local/nagios/libexec/ và xem những plugin nào có sẵn cho Nagios trong hệ thống của bạn.
Mã:
ls /usr/local/nagios/libexec/


Để Nagios engine có thể chọn và sử dụng các plugin đã cài đặt, bạn cần khởi động lại và kiểm tra trạng thái dịch vụ nagios bằng các lệnh sau.
Mã:
systemctl restart nagios.service
Mã:
systemctl status nagios.service
Để kiểm tra xem các Plugin Nagios có hoạt động như mong đợi hay không, hãy đăng nhập lại vào Giao diện web Nagios bằng cách mở trình duyệt và truy cập địa chỉ IP, FQDN hoặc tên miền của máy chủ và điều hướng đến menu Máy chủ hoặc Dịch vụ, như minh họa trong ảnh chụp màn hình bên dưới. Các máy chủ và dịch vụ được giám sát sẽ được các plugin kiểm tra và sẽ hiển thị đầu ra chính xác, tùy thuộc vào trạng thái thoát lệnh plugin. Các màu hiển thị là: xanh lá cây cho OK, vàng cho Cảnh báo và đỏ cho Nghiêm trọng.



Để sử dụng giao thức HTTPS để truy cập giao diện web của Nagios engine thông qua kết nối an toàn, hãy đưa ra lệnh sau để kích hoạt mô-đun SSL của máy chủ web Apache và tệp cấu hình trang web SSL.
Mã:
a2enmod ssl
Mã:
a2ensite default-ssl.conf
Tiếp theo, để buộc khách truy cập tự động chuyển hướng đến giao thức HTTPS mỗi khi họ truy cập giao diện web Nagios từ trình duyệt của họ, hãy mở tệp /etc/apache2/sites-enabled/000-default.conf để chỉnh sửa và thêm các quy tắc viết lại sau đây sau câu lệnh DocumentRoot như trong ví dụ bên dưới.
Mã:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://%{HTTP_HOST}/$1


Cuối cùng, khởi động lại daemon Apache để áp dụng tất cả các quy tắc đã cấu hình cho đến nay và truy cập giao diện web Nagios qua giao thức HTTP.
Mã:
systemctl restart apache2.service
Để kiểm tra xem Apache có đang lắng nghe trên cổng HTTPS hay không, hãy thực hiện lệnh netstat và tìm ràng buộc cổng 443, như được hiển thị trong hình ảnh bên dưới.
Mã:
netstat -tlpn


Trong trường hợp ứng dụng tường lửa UFW chặn các kết nối mạng đến cổng HTTPS, bạn nên thêm một quy tắc mới để cho phép lưu lượng HTTPS đi qua tường lửa bằng cách phát hành lệnh sau.
Mã:
ufw allow 'WWW Full'
hoặc
Mã:
ufw allow 443/tcp
Trong trường hợp bạn chạy tường lửa iptables để bảo vệ hệ thống Debian của mình, hãy thêm quy tắc sau để cho phép lưu lượng truy cập đến cổng 443 trong tường lửa để khách truy cập có thể duyệt giao diện web Nagios Core.
Mã:
iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
Mã:
systemctl iptables-persistent save
Mã:
systemctl iptables-persistent reload
Bây giờ, bạn sẽ được tự động chuyển hướng đến bảng điều khiển web Nagios qua giao thức HTTPS. Vì bạn đang sử dụng cặp chứng chỉ Tự ký tự động do Apache cấp khi cài đặt, nên cảnh báo lỗi sẽ được hiển thị trong trình duyệt. Chấp nhận cảnh báo của trình duyệt và đăng nhập vào Nagios bằng thông tin đăng nhập đã được cấu hình trước đó, như được hiển thị trong ảnh chụp màn hình bên dưới.



Để thêm máy chủ mới để Nagios giám sát, hãy mở tệp cấu hình /usr/local/nagios/etc/objects/localhost.cfg để chỉnh sửa và thêm newdevice sau định nghĩa localhost, như được hiển thị trong ví dụ bên dưới.
Mã:
define host{
 use linux-server
 host_name router
 alias router
 address 192.168.1.1
 }




Thay thế các biến host_name, aliasIP address cho phù hợp và khởi động lại daemon Nagios để tải định nghĩa máy chủ mới và áp dụng các thay đổi.
Mã:
systemctl restart nagios
Thật là một vài phút và điều hướng đến menu Hosts trong giao diện web Nagios để kiểm tra trạng thái thiết bị, như minh họa trong hình ảnh bên dưới.



Vậy là xong! Bạn đã cài đặt và cấu hình thành công Nagios engine từ các nguồn trong Debian 9. Bạn có thể bắt đầu thêm các thiết bị mạng, máy chủ hoặc dịch vụ quan trọng của tổ chức để Nagios giám sát. Để biết các cấu hình tùy chỉnh khác liên quan đến Nagios Core và Nagios Plugins, hãy truy cập các trang tài liệu tại liên kết sau https://support.nagios.com/kb/category.php?id=12



 
Back
Bên trên