Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Cách tốt nhất để giám sát mạng với Raspberry Pi là sử dụng một phần mềm có tên là Nagios. Nagios giống như một công cụ phát hiện lỗi, nó sẽ kiểm tra một thứ thường xuyên (chẳng hạn như 5 phút một lần) và cảnh báo cho bạn khi việc kiểm tra này không hoạt động như mong đợi.
Trong bài đăng này, Quantrimang.com sẽ giải thích cách cài đặt Nagios trên Raspberry Pi để kiểm tra trạng thái mạng.
Điều đầu tiên bạn cần, là một hệ điều hành.
Bắt đầu với Raspbian. Raspbian Lite là hoàn hảo cho mục tiêu này, nhưng hãy tùy chọn phiên bản desktop bạn thích
Dưới đây là các bước đầu tiên bạn cần hoàn thành trước khi tiếp tục:
sudo apt update
sudo apt upgrade
sudo reboot
Vậy là xong, bạn đã sẵn sàng bắt đầu.
Nagios là một giao diện web, vì vậy bạn cần cài đặt Apache và PHP
sudo apt install apache2 libapache2-mod-php
Sau đó, có hai thứ cần tải xuống và cài đặt:
Tải Nagios Core | Tải Nagios Plugins:
http://nagios-plugins.org/download/
Cuối cùng, tải xuống kho lưu trữ với wget:
mkdir /home/pi/Downloads
cd /home/pi/Downloads
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.2.tar.gz
wget http://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
Bây giờ, bạn đã sẵn sàng chuyển sang quá trình cài đặt.
Tạo nhóm và người dùng Nagios
Bạn cần tạo một người dùng cụ thể cho Nagios, cộng với một nhóm cho người dùng nagios và apache (nagcmd)
sudo useradd -m -s /bin/bash nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios
sudo usermod -a -G nagcmd www-data
Biên dịch và cài đặt Nagios
Bây giờ, bạn phải giải nén các file từ kho lưu trữ, biên dịch các nguồn và cài đặt Nagios trên Raspberry Pi.
Di chuyển đến thư mục Downloads:
cd /home/pi/Downloads
Giải nén các file từ kho lưu trữ đã tải xuống trước đó.
tar zxvf nagios-4.4.2.tar.gz
Đừng quên thay đổi số phiên bản nếu bạn tải xuống một phiên bản khác
cd nagios-4.4.2/
./configure --with-command-group=nagcmd
make all
Quá trình này có thể mất vài phút.
sudo make install
sudo make install-init
sudo make install-config
sudo make install-commandmode
Đây là phần cuối của quá trình cài đặt Nagios Core.
Bây giờ, bạn cần cấu hình phần Apache để cho phép truy cập vào trang Nagios.
Kích hoạt mô-đun CGI cho Apache:
sudo a2enmod cgi
Sao chép cấu hình Apache vào thư mục Apache:
sudo cp sample-config/httpd.conf /etc/apache2/sites-enabled/nagios.conf
Tạo người dùng đầu tiên cho giao diện web:
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Khởi động lại Apache:
sudo service apache2 restart
Kiểm tra xem bạn có quyền truy cập vào Nagios không:
Truy cập http://<RASPBERRY IP>/nagios. Bạn sẽ nhận được một thứ giống như thế này:
Đó là điều bình thường. Bạn sẽ khắc phục điều đó ngay bây giờ! Việc cài đặt Nagios gần như đã hoàn tất, chỉ cần chạy Nagios service nữa là xong.
Nagios có một service chạy nền để khởi chạy kiểm tra với tần suất được xác định trước (ví dụ: 5 phút một lần). Bạn cần khởi động nó để hoàn tất quá trình cài đặt:
sudo service nagios start
Và để khởi động Nagios tự động khi boot:
sudo ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
Nếu bạn refresh giao diện web, bây giờ, bạn sẽ thấy “Daemon running with PID XXX”.
Mọi thứ đều ổn với Nagios. Bạn chỉ cần thêm plugin ngay bây giờ
Làm theo quy trình sau để cài đặt các plugin Nagios:
tar zxvf nagios-plugins-2.2.1.tar.gz
cd nagios-plugins-2.2.1/
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
sudo make install
Tất cả các plugin hiện có sẵn trong thư mục /usr/local/nagios/libexec/ và sẵn sàng sử dụng trong Nagios.
Bạn có thể cần khởi động lại Nagios để áp dụng các thay đổi:
sudo service nagios restart
Nagios sử dụng một vocabulary (nhóm từ vựng) cụ thể để xác định từng đối tượng trong cấu hình
Vì vậy, trước tiên, cần phải chắc chắn rằng bạn biết điều đó:
- Command: Một lệnh về cơ bản là một script từ thư mục Nagios Plugins. Bạn xác định nó trong Nagios để sử dụng nó sau này với các tham số (ví dụ: check_load là một lệnh).
- Service: Service là việc kiểm tra áp dụng cho một hoặc nhiều máy tính và sử dụng lệnh để chạy xác minh cụ thể (ví dụ: kiểm tra xem tải có lớn hơn 10 trên Raspberry Pi không là một service).
- Host: Host là máy tính, máy chủ, bất kỳ thứ gì có địa chỉ IP.
- Hostgroup: Bạn có thể xác định một nhóm host, như “Raspberry Pi” và áp dụng các service giống nhau cho tất cả mọi host bên trong nhóm này.
Bây giờ, hãy xem cách cấu hình từng cái trong file cấu hình Nagios.
Ví dụ, bài viết sẽ theo dõi Raspberry Pi Zero từ Raspberry Pi 3B+ nơi cài đặt Nagios.
Nagios chủ yếu sử dụng SNMP để kết nối với các host khác và nhận tất cả thông tin cần thiết. Vì vậy, bạn cần cài đặt SNMP trên mọi host mới trước khi thêm nó vào file cấu hình.
Điều này không bắt buộc, mà phụ thuộc vào service bạn sẽ tạo cho host này. Trong trường hợp ví dụ, hãy làm theo các bước sau trên Raspberry Pi Zero:
sudo apt install snmpd
cd /etc/snmp
sudo rm snmpd.conf
sudo nano snmpd.conf
com2sec readonly default RASPBERRYTIPS
group MyROGroup v1 readonly
group MyROGroup v2c readonly
view all included .1 80
access MyROGroup "" any noauth exact all none none
sysName Pi Zero
Thay thế RASPBERRYTIPS bằng cộng đồng bạn muốn sử dụng, sysName bằng tên host hoặc mô tả. Có rất nhiều tùy chọn có sẵn trong snmpd.conf, nhưng đối với thử nghiệm này, bạn không cần gì nhiều hơn thế.
sudo service snmpd restart
Bây giờ, bạn có thể thêm host này trong Nagios.
cd /usr/local/nagios/etc/objects
sudo nano pizero.cfg
define host {
use linux-server ; Host group to use
host_name Pi Zero ; Name of this host
alias pizero ; Alias
address 192.168.1.18 ; IP Address
}
Đây thực sự là một định nghĩa host cơ bản, với hostname, alias và địa chỉ IP. Ví dụ cũng thêm nó vào nhóm Linux server host để kế thừa các service được xác định cho nhóm, nếu bạn thêm sau đó.
cfg_file=/usr/local/nagios/etc/objects/pizero.cfg
sudo service nagios restart
Nagios đã theo dõi phản hồi ping cho host mới, nhưng bạn muốn có nhiều hơn nữa. Vì vậy, bạn cần thêm một service bên trong, nhưng trước tiên, hãy xác định lệnh để sử dụng.
Trước đó, trong hướng dẫn này, bạn đã tải xuống và cài đặt các plugin Nagios. Các plugin Nagios cung cấp rất nhiều lệnh để kiểm tra host cục bộ, nhưng không có nhiều lệnh đối với host từ xa.
Bạn cũng có thể tải xuống rất nhiều lệnh khác trên trang web này (đặc biệt khi tìm kiếm các plugin SNMP):
https://exchange.nagios.org/directory/Plugins/
Đối với ví dụ, ta sẽ theo dõi việc đồng bộ thời gian giữa hai Raspberry Pi.
Để thêm một lệnh trong Nagios, hãy làm theo các bước sau:
cd /usr/local/nagios/libexec
./check_ntp
Usage:
check_ntp -H <host> [-w <warn>] [-c <crit>] [-j <warn>] [-k <crit>] [-4|-6] [-v verbose]
Vì vậy, phải chỉ định IP host trong đối số -H, có thể là ngưỡng mang tính cảnh báo và quan trọng với -w và -c. Các tùy chọn khác dường như không phù hợp.
sudo nano /usr/local/nagios/etc/objects/commands.cf
define command {
command_name check_ntp
command_line $USER1$/check_ntp -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$
}
sudo service nagios restart
Lệnh hiện đã sẵn sàng để sử dụng cho host, nhưng cần tạo một service mới để áp dụng nó.
Để tạo một service mới, hãy làm theo các bước sau:
sudo nano /usr/local/nagios/etc/objects/pizero.cfg
define service {
use local-service ; Name of service template to use
host_name Pi Zero
service_description Time synchronization
check_command check-ntp!1!5
}
Đừng quên điều chỉnh những dòng này cho phù hợp với cấu hình trước đó của bạn.
Trên dòng check_command, hãy xác định tất cả các đối số, được phân tách bằng dấu chấm than.
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Điều này có thể hữu ích để xác định xem bạn có lỗi cấu hình không trước khi khởi động lại Nagios.
sudo service nagios restart
Bây giờ, trong phần chi tiết trạng thái từ host, bạn sẽ thấy service mới:
Nếu bạn đã hiểu cách tạo một host, lệnh và service, thì bây giờ, bạn đã sẵn sàng làm mọi thứ trong Nagios. Hãy thoải mái tải xuống các plugin mới trên Internet hoặc thậm chí viết code cho các plugin của riêng bạn (nó không khác gì một script cơ bản để kiểm tra thứ gì đó).
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn