Icinga2 là phần mềm giám sát mạng mã nguồn mở miễn phí có thể kiểm tra tính khả dụng của tài nguyên từ mạng và thông báo cho người dùng về sự cố mất điện. Bạn có thể giám sát các dịch vụ mạng (SMTP, POP3, HTTP, NNTP, ping), tài nguyên máy chủ (sử dụng CPU, sử dụng Đĩa) và các thành phần mạng (bộ chuyển mạch, bộ định tuyến, cảm biến nhiệt độ và độ ẩm) bằng Icinga2. Nó có thể được tích hợp với các plugin Nagios.
Trong hướng dẫn sau, bạn sẽ học cách cài đặt Icinga2 trên máy chủ Ubuntu 22.04 và cách kết nối nó với một nút máy khách. Thay vì máy chủ Apache mặc định, chúng ta sẽ sử dụng Nginx để chạy Icinga2 Web.
[*]
Một số gói mà hệ thống của bạn nhu cầu.
Một số gói này có thể đã được cài đặt trên hệ thống của bạn.
Kiểm tra xem tường lửa có đang chạy không.
Bạn sẽ nhận được kết quả sau.
Cho phép cổng SSH để tường lửa không làm gián đoạn kết nối hiện tại khi bật nó.
Cho phép cổng 5665 được yêu cầu bởi máy khách Icinga2 để kết nối với máy chủ.
Cho phép các cổng HTTP và HTTPS như tốt.
Bật Tường lửa
Kiểm tra trạng thái của tường lửa một lần nữa.
Bạn sẽ thấy kết quả tương tự.
Kiểm tra phiên bản của MySQL.
Bước này cần thiết cho MySQL phiên bản 8.0.28 trở lên. Nhập MySQL Shell.
Chạy lệnh sau để đặt mật khẩu cho người dùng root của bạn. Đảm bảo rằng nó có sự kết hợp giữa số, chữ hoa, chữ thường và ký tự đặc biệt.
Thoát khỏi shell.
Chạy cài đặt bảo mật MySQL script.
Đầu tiên, bạn sẽ được yêu cầu nhập mật khẩu gốc. Nhập mật khẩu. Tiếp theo, bạn sẽ được yêu cầu cài đặt Thành phần Xác thực Mật khẩu. Thành phần này kiểm tra độ mạnh của mật khẩu được sử dụng trong MySQL. Nhấn Y để cài đặt. Tiếp theo, bạn sẽ được yêu cầu đặt mức chính sách xác thực mật khẩu. Chọn 2 vì đây là mức mạnh nhất.
Tiếp theo, nhập N để từ chối thay đổi mật khẩu gốc của bạn. Ngoài ra, hãy nhập Y để xóa người dùng ẩn danh, không cho phép đăng nhập root từ xa, xóa cơ sở dữ liệu thử nghiệm và tải lại bảng đặc quyền.
Tạo cơ sở dữ liệu Icinga.
Tạo tài khoản người dùng SQL cho Icinga2. Không thay đổi cơ sở dữ liệu và tên người dùng vì chúng đã được thiết lập theo mặc định. Nếu bạn muốn thay đổi chúng, bạn sẽ cần thực hiện một số bước bổ sung trong khi cài đặt trình điều khiển MySQL ở Bước 5. Nhập mật khẩu và bạn sẽ nhận được lỗi, sau đó được yêu cầu cấu hình lại nơi bạn có thể chỉ định tên cơ sở dữ liệu và người dùng tùy chỉnh của mình.
Cấp tất cả các quyền trên cơ sở dữ liệu cho người dùng.
Xóa người dùng quyền.
Thoát khỏi shell.
Chạy các lệnh sau để tạo và thêm thông tin kho lưu trữ Icinga2 vào danh sách nguồn APT.
Cập nhật kho lưu trữ hệ thống danh sách.
Cài đặt Icinga2 và các plugin giám sát.
Bạn sẽ được nhắc thiết lập trình điều khiển và tạo cơ sở dữ liệu bằng tiện ích
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22145%22%3E%3C/svg%3E
Tiếp theo, bạn sẽ được yêu cầu nhập mật khẩu MySQL cho cơ sở dữ liệu icinga2. Nhập mật khẩu được cấu hình ở bước 3 để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22642%22%20height=%22256%22%3E%3C/svg%3E
Bạn sẽ được yêu cầu xác nhận lại mật khẩu.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22435%22%20height=%22235%22%3E%3C/svg%3E
Tiếp theo, bạn sẽ được yêu cầu bật Tính năng ido-mysql. Chọn Có để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22688%22%20height=%22256%22%3E%3C/svg%3E
Bạn có thể kiểm tra thông tin chi tiết về cơ sở dữ liệu trong
Kích hoạt
Khởi động lại dịch vụ Icinga2.
Xác minh dịch vụ trạng thái.
Bạn sẽ nhận được kết quả tương tự.
Lệnh trên tạo ra một Tệp
Mở tệp
Thêm đoạn mã sau vào cuối tệp.
Ghi lại thông tin đăng nhập cần thiết sau này để truy cập trang web. Theo mặc định, máy chủ API Icinga2 lắng nghe trên cổng 5665. Khởi động lại dịch vụ để các thay đổi có hiệu lực.
Bước tiếp theo là cài đặt giao diện Icinga Web. Nó được cấu hình sẵn cho Apache nhưng chúng ta sẽ sử dụng máy chủ Nginx. Do đó, trước tiên, chúng ta cần cài đặt Nginx và chứng chỉ SSL.
Nhập khóa ký của Nginx.
Thêm kho lưu trữ cho phiên bản ổn định của Nginx.
Cập nhật hệ thống kho lưu trữ.
Cài đặt Nginx.
Xác minh cài đặt.
Khởi động máy chủ Nginx.
Ubuntu 22.04 đi kèm với Snapd được cài đặt theo mặc định. Chạy các lệnh sau để đảm bảo rằng phiên bản Snapd của bạn đã được cập nhật.
Cài đặt Certbot.
Sử dụng lệnh sau để đảm bảo rằng lệnh Certbot có thể chạy được bằng cách tạo liên kết tượng trưng đến
Chạy lệnh sau để tạo SSL Chứng chỉ.
Lệnh trên sẽ tải chứng chỉ xuống thư mục
Tạo nhóm Diffie-Hellman chứng chỉ.
Kiểm tra dịch vụ lập lịch gia hạn Certbot.
Bạn sẽ tìm thấy
Thực hiện chạy thử quy trình để kiểm tra xem việc gia hạn SSL có hoạt động không tốt.
Nếu bạn không thấy lỗi nào, bạn đã hoàn tất. Chứng chỉ của bạn sẽ tự động gia hạn.
Chúng ta cần đặt người dùng/nhóm Unix của các quy trình PHP thành nginx. Tìm các dòng
Tìm
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Khởi động lại PHP-FPM dịch vụ.
Dán mã sau vào đó.
Lưu ý thư mục gốc được sử dụng trong cấu hình Nginx là
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Mở tệp
Thêm dòng sau vào trước dòng
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Xác minh tệp cấu hình Nginx cú pháp.
Khởi động lại dịch vụ Nginx.
Ghi lại mã thông báo vì bạn sẽ cần nó sau. Bạn luôn có thể lấy lại nó sau bằng lệnh sau.
Bước tiếp theo là tạo cơ sở dữ liệu và người dùng cơ sở dữ liệu. Đăng nhập vào shell MySQL.
Tạo cơ sở dữ liệu Icinga Web.
Tạo tài khoản người dùng SQL cho Icinga Trang web.
Cấp tất cả các quyền trên cơ sở dữ liệu cho người dùng.
Xóa các quyền của người dùng.
Thoát khỏi shell.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22436%22%3E%3C/svg%3E
Nhập mã thông báo được tạo ở bước trước và nhấn nút Tiếp theo để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22300%22%3E%3C/svg%3E
Trên màn hình tiếp theo, hãy chọn các mô-đun bạn muốn cài đặt và nhấp vào Tiếp theo để tiếp tục. Mô-đun Giám sát được chọn cho bạn theo mặc định. Ở trang tiếp theo, bạn sẽ thấy các yêu cầu và liệu chúng đã được đáp ứng hay chưa. Đảm bảo tất cả các yêu cầu đều được đánh dấu màu xanh lá cây.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22482%22%3E%3C/svg%3E
Nhấp vào Tiếp theo để chuyển đến trang tiếp theo để chọn loại xác thực.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22174%22%3E%3C/svg%3E
Theo mặc định, loại xác thực được đặt thành Cơ sở dữ liệu. Nhấp vào Tiếp theo để tiếp tục. Bạn sẽ được yêu cầu điền thông tin xác thực cơ sở dữ liệu ở trang tiếp theo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22610%22%3E%3C/svg%3E
Điền thông tin xác thực cơ sở dữ liệu đã tạo ở bước 10. Nhấp vào nút Xác thực cấu hình để xác minh thông tin xác thực. Sau khi xác minh, hãy nhấp vào Tiếp theo để tiếp tục. Tiếp theo, bạn sẽ được yêu cầu đặt tên cho chương trình xác thực.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22174%22%3E%3C/svg%3E
Giữ nguyên giá trị mặc định và nhấp vào Tiếp theo để tiếp tục. Ở trang tiếp theo, bạn sẽ được yêu cầu tạo một tài khoản quản trị viên.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22291%22%3E%3C/svg%3E
Nhập thông tin đăng nhập cho tài khoản quản trị viên mới của bạn và nhấp vào Tiếp theo để tiếp tục. Tiếp theo, bạn sẽ thấy trang Cấu hình ứng dụng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22418%22%3E%3C/svg%3E
Giữ nguyên tất cả các giá trị mặc định cho cấu hình ứng dụng và ghi nhật ký, sau đó nhấp vào Tiếp theo để tiếp tục. Bạn sẽ được yêu cầu xem lại cấu hình ở trang cuối cùng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22423%22%3E%3C/svg%3E
Bạn có thể quay lại để thay đổi bất kỳ cài đặt nào. Nếu bạn hài lòng, hãy nhấp vào Tiếp theo để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22120%22%3E%3C/svg%3E
Nhấp vào Tiếp theo để tiếp tục cấu hình mô-đun giám sát. Tiếp theo, bạn sẽ được yêu cầu cung cấp thông tin xác thực cơ sở dữ liệu Icinga.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22581%22%3E%3C/svg%3E
Điền thông tin xác thực cơ sở dữ liệu ở bước 3 và nhấp vào Xác thực cấu hình để xác minh kết nối. Sau khi xác minh, hãy nhấp vào Tiếp theo để tiếp tục. Tiếp theo, bạn sẽ được yêu cầu điền thông tin chi tiết về API.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22382%22%3E%3C/svg%3E
Điền thông tin xác thực API đã tạo ở bước 6 và nhấp vào Xác thực cấu hình để xác minh kết nối. Nhấp vào Tiếp theo để tiếp tục. Tiếp theo, bạn sẽ được yêu cầu chọn các biến tùy chỉnh được bảo vệ để giám sát bảo mật.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22167%22%3E%3C/svg%3E
Giữ nguyên các giá trị mặc định và nhấp vào Tiếp theo để tiếp tục. Tiếp theo, bạn sẽ được yêu cầu xem lại cấu hình Giám sát. Bạn có thể quay lại và thay đổi nếu muốn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22259%22%3E%3C/svg%3E
Nếu bạn hài lòng, hãy nhấp vào Hoàn tất để hoàn tất quá trình cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22217%22%3E%3C/svg%3E
Sau khi hoàn tất thành công, hãy nhấp vào nút Đăng nhập vào Icinga Web 2 để mở trang đăng nhập.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22506%22%3E%3C/svg%3E
Nhập thông tin tài khoản quản trị viên của bạn và nhấp vào Nút Đăng nhập để mở bảng điều khiển Icinga Web.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22506%22%3E%3C/svg%3E
Truy cập Tổng quan >> Trang Dịch vụ để kiểm tra trạng thái của máy chủ chính tương tự như sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22506%22%3E%3C/svg%3E
Bạn sẽ được nhắc nếu đó là thiết lập tác nhân. Nhập
Tiếp theo, bạn sẽ được yêu cầu nhập tên chung hoặc tên miền. Nhấn Enter để chọn giá trị mặc định được hiển thị.
Tiếp theo, nhập tên vùng chính và nhấn Enter để tiếp tục. Trong trường hợp của chúng tôi, nó giống với tên miền máy chủ.
Tiếp theo, bạn sẽ được hỏi xem bạn có muốn thêm bất kỳ vùng toàn cầu bổ sung nào không. Nhấn
Trong bước tiếp theo, hãy để API bind host và port làm mặc định và nhấn Enter để tiếp tục.
Tiếp theo, nhấn
Khởi động lại dịch vụ để áp dụng thay đổi.
Và cuối cùng nhưng không kém phần quan trọng, hãy chạy lệnh sau để tạo phiếu cho máy khách. Sử dụng tên miền của máy khách làm đối số.
Ghi lại vé để sử dụng sau.
Kiểm tra xem dịch vụ Icinga đã được bật và đang chạy chưa.
Khởi động Trình hướng dẫn nút Icinga để khởi tạo tác nhân trên máy chủ khách hàng.
Bạn sẽ được nhắc nếu đó là thiết lập tác nhân. Nhập
Tiếp theo, bạn sẽ được yêu cầu chỉ định tên chung. Để nguyên giá trị mặc định và nhấn Enter để tiếp tục.
Tiếp theo, chỉ định điểm cuối cha là
Tiếp theo, nhập địa chỉ IP của máy chủ chính và giữ nguyên giá trị cổng như mặc định.
Nhập
Tiếp theo, bạn sẽ thấy thông tin chứng chỉ cho máy chủ chính. Nhấn
Tiếp theo, nhập phiếu yêu cầu được tạo ở lần trước bước.
Giữ nguyên API bind host và port theo mặc định và nhấn Enter để tiếp tục.
Tiếp theo, nhập
Nhấn Enter để chấp nhận tên vùng cục bộ mặc định là tên miền của máy khách. Nhập tên miền chính làm tên vùng cha để tiếp tục.
Nhấn
Nhấn
Khởi động lại dịch vụ Icinga để áp dụng các thay đổi cấu hình.
Tiếp theo, tạo một tệp cấu hình trong thư mục vừa tạo và mở tệp đó để chỉnh sửa.
Dán mã sau vào đó. Địa chỉ IP trong mã phải khớp với địa chỉ IP công khai của máy khách.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Tạo và mở tệp dịch vụ để chỉnh sửa.
Dán mã sau vào nó.
Chạy lệnh sau để xác minh cấu hình.
Bạn sẽ nhận được một đầu ra.
Khởi động lại dịch vụ Icinga để áp dụng các thay đổi cấu hình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22675%22%3E%3C/svg%3E
Có thể mất một thời gian để trạng thái của máy khách hiển thị là ĐANG LÊN. Nhấp vào Máy khách để xem thêm thông tin chi tiết về máy khách đó. Chọn Tổng quan >> Dịch vụ và bạn sẽ thấy các trạng thái sau về máy khách.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22482%22%3E%3C/svg%3E
Điều này xác nhận rằng máy khách đang gửi số liệu thống kê chính xác đến máy chủ chính Icinga.
Trong hướng dẫn sau, bạn sẽ học cách cài đặt Icinga2 trên máy chủ Ubuntu 22.04 và cách kết nối nó với một nút máy khách. Thay vì máy chủ Apache mặc định, chúng ta sẽ sử dụng Nginx để chạy Icinga2 Web.
Điều kiện tiên quyết
-
Hai máy chạy Ubuntu 22.04. Một trong số chúng sẽ hoạt động như một máy chủ Master và một máy chủ khác sẽ hoạt động như một máy khách để giám sát.
-
Một người dùng không phải root có quyền sudo trên cả hai máy chủ.
-
Một tên miền đủ điều kiện (FQDN) cho máy chủ master,icinga.example.com
và nút máy khách,client.example.com
.
-
Đảm bảo mọi thứ được cập nhật.
Mã:
$ sudo apt update
$ sudo apt upgrade
Một số gói mà hệ thống của bạn nhu cầu.
Mã:
$ sudo apt install wget curl nano software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y
Bước 1 - Cấu hình Tường lửa trên Máy chủ chính
Bước đầu tiên là cấu hình tường lửa. Ubuntu đi kèm với ufw (Uncomplicated Firewall) theo mặc định.Kiểm tra xem tường lửa có đang chạy không.
Mã:
$ sudo ufw status
Mã:
Status: inactive
Mã:
$ sudo ufw allow OpenSSH
Mã:
$ sudo ufw allow 5665
Mã:
$ sudo ufw allow http
$ sudo ufw allow https
Mã:
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Mã:
$ sudo ufw status
Mã:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
5665 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
5665 (v6) ALLOW Anywhere (v6)
Bước 2 - Cài đặt MySQL
Ubuntu 22.04 được tích hợp phiên bản MySQL mới nhất. Bạn có thể cài đặt nó bằng một lệnh duy nhất.
Mã:
$ sudo apt install mysql-server
Mã:
$ mysql --version
mysql Ver 8.0.32-0ubuntu0.22.04.2 for Linux on x86_64 ((Ubuntu))
Mã:
$ sudo mysql
Mã:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourPassword12!';
Mã:
mysql> exit
Mã:
$ sudo mysql_secure_installation
Mã:
Securing the MySQL server deployment.
Enter password for user root:
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: Y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Using existing password for root.
Estimated strength of the password: 100
Mã:
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N ... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y - Dropping test database...
Success. - Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.
All done!
Bước 3 - Cấu hình MySQL
Đăng nhập vào shell MySQL. Nhập mật khẩu gốc của bạn khi được nhắc.
Mã:
$ sudo mysql -u root -p
Mã:
mysql> CREATE DATABASE icinga2;
Mã:
mysql> CREATE USER 'icinga2'@'localhost' IDENTIFIED BY 'Your_password2';
Mã:
mysql> GRANT ALL PRIVILEGES ON icinga2.* TO 'icinga2'@'localhost';
Mã:
mysql> FLUSH PRIVILEGES;
Mã:
mysql> exit
Bước 4 - Cài đặt Icinga2 và các plugin Giám sát trên Máy chủ chính
Chúng tôi sẽ sử dụng kho lưu trữ chính thức của Icinga2 cho cài đặt. Tải xuống và nhập khóa GPG Icinga2.
Mã:
$ wget -O - https://packages.icinga.com/icinga.key | sudo gpg --dearmor -o /usr/share/keyrings/icinga-archive-keyring.gpg
Mã:
$ echo "deb [signed-by=/usr/share/keyrings/icinga-archive-keyring.gpg] https://packages.icinga.com/ubuntu icinga-`lsb_release -cs` main" | sudo tee /etc/apt/sources.list.d/$(lsb_release -cs)-icinga.list
$ echo "deb-src [signed-by=/usr/share/keyrings/icinga-archive-keyring.gpg] http://packages.icinga.com/ubuntu icinga-`lsb_release -cs` main" | sudo tee -a /etc/apt/sources.list.d/$(lsb_release -cs)-icinga.list
Mã:
$ sudo apt update
Mã:
$ sudo apt install icinga2 monitoring-plugins -y
Bước 5 - Cài đặt trình điều khiển IDO MySQL trên Máy chủ chính
Để Icinga2 hoạt động, nó cần có cơ sở dữ liệu. Để làm được điều đó, chúng ta cần cài đặt trình điều khiển MySQL IDO và thiết lập kết nối cơ sở dữ liệu. Chạy lệnh sau để cài đặt trình điều khiển MySQL.
Mã:
$ sudo apt install -y icinga2-ido-mysql
dbconfig-common
. Chọn Có để tiếp tục.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22145%22%3E%3C/svg%3E
Tiếp theo, bạn sẽ được yêu cầu nhập mật khẩu MySQL cho cơ sở dữ liệu icinga2. Nhập mật khẩu được cấu hình ở bước 3 để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22642%22%20height=%22256%22%3E%3C/svg%3E
Bạn sẽ được yêu cầu xác nhận lại mật khẩu.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22435%22%20height=%22235%22%3E%3C/svg%3E
Tiếp theo, bạn sẽ được yêu cầu bật Tính năng ido-mysql. Chọn Có để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22688%22%20height=%22256%22%3E%3C/svg%3E
Bạn có thể kiểm tra thông tin chi tiết về cơ sở dữ liệu trong
/etc/icinga2/features-available/ido-mysql.conf
tập tin.
Mã:
$ cat /etc/icinga2/features-available/ido-mysql.conf
/** * The db_ido_mysql library implements IDO functionality * for MySQL. */
library "db_ido_mysql"
object IdoMysqlConnection "ido-mysql" { user = "icinga2", password = "Your_password2", host = "localhost", database = "icinga2"
}
ido-mysql
tính năng.
Mã:
$ sudo icinga2 feature enable ido-mysql
Mã:
$ sudo systemctl restart icinga2
Mã:
$ sudo systemctl status icinga2
? icinga2.service - Icinga host/service/network monitoring system Loaded: loaded (/lib/systemd/system/icinga2.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/icinga2.service.d ??limits.conf Active: active (running) since Mon 2023-05-01 08:02:36 UTC; 1s ago Process: 9823 ExecStartPre=/usr/lib/icinga2/prepare-dirs /etc/default/icinga2 (code=exited, status=0/SUCCESS) Main PID: 9828 (icinga2) Status: "Startup finished." Tasks: 10 Memory: 17.6M CPU: 657ms CGroup: /system.slice/icinga2.service ??9828 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon --close-stdio -e /var/log/icinga2/error.log ??9846 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon --close-stdio -e /var/log/icinga2/error.log ??9849 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon --close-stdio -e /var/log/icinga2/error.log
Bước 6 - Cấu hình Icinga2 API
Để quản lý và cấu hình giám sát Icinga2 thông qua HTTP, bạn cần cấu hình Icinga2 API. Chạy lệnh sau để bật API Icinga2, tạo chứng chỉ TLS cho Icinga2 và cập nhật cấu hình Icinga2.
Mã:
$ sudo icinga2 api setup
Mã:
information/cli: Generating new CA.
information/base: Writing private key to '/var/lib/icinga2/ca//ca.key'.
information/base: Writing X509 certificate to '/var/lib/icinga2/ca//ca.crt'.
information/cli: Generating new CSR in '/var/lib/icinga2/certs//icinga.example.com.csr'.
information/base: Writing private key to '/var/lib/icinga2/certs//icinga.example.com.key'.
information/base: Writing certificate signing request to '/var/lib/icinga2/certs//icinga.example.com.csr'.
information/cli: Signing CSR with CA and writing certificate to '/var/lib/icinga2/certs//icinga.example.com.crt'.
information/pki: Writing certificate to file '/var/lib/icinga2/certs//icinga.example.com.crt'.
information/cli: Copying CA certificate to '/var/lib/icinga2/certs//ca.crt'.
information/cli: Adding new ApiUser 'root' in '/etc/icinga2/conf.d/api-users.conf'.
information/cli: Reading '/etc/icinga2/icinga2.conf'.
information/cli: Enabling the 'api' feature.
Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect.
information/cli: Updating 'NodeName' constant in '/etc/icinga2/constants.conf'.
information/cli: Created backup file '/etc/icinga2/constants.conf.orig'.
information/cli: Updating 'ZoneName' constant in '/etc/icinga2/constants.conf'.
information/cli: Backup file '/etc/icinga2/constants.conf.orig' already exists. Skipping backup.
Done.
Now restart your Icinga 2 daemon to finish the installation!
/etc/icinga2/conf.d/api-users.conf
có người dùng mặc định root
có tất cả các quyền đối với API Icinga2. Chúng tôi cần một người dùng mới với các quyền tối thiểu mà Icinga Web yêu cầu.Mở tệp
api-users.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/icinga2/conf.d/api-users.conf
Mã:
/** api for icingaweb2 */
object ApiUser "icingaweb2" { password = "PassWordApiIcingaWeb2" permissions = [ "status/query", "actions/*", "objects/modify/*", "objects/query/*" ]
}
Mã:
$ sudo systemctl restart icinga2
Bước 7 - Cài đặt Nginx
Ubuntu 22.04 đi kèm với phiên bản Nginx cũ hơn. Để cài đặt phiên bản mới nhất, bạn cần tải xuống kho lưu trữ Nginx chính thức.Nhập khóa ký của Nginx.
Mã:
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Mã:
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Mã:
$ sudo apt update
Mã:
$ sudo apt install nginx
Mã:
$ nginx -v
nginx version: nginx/1.24.0
Mã:
$ sudo systemctl start nginx
Bước 8 - Cài đặt SSL
Chúng ta cần cài đặt Certbot để tạo chứng chỉ SSL. Bạn có thể cài đặt Certbot bằng kho lưu trữ của Ubuntu hoặc tải phiên bản mới nhất bằng công cụ Snapd. Chúng tôi sẽ sử dụng phiên bản Snapd.Ubuntu 22.04 đi kèm với Snapd được cài đặt theo mặc định. Chạy các lệnh sau để đảm bảo rằng phiên bản Snapd của bạn đã được cập nhật.
Mã:
$ sudo snap install core && sudo snap refresh core
Mã:
$ sudo snap install --classic certbot
/usr/bin
thư mục.
Mã:
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Mã:
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [emailprotected] -d icinga.example.com
/etc/letsencrypt/live/icinga.example.com
trên máy chủ của bạn.Tạo nhóm Diffie-Hellman chứng chỉ.
Mã:
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Mã:
$ sudo systemctl list-timers
snap.certbot.renew.service
là một trong những dịch vụ được lên lịch chạy.
Mã:
NEXT LEFT LAST PASSED UNIT ACTIVATES
------------------------------------------------------------------------------------------------------------------------------------
Mon 2023-05-01 13:37:57 UTC 3h 45min left Mon 2023-05-01 07:20:42 UTC 2h 31min ago ua-timer.timer ua-timer.service
Mon 2023-05-01 14:39:29 UTC 4h 47min left Sat 2023-02-04 16:04:18 UTC 2 months ago motd-news.timer motd-news.service
Mon 2023-05-01 15:53:00 UTC 6h left n/a n/a snap.certbot.renew.timer snap.certbot.renew.service
Mã:
$ sudo certbot renew --dry-run
Bước 9 - Cấu hình Nginx và PHP
Vì Icinga được cấu hình cho Apache, nên gói PHP-FPM không được cài đặt theo mặc định. Bạn cũng sẽ cần mô-đun PHP Imagick nếu muốn xuất đồ thị sang PDF. Chạy lệnh sau để cài đặt PHP-FPM và thư viện PHP Imagick.
Mã:
$ sudo apt install php-fpm php-imagick
Cấu hình PHP-FPM
Mở tệp/etc/php/8.1/fpm/pool.d/www.conf
.
Mã:
$ sudo nano /etc/php/8.1/fpm/pool.d/www.conf
user=www-data
và group=www-data
trong tệp và thay đổi chúng thành nginx
.
Mã:
...
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
user = nginx
group = nginx
...
listen.owner = www-data
và listen.group = www-data
các dòng trong tệp và thay đổi chúng thành nginx
.
Mã:
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions. The owner
; and group can be specified either by name or by their numeric IDs.
; Default Values: user and group are set as the running user
; mode is set to 0660
listen.owner = nginx
listen.group = nginx
Khởi động lại PHP-FPM dịch vụ.
Mã:
$ sudo systemctl restart php8.1-fpm
Cấu hình Nginx
Tạo và mở tệp/etc/nginx/conf.d/icinga.conf
cho chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/conf.d/icinga.conf
Mã:
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name icinga.example.com; access_log /var/log/nginx/icinga.access.log; error_log /var/log/nginx/icinga.error.log; # SSL ssl_certificate /etc/letsencrypt/live/icinga.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/icinga.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/icinga.example.com/chain.pem; ssl_session_timeout 5m; ssl_session_cache shared:MozSSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; resolver 8.8.8.8; location ~ ^/index\.php(.*)$ { # fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/run/php/php8.1-fpm.sock; # Depends On The PHP Version fastcgi_index index.php; # try_files $uri =404; # fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME /usr/share/icingaweb2/public/index.php; fastcgi_param ICINGAWEB_CONFIGDIR /etc/icingaweb2; fastcgi_param REMOTE_USER $remote_user; } location ~ ^/(.*)? { alias /usr/share/icingaweb2/public; index index.php; rewrite ^/$ /dashboard; try_files $1 $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { return 404; }
}
# enforce HTTPS
server { listen 80; listen [::]:80; server_name icinga.example.com; return 301 https://$host$request_uri;
}
/usr/share/icingaweb2/public
.Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Mở tệp
/etc/nginx/nginx.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf;
.
Mã:
server_names_hash_bucket_size 64;
Xác minh tệp cấu hình Nginx cú pháp.
Mã:
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Mã:
$ sudo systemctl restart nginx
Bước 10 - Chuẩn bị thiết lập web
Trước khi truy cập Icinga Web, chúng ta cần thiết lập nó. Khi sử dụng Icinga Web, bạn được yêu cầu xác thực bằng mã thông báo. Tạo mã thông báo bằng lệnh sau.
Mã:
$ sudo icingacli setup token create
The newly generated setup token is: 3c4d4e155635f512
Mã:
$ sudo icingacli setup token show
The current setup token is: 3c4d4e155635f512
Mã:
$ sudo mysql -u root -p
Mã:
mysql> CREATE DATABASE icingaweb2;
Mã:
mysql> CREATE USER 'icingaweb2'@'localhost' IDENTIFIED BY 'Your_password3';
Mã:
mysql> GRANT ALL PRIVILEGES ON icingaweb2.* TO 'icingaweb2'@'localhost';
Mã:
mysql> FLUSH PRIVILEGES;
Mã:
mysql> exit
Bước 11 - Thiết lập IcingaWeb
Mở URLhttps://icinga.example.com
trong trình duyệt của bạn và bạn sẽ nhận được màn hình sau.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22436%22%3E%3C/svg%3E
Nhập mã thông báo được tạo ở bước trước và nhấn nút Tiếp theo để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22300%22%3E%3C/svg%3E
Trên màn hình tiếp theo, hãy chọn các mô-đun bạn muốn cài đặt và nhấp vào Tiếp theo để tiếp tục. Mô-đun Giám sát được chọn cho bạn theo mặc định. Ở trang tiếp theo, bạn sẽ thấy các yêu cầu và liệu chúng đã được đáp ứng hay chưa. Đảm bảo tất cả các yêu cầu đều được đánh dấu màu xanh lá cây.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22482%22%3E%3C/svg%3E
Nhấp vào Tiếp theo để chuyển đến trang tiếp theo để chọn loại xác thực.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22174%22%3E%3C/svg%3E
Theo mặc định, loại xác thực được đặt thành Cơ sở dữ liệu. Nhấp vào Tiếp theo để tiếp tục. Bạn sẽ được yêu cầu điền thông tin xác thực cơ sở dữ liệu ở trang tiếp theo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22610%22%3E%3C/svg%3E
Điền thông tin xác thực cơ sở dữ liệu đã tạo ở bước 10. Nhấp vào nút Xác thực cấu hình để xác minh thông tin xác thực. Sau khi xác minh, hãy nhấp vào Tiếp theo để tiếp tục. Tiếp theo, bạn sẽ được yêu cầu đặt tên cho chương trình xác thực.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22174%22%3E%3C/svg%3E
Giữ nguyên giá trị mặc định và nhấp vào Tiếp theo để tiếp tục. Ở trang tiếp theo, bạn sẽ được yêu cầu tạo một tài khoản quản trị viên.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22291%22%3E%3C/svg%3E
Nhập thông tin đăng nhập cho tài khoản quản trị viên mới của bạn và nhấp vào Tiếp theo để tiếp tục. Tiếp theo, bạn sẽ thấy trang Cấu hình ứng dụng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22418%22%3E%3C/svg%3E
Giữ nguyên tất cả các giá trị mặc định cho cấu hình ứng dụng và ghi nhật ký, sau đó nhấp vào Tiếp theo để tiếp tục. Bạn sẽ được yêu cầu xem lại cấu hình ở trang cuối cùng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22423%22%3E%3C/svg%3E
Bạn có thể quay lại để thay đổi bất kỳ cài đặt nào. Nếu bạn hài lòng, hãy nhấp vào Tiếp theo để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22120%22%3E%3C/svg%3E
Nhấp vào Tiếp theo để tiếp tục cấu hình mô-đun giám sát. Tiếp theo, bạn sẽ được yêu cầu cung cấp thông tin xác thực cơ sở dữ liệu Icinga.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22581%22%3E%3C/svg%3E
Điền thông tin xác thực cơ sở dữ liệu ở bước 3 và nhấp vào Xác thực cấu hình để xác minh kết nối. Sau khi xác minh, hãy nhấp vào Tiếp theo để tiếp tục. Tiếp theo, bạn sẽ được yêu cầu điền thông tin chi tiết về API.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22382%22%3E%3C/svg%3E
Điền thông tin xác thực API đã tạo ở bước 6 và nhấp vào Xác thực cấu hình để xác minh kết nối. Nhấp vào Tiếp theo để tiếp tục. Tiếp theo, bạn sẽ được yêu cầu chọn các biến tùy chỉnh được bảo vệ để giám sát bảo mật.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22167%22%3E%3C/svg%3E
Giữ nguyên các giá trị mặc định và nhấp vào Tiếp theo để tiếp tục. Tiếp theo, bạn sẽ được yêu cầu xem lại cấu hình Giám sát. Bạn có thể quay lại và thay đổi nếu muốn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22259%22%3E%3C/svg%3E
Nếu bạn hài lòng, hãy nhấp vào Hoàn tất để hoàn tất quá trình cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22217%22%3E%3C/svg%3E
Sau khi hoàn tất thành công, hãy nhấp vào nút Đăng nhập vào Icinga Web 2 để mở trang đăng nhập.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22506%22%3E%3C/svg%3E
Nhập thông tin tài khoản quản trị viên của bạn và nhấp vào Nút Đăng nhập để mở bảng điều khiển Icinga Web.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22506%22%3E%3C/svg%3E
Truy cập Tổng quan >> Trang Dịch vụ để kiểm tra trạng thái của máy chủ chính tương tự như sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22506%22%3E%3C/svg%3E
Bước 12 - Khởi tạo Máy chủ chính
Bước tiếp theo là khởi tạo máy chủ chính thành nút chính. Nút chính đóng vai trò là bộ điều khiển chính cho ngăn xếp giám sát. Chạy lệnh sau để bắt đầu quá trình khởi tạo.
Mã:
$ sudo icinga2 node wizard
n
để thiết lập nút chính.
Mã:
Welcome to the Icinga 2 Setup Wizard!
We will guide you through all required configuration details.
Please specify if this is an agent/satellite setup ('n' installs a master setup) [Y/n]: n
Mã:
Please specify the common name (CN) [icinga.example.com]:
Reconfiguring Icinga...
Checking for existing certificates for common name 'icinga.example.com'...
Certificate '/var/lib/icinga2/certs//icinga.example.com.crt' for CN 'icinga.example.com' already existing. Skipping certificate generation.
Generating master configuration for Icinga 2.
'api' feature already enabled.
Mã:
Master zone name [master]: icinga.example.com
n
để bỏ qua việc thêm và nhấn Enter để tiếp tục.
Mã:
Default global zones: global-templates director-global
Do you want to specify additional global zones? [y/N]: n
Mã:
Please specify the API bind host/port (optional):
Bind Host []:
Bind Port []:
Y
để vô hiệu hóa cấu hình bên trong /etc/icinga2/conf.d/
thư mục vì chúng ta sẽ sử dụng cấu hình Vùng Icinga2 sau.
Mã:
Do you want to disable the inclusion of the conf.d directory [Y/n]: Y
Disabling the inclusion of the conf.d directory...
Checking if the api-users.conf file exists...
Done.
Now restart your Icinga 2 daemon to finish the installation!
Mã:
$ sudo systemctl restart icinga2
Mã:
$ sudo icinga2 pki ticket --cn 'client.example.com'
365cd931d3091537622a95b113b17775893a224f
Bước 13 - Khởi tạo Icinga2 Agent trên Máy chủ máy khách
Đăng nhập vào máy chủ máy khách và cài đặt Icinga2 cùng các plugin giám sát. Chạy các lệnh sau để thực hiện điều đó.
Mã:
$ wget -O - https://packages.icinga.com/icinga.key | sudo gpg --dearmor -o /usr/share/keyrings/icinga-archive-keyring.gpg
$ echo "deb [signed-by=/usr/share/keyrings/icinga-archive-keyring.gpg] https://packages.icinga.com/ubuntu icinga-`lsb_release -cs` main" | sudo tee /etc/apt/sources.list.d/$(lsb_release -cs)-icinga.list
$ echo "deb-src [signed-by=/usr/share/keyrings/icinga-archive-keyring.gpg] http://packages.icinga.com/ubuntu icinga-`lsb_release -cs` main" | sudo tee -a /etc/apt/sources.list.d/$(lsb_release -cs)-icinga.list
$ sudo apt update
$ sudo apt install icinga2 monitoring-plugins -y
Mã:
$ sudo systemctl status icinga2
? icinga2.service - Icinga host/service/network monitoring system Loaded: loaded (/lib/systemd/system/icinga2.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/icinga2.service.d ??limits.conf Active: active (running) since Tue 2023-05-02 07:32:07 UTC; 59min ago Main PID: 7602 (icinga2) Status: "Startup finished." Tasks: 8 Memory: 13.9M CPU: 1.018s CGroup: /system.slice/icinga2.service ??7602 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon --close-stdio -e /var/log/icinga2/error.log ??7620 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon --close-stdio -e /var/log/icinga2/error.log ??7623 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon --close-stdio -e /var/log/icinga2/error.log
Mã:
$ sudo icinga2 node wizard
Y
để thiết lập tác nhân.
Mã:
Welcome to the Icinga 2 Setup Wizard!
We will guide you through all required configuration details.
Please specify if this is an agent/satellite setup ('n' installs a master setup) [Y/n]: Y
Mã:
Starting the Agent/Satellite setup routine...
Please specify the common name (CN) [client.example.com]:
icinga.example.com
và nhập Y
để thiết lập kết nối đến nút cha từ máy khách.
Mã:
Please specify the parent endpoint(s) (master or satellite) where this node should connect to:
Master/Satellite Common Name (CN from your master/satellite node): icinga.example.com
Do you want to establish a connection to the parent node from this node? [Y/n]: Y
Mã:
Please specify the master/satellite connection information:
Master/Satellite endpoint host (IP address or FQDN): 199.247.31.184
Master/Satellite endpoint port [5665]:
N
để từ chối thêm master điểm cuối.
Mã:
Add more master/satellite endpoints? [y/N]: N
Y
để xác nhận thông tin và tiếp tục.
Mã:
Parent certificate information: Version: 3 Subject: CN = icinga.example.com Issuer: CN = Icinga CA Valid From: May 1 08:28:26 2023 GMT Valid Until: Jun 1 08:28:26 2024 GMT Serial: 53:50:d4:1a:85:c5:70:5b:b1:f6:0e:c3:b6:e4:db:62:df:8d:5e:d9 Signature Algorithm: sha256WithRSAEncryption Subject Alt Names: icinga.example.com Fingerprint: DC BB 90 68 29 E5 C4 B5 74 F5 BC 8C BF A1 8F BF D2 9D A4 E5 A9 9A 43 2C 3B 24 AE A9 CD 19 32 F4
Is this information correct? [y/N]: Y
Mã:
Please specify the request ticket generated on your Icinga 2 master (optional). (Hint: # icinga2 pki ticket --cn 'client.example.com'): 365cd931d3091537622a95b113b17775893a224f
Mã:
Please specify the API bind host/port (optional):
Bind Host []:
Bind Port []:
Y
hai lần để chấp nhận cấu hình và lệnh từ nút chính.
Mã:
Accept config from parent node? [y/N]: Y
Accept commands from parent node? [y/N]: Y
Mã:
Reconfiguring Icinga...
Disabling feature notification. Make sure to restart Icinga 2 for these changes to take effect.
Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect.
Local zone name [client.example.com]:
Parent zone name [master]: icinga.example.com
N
để bỏ qua việc thêm toàn cục bổ sung vùng.
Mã:
Default global zones: global-templates director-global
Do you want to specify additional global zones? [y/N]: N
N
để bỏ qua việc vô hiệu hóa các cấu hình từ /etc/icinga2/conf.d/
thư mục.
Mã:
Do you want to disable the inclusion of the conf.d directory [Y/n]: Y
Disabling the inclusion of the conf.d directory...
Done.
Now restart your Icinga 2 daemon to finish the installation!
Mã:
$ sudo systemctl restart icinga2
Bước 14 - Tạo cấu hình vùng trên Máy chủ chính
Đăng nhập lại vào máy chủ và tạo một thư mục mới làm vùng mặc định.
Mã:
$ sudo mkdir -p /etc/icinga2/zones.d/icinga.example.com/
Mã:
$ sudo nano /etc/icinga2/zones.d/icinga.example.com/client.example.com.conf
Mã:
// Endpoints
object Endpoint "client.example.com" {
}
// Zones
object Zone "client.example.com" { endpoints = [ "client.example.com" ] parent = "icinga.example.com"
}
// Host Objects
object Host "client.example.com" { check_command = "hostalive" address = "95.179.138.148" vars.client_endpoint = name
}
Tạo và mở tệp dịch vụ để chỉnh sửa.
Mã:
$ sudo nano /etc/icinga2/zones.d/icinga.example.com/services.conf
Mã:
// Ping apply Service "Ping" { check_command = "ping4" assign where host.address // check executed on master } // System Load apply Service "System Load" { check_command = "load" command_endpoint = host.vars.client_endpoint // Check executed on client01 assign where host.vars.client_endpoint } // SSH Service apply Service "SSH Service" { check_command = "ssh" command_endpoint = host.vars.client_endpoint assign where host.vars.client_endpoint } // Icinga 2 Service apply Service "Icinga2 Service" { check_command = "icinga" command_endpoint = host.vars.client_endpoint assign where host.vars.client_endpoint }
Mã:
$ sudo icinga2 daemon -C
Mã:
[2023-05-02 11:21:23 +0000] information/cli: Icinga application loader (version: r2.13.7-1)
[2023-05-02 11:21:23 +0000] information/cli: Loading configuration file(s).
[2023-05-02 11:21:23 +0000] information/ConfigItem: Committing config item(s).
[2023-05-02 11:21:23 +0000] information/ApiListener: My API identity: icinga.example.com
[2023-05-02 11:21:23 +0000] information/ConfigItem: Instantiated 1 IcingaApplication.
[2023-05-02 11:21:23 +0000] information/ConfigItem: Instantiated 1 Host.
[2023-05-02 11:21:23 +0000] information/ConfigItem: Instantiated 1 FileLogger.
[2023-05-02 11:21:23 +0000] information/ConfigItem: Instantiated 1 IdoMysqlConnection.
[2023-05-02 11:21:23 +0000] information/ConfigItem: Instantiated 1 CheckerComponent.
[2023-05-02 11:21:23 +0000] information/ConfigItem: Instantiated 4 Zones.
[2023-05-02 11:21:23 +0000] information/ConfigItem: Instantiated 2 Endpoints.
[2023-05-02 11:21:23 +0000] information/ConfigItem: Instantiated 2 ApiUsers.
[2023-05-02 11:21:23 +0000] information/ConfigItem: Instantiated 1 ApiListener.
[2023-05-02 11:21:23 +0000] information/ConfigItem: Instantiated 1 NotificationComponent.
[2023-05-02 11:21:23 +0000] information/ConfigItem: Instantiated 244 CheckCommands.
[2023-05-02 11:21:23 +0000] information/ConfigItem: Instantiated 4 Services.
[2023-05-02 11:21:23 +0000] information/ScriptGlobal: Dumping variables to file '/var/cache/icinga2/icinga2.vars'
[2023-05-02 11:21:23 +0000] information/cli: Finished validating the configuration file(s).
Mã:
$ sudo systemctl restart icinga2
Bước 15 - Xác minh trên Bảng điều khiển Icinga
Mở Bảng điều khiển web Icinga2 để xác minh thông tin máy khách. Chọn Tổng quan >> Máy chủ từ menu bên trái và bạn sẽ thấy màn hình sau.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22675%22%3E%3C/svg%3E
Có thể mất một thời gian để trạng thái của máy khách hiển thị là ĐANG LÊN. Nhấp vào Máy khách để xem thêm thông tin chi tiết về máy khách đó. Chọn Tổng quan >> Dịch vụ và bạn sẽ thấy các trạng thái sau về máy khách.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22482%22%3E%3C/svg%3E
Điều này xác nhận rằng máy khách đang gửi số liệu thống kê chính xác đến máy chủ chính Icinga.