[NAGIOS] Cài đặt Nagios Core Server và giám sát máy chủ của bạn
Nagios là một hệ thống giám sát hạ tầng mạng và dịch vụ mạng vô cùng mạnh mẽ cho phép các doanh nghiệp, công ty xác định và giải quyết các vấn đề về cơ sở hạ tầng Công Nghệ Thông Tin trước khi chúng làm ảnh hưởng đến các hoạt động kinh doanh, vận hành nội bộ của công ty. Nagios thực hiện việc theo dõi và đưa ra các cảnh báo về trạng thái các host và các dịch vụ.
Trong hướng dẫn này, mình sẽ cài đặt Nagios 4 và cấu hình nó để bạn có thể theo dõi tài nguyên máy chủ thông qua giao diện web của Nagios
A. Mô hình
B. Thực hiện
1. Cài đặt Nagios 4
Ở đây mình cài đặt Nagios Core và các thành phần của nó từ nguồn để đảm bảo có được các tính năng mới nhất, cập nhật bảo mật và sửa lỗi.
sudo useradd nagios
sudo groupadd nagcmd
Sau đó thêm user vào group
sudo usermod -a -G nagcmd nagios
Vì đang xây dựng Nagios Core từ nguồn nên chúng ta phải cài đặt một vài thư viện cho phép hoàn thành việc xây dựng
Đối với bất kỳ công việc nào sử dụng apt, danh sách các gói cần phải được cập nhật.
sudo apt-get update
Cài đặt các gói cần thiết
sudo apt-get install build-essential libgd2-xpm-dev openssl libssl-dev xinetd apache2-utils unzip
Chúng ta cũng cài đặt apache2 để thiết lập giao diện web Nagios.
sudo apt install php php-cgi libapache2-mod-php php-common php-pear php-mbstring
Tải về mã nguồn cho bản phát hành ổn định mới nhất của Nagios Core, tải nó về thư mục chính
cd ~ curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz
Giải nén kho lưu trữ Nagios vừa tải về
tar zxf nagios-*.tar.gz
Và di chuyển đến thư mục nagios-*
cd nagios-*
Hãy chạy configure để chỉ định user và group bạn muốn Nagios sử dụng. Nếu bạn muốn Nagios gửi email bằng cách sử dụng Postfix, bạn phải cài đặt Postfix và định cấu hình Nagios để sử dụng nó bằng cách thêm --with-mail=/usr/sbin/sendmail. Nhưng ở đây mình k sử dụng postfix. Sử dụng user nagios và group nagcmd bạn đã tạo
./configure --with-nagios-group=nagios --with-command-group=nagcmd
Sau khi chạy câu lệnh trên ta sẽ được kết quả như sau:
Output*** Configuration summary for nagios 4.3.4 2017-08-24 ***:
General Options:
-------------------------
Nagios executable: nagios
Nagios user/group: nagios,nagios
Command user/group: nagios,nagcmd
Event Broker: yes
Install ${prefix}: /usr/local/nagios
Install ${includedir}: /usr/local/nagios/include/nagios
Lock file: /run/nagios.lock
Check result directory: ${prefix}/var/spool/checkresults
Init directory: /etc/init.d
Apache conf.d directory: /etc/apache2/sites-available
Mail program: /bin/mail
Host OS: linux-gnu
IOBroker Method: epoll
Web Interface Options:
------------------------
HTML URL: http://localhost/nagios/
CGI URL: http://localhost/nagios/cgi-bin/
Traceroute (used by WAP):
Review the options above for accuracy. If they look okay,
type 'make all' to compile the main program and CGIs.
Bây giờ biên dịch Nagios với lệnh này
make all
Bây giờ hãy chạy các lệnh make để cài đặt Nagios, tập lệnh init và các tệp cấu hình mặc định của nó:
sudo make install
sudo make install-commandmode
sudo make install-init
sudo make install-config
Do bạn sẽ sử dụng Apache để phục vụ giao diện web của Nagios, vì vậy hãy sao chép tệp cấu hình Apache mẫu vào thư mục /etc/apache2/sites-available (nếu thắc mắc tại sao phải copy vào thư mục site-available thì các bạn tham khảo có thể tìm hiểu thêm trên mạng)
sudo /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf
Để tiến hành các lệnh bên ngoài thông qua giao diện web tới Nagios, chúng ta phải thêm user web server www-data, vào nhóm nagcmd:
sudo usermod -G nagcmd www-data
Nagios đã được cài đặt. Hãy cài đặt một plugin cho phép Nagios thu thập dữ liệu từ nhiều máy agent khác nhau.
2. Cài đặt plugin NRPE
Nagios giám sát các máy chủ từ xa bằng cách sử dụng Nagios Remote Plugin Executor (NRPE).
Nó bao gồm hai phần:
- check_nrpe plugin được sử dụng bởi máy chủ Nagios Server.
- daemon NRPE, chạy trên máy bị giám sát và gửi dữ liệu đến máy chủ Nagios.
Tiến hành cài đặt check_nrpe plugin trên Nagios Server.
cd ~ curl -L -O https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz
Giải nén kho lưu trữ NRPE :
tar xvf nrpe-*.tar.gz
Di chuyển đến thư mục nrpe-*
cd nrpe-*
Định cấu hình check_nrpe cần thiết bằng câu lệnh configure 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ờ hãy 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
- xinetd là một dịch vụ hay còn gọi là daemon trong Linux. Nó là một máy chủ dịch vụ đa năng (super server), xinetd chịu trách nhiệm tạo socket kết nối với máy khách. Dựa vào cổng và giao thức (tcp hay udp) nó biết được phải trao đổi dữ liệu mà nó nhận được với back-end nào dựa vào thuộc tính server trong file cấu hình.
Mở tập lệnh khởi động xinetd trong trình chỉnh sửa:
sudo gedit /etc/xinetd.d/nrpe
Sửa đổi dòng only_from bằng cách thêm địa chỉ IP riêng của Nagios server vào cuối (thay thế địa chỉ IP thực của server của bạn):
Điều này để chỉ định chỉ máy chủ Nagios mới được phép giao tiếp với NRPE.
Khởi động lại dịch vụ xinetd để khởi động NRPE:
sudo service xinetd restart
Tiếp theo ta phải cấu hình Nagios Server
Bây giờ chúng ta hãy thực hiện cấu hình Nagios, bao gồm chỉnh sửa một số tập tin cấu hình và cấu hình Apache để phục vụ giao diện web Nagios. Bạn chỉ cần thực hiện phần này một lần trên Nagios Server .
Mở tệp cấu hình nagios.cfg , nó được lưu ở đường dẫn sau:
sudo gedit /usr/local/nagios/etc/nagios.cfg
Tìm đến dòng này #cfg_dir=/usr/local/nagios/etc/servers và bỏ dấu # đi, sau đó lưu lại và thoát khỏi trình chỉnh sửa.
Bây giờ tạo thư mục lưu trữ tệp cấu hình cho mỗi máy agent mà bạn sẽ theo dõi:
sudo mkdir /usr/local/nagios/etc/servers
3.Định dạng Nagios contact
Tìm email và thay thế giá trị của nó bằng địa chỉ email của chính bạn trong thư mục /usr/local/nagios/etc/objects/contacts.cfg
sudo gedit /usr/local/nagios/etc/objects/contacts.cfg
...
define contact{
contact_name nagiosadmin ; Short name of user
use generic-contact ; Inherit default values from generic-contact template (defined above)
alias Nagios Admin ; Full name of user
email nagios@localhost ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
...
Lưu lại và thoát khỏi trình chỉnh sửa.
4. Định nghĩa cấu hình lệnh check_nrpe
Thêm định nghĩa một lệnh mới vào cấu hình Nagios cho phép bạn sử dụng check_nrpe lệnh trong định nghĩa dịch vụ Nagios. Mở tập tin /usr/local/nagios/etc/objects/commands.cfg trong trình chỉnh sửa của bạn:
sudo gedit /usr/local/nagios/etc/objects/commands.cfg
Thêm lệnh này vào cuối tập tin
...
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Lưu và thoát khỏi trình chỉnh sửa.
Bước kế tiếp, bây giờ cấu hình Apache để phục vụ giao diện người dùng Nagios. Bật Apache rewrite và cgi
sudo a2enmod rewrite
sudo a2enmod cgi
Sử dụng lệnh htpasswd để tạo admin user, được gọi là "nagiosadmin", có thể truy cập vào giao diện web của Nagios:
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
->>>Nhập mật khẩu khi được yêu cầu. Hãy nhớ mật khẩu này, vì bạn sẽ cần nó để truy cập vào giao diện web Nagios
Chú ý: Nếu bạn tạo người dùng có tên khác nagiosadmin, bạn sẽ cần chỉnh sửa /usr/local/nagios/etc/cgi.cfg và thay đổi tất cả những gì liên quan đến nagiosadmin bạn đã tạo.
Bây giờ tạo một liên kết tượng trưng của nagios.conf đến thư mục sites-enabled bằng câu lệnh sau:
sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/
- site-enabled/ – Thư mục chứa file cấu hình VirtualHost của Apache trên Ubuntu đang được bật. (các bạn có thể lên mạng tìm hiểu thêm về web Apache)
Cấu hình Nagios tự động khởi động khi server khởi động.
sudo ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
Nagios đã sẵn sàng để bắt đầu. Hãy bắt đầu nagios và khởi động lại Apache:
sudo service nagios start
sudo service apache2 restart
Lưu ý
Nếu bạn gặp phải lỗi khi xài câu lệnh start nagios Failed to start nagios.service: Unit nagios.service failed to load: No such file or directory. Thì hãy làm như sau: sudo gedit /etc/systemd/system/nagios.service thêm nội dung này vào và lưu lạisudo systemctl enable /etc/systemd/system/nagios.service sudo systemctl start nagios sudo systemctl restart nagios[Unit] Description=Nagios BindTo=network.target [Install] WantedBy=multi-user.target [Service] User=nagios Group=nagios Type=simple ExecStart=/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg
Truy cập vào giao diện web http://172.100.100.21/nagios ( thay thế 172.100.100.21 bằng địa chỉ IP Nagios server của bạn)
Nhập vào user name : nagiosadmin và mật khẩu bạn đã tạo ở bước trên để hoàn tất việc đăng nhập.
Như bạn có thể thấy, Nagios server chỉ giám sát chính nó.
Mình sẽ hướng dẫn các bạn thêm các máy agent vào để Nagios server giám sát ở bài sau
,
Do buồn ngủ quá nên mình viết chắc hơi khó hiểu @@!
Chúc các bạn thành công!
Bài viết rất hay, bạn có thể xem qua thông tin liên quan sau đây:
Trả lờiXóagiá bán giấy dán tường
giấy dán tường phòng trẻ em
giay dan tuong dep