Icinga là một công cụ giám sát miễn phí và mã nguồn mở cho trung tâm dữ liệu của bạn. Đây là một ứng dụng giám sát hệ thống máy tính và mạng kiểm tra tính khả dụng của tài nguyên mạng và máy tính của bạn, thông báo về sự cố hệ thống, tạo dữ liệu hiệu suất của tài nguyên của bạn và cung cấp thiết lập giám sát phân tán và có tính khả dụng cao với tính năng cụm tích hợp.
Icinga được tạo ra như một nhánh của công cụ Giám sát Nagios vào năm 2009. Và hiện tại, nó đã được viết lại từ đầu bằng C++ và trở thành một trong những công cụ giám sát phổ biến nhất trên internet. Từ 'Icinga' là một từ tiếng Zulu có nghĩa là 'nó tìm kiếm', hoặc 'nó duyệt', hoặc 'nó kiểm tra'.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình công cụ giám sát Icinga 2 bằng máy chủ Ubuntu 20.04 LTS. Chúng tôi sẽ cài đặt Icinga 2 từ kho lưu trữ chính thức và sau đó cấu hình icingaweb2, giao diện web nhẹ và có thể mở rộng cho công cụ giám sát icinga2.
Điều kiện tiên quyết
Đối với hướng dẫn này, chúng tôi sẽ cài đặt icinga2 và icingaweb2 bằng cách sử dụng Máy chủ Ubuntu 20.04 với Bộ nhớ RAM 2GB. Nếu bạn đang triển khai trên quy mô lớn, bạn có thể sử dụng nhiều hơn thế.
Chúng ta sẽ làm gì?
Thêm khóa GPG của Icinga2 vào hệ thống của bạn.
Bây giờ hãy vào thư mục '/etc/apt/sources.list.d' và tạo một tệp kho lưu trữ mới 'icinga-focal.list'.
Dán cấu hình kho lưu trữ sau.
Lưu và đóng.
Tiếp theo, hãy cập nhật tất cả các kho lưu trữ có sẵn và cài đặt Icinga2 và Nagios Monitoring Plugin bằng lệnh apt bên dưới.
Sau khi hoàn tất quá trình cài đặt, hãy khởi động Dịch vụ Icinga2 và thêm nó vào hệ thống khởi động.
Sau đó, xác minh dịch vụ icinga2 bằng lệnh bên dưới.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là, dịch vụ icinga2 đã hoạt động trên Ubuntu 20.04 FocalFossa.
Cài đặt máy chủ MySQL bằng lệnh apt bên dưới.
Sau đó, khởi động dịch vụ MySQL và thêm nó vào hệ thống khởi động.
Và dịch vụ MySQL đã hoạt động.
Tiếp theo, chúng ta sẽ cấu hình mật khẩu cho người dùng root MySQL bằng công cụ dòng lệnh 'mysql_secure_installation', được cung cấp bởi các gói MySQL.
Chạy lệnh 'mysql_secure_installation' bên dưới.
Bây giờ bạn sẽ được yêu cầu cấu hình mật khẩu mới cho người dùng root, nhập mật khẩu mạnh của bạn và nhập 'Y' cho các cấu hình khác.
Kết quả là quá trình cài đặt máy chủ MySQL và cấu hình mật khẩu gốc mặc định của máy chủ đã hoàn tất.
Cài đặt 'icinga2-ido-mysql' bằng lệnh apt bên dưới.
Bây giờ bạn sẽ được yêu cầu bật tính năng icinga2 ido-mysql, hãy chọn 'Có' để tiếp tục.
Cấu hình 'icinga2-ido-mysql' bằng lệnh dbconfig, hãy chọn 'Có' để tiếp tục.
Nhập mật khẩu của bạn cho 'icinga2-ido-mysql'.
Lặp lại mật khẩu cho 'icinga2-ido-mysql'.
Kết quả là quá trình cài đặt gói 'icinga2-ido-mysql' đã hoàn tất và người dùng MySQL mới 'icinga2' đã được tạo.
Tiếp theo, để Icinga hoạt động với phiên bản MySQL mới, chúng ta sẽ cấu hình người dùng MySQL 'icinga2' bằng xác thực mật khẩu gốc của MySQL.
Đăng nhập vào shell MySQL bằng lệnh bên dưới.
Bây giờ hãy thay đổi xác thực của người dùng 'icinga2@localhost' bằng plugin xác thực MySQL gốc bằng truy vấn sau.
Nhập 'exit' để đăng xuất khỏi shell MySQL và người dùng MySQL 'icinga2' hiện đang sử dụng plugin xác thực gốc.
Tiếp theo, hãy bật tính năng 'ido-mysql' và kiểm tra tất cả các plugin đã bật bằng lệnh sau.
Và bạn sẽ thấy tính năng 'ido-mysql' được bật, để áp dụng cấu hình mới, hãy khởi động lại dịch vụ icinga2.
Và quá trình cài đặt và cấu hình 'icinga2-ido-mysql' đã hoàn tất.
Trước tiên, hãy cài đặt gói 'python3-software-properties' và thêm kho lưu trữ PHP PPA bằng lệnh sau.
Tiếp theo, hãy cài đặt các gói Apache và PHP bằng lệnh apt bên dưới.
Sau khi hoàn tất quá trình cài đặt, hãy chỉnh sửa Cấu hình 'php.ini' sử dụng trình soạn thảo vim.
Bỏ ghi chú tùy chọn 'date.timezone' và nhập múi giờ của bạn.
Bỏ ghi chú cấu hình 'cgi.fix_pathinfo' và thay đổi giá trị thành '0'.
Lưu và đóng.
Tiếp theo, khởi động lại dịch vụ Apache2 và thêm dịch vụ này vào hệ thống khởi động.
Dịch vụ Apache2 đã hoạt động, hãy kiểm tra dịch vụ này bằng lệnh sau.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là, việc cài đặt các gói Apache và PHP cho icingaweb2 đã hoàn tất.
Cài đặt các gói icingaweb2 và icingacli bằng lệnh apt.
Sau khi hoàn tất cài đặt, hãy tạo mã thông báo icingaweb2 để cài đặt bằng lệnh bên dưới.
Dưới đây là kết quả bạn sẽ nhận được.
Bây giờ hãy sao chép mã thông báo vào ghi chú của bạn, mã này sẽ được sử dụng cho icingaweb2 cài đặt.
Tiếp theo, đăng nhập vào shell MySQL bằng lệnh mysql bên dưới.
Bây giờ hãy tạo một cơ sở dữ liệu và người dùng mới bằng các truy vấn sau.
Nhập 'exit' để đăng xuất khỏi shell MySQL.
Kết quả là quá trình cài đặt icingaweb2 đã hoàn tất và cơ sở dữ liệu mới cho icingaweb2 đã được tạo
http://10.5.5.20/icingaweb2/setup
Dán mã thông báo thiết lập vào hộp và nhấp vào nút 'Tiếp theo'.
Bây giờ bạn cần chọn mô-đun Icinga cho cài đặt của mình, bỏ mô-đun 'Giám sát' và nhấp vào 'Tiếp theo'.
Sau đó, Icinga sẽ kiểm tra môi trường để cài đặt. Đảm bảo tất cả các mô-đun cần thiết đều có trạng thái màu xanh lá cây ngoại trừ 'các mô-đun PostgreSQL', sau đó nhấp vào 'Tiếp theo'.
Bây giờ bạn cần chọn Xác thực để truy cập icingaweb2, chọn 'Cơ sở dữ liệu' và nhấp vào 'Tiếp theo'.
Nhập tất cả các chi tiết cơ sở dữ liệu cho 'icingaweb2' và nhấp vào 'Xác thực cấu hình' để kiểm tra. Sau khi thành công, hãy nhấp vào nút 'Tiếp theo'.
Bây giờ đối với Xác thực Backend, hãy chọn 'icingaweb2' và nhấp vào 'Tiếp theo'.
Nhập quản trị viên và mật khẩu cho icingaweb2 và nhấp vào 'Tiếp theo' một lần nữa.
Trên Cấu hình ứng dụng, hãy để mặc định và nhấp vào 'Tiếp theo'.
Xác nhận tất cả cấu hình và nhấp vào 'Tiếp theo'.
Và bạn sẽ nhận được trang chào mừng đến icingaweb2. Nhấp vào 'Tiếp theo' một lần nữa để cấu hình backend giám sát.
Đặt tên Backend là 'icinga2' với loại 'IDO', sau đó nhấp vào 'Tiếp theo'.
Bây giờ bạn cần cấu hình tài nguyên backend MySQL IDO cho ứng dụng icinga2. Nhập chi tiết cơ sở dữ liệu cho icinga2 và nhấp vào 'Xác thực cấu hình'. Khi thành công, hãy nhấp vào nút 'Tiếp theo'.
Đối với 'Command Transport', hãy chọn 'Local Command File' và giữ nguyên mặc định. Sau đó nhấp vào 'Tiếp theo'.
Và đối với Bảo mật giám sát, hãy để mặc định và nhấp vào 'Tiếp theo'.
Xác nhận tất cả cấu hình và nhấp vào nút 'Hoàn tất'.
Bây giờ quá trình cài đặt Icinga 2 và Icinga web 2 đã hoàn tất, hãy nhấp vào nút 'Đăng nhập vào Icinga Web 2' và bạn sẽ được chuyển hướng đến trang đăng nhập.
Nhập người dùng mà bạn đã cấu hình ở trên cùng và nhấp vào nút 'Đăng nhập'.
Nhập người dùng mà bạn đã cấu hình ở trên cùng và nhấp vào nút 'Đăng nhập'.
Và cuối cùng, quá trình cài đặt và cấu hình icinga2 và icingaweb2 trên máy chủ Ubuntu 20.04 đã hoàn tất thành công.
Icinga được tạo ra như một nhánh của công cụ Giám sát Nagios vào năm 2009. Và hiện tại, nó đã được viết lại từ đầu bằng C++ và trở thành một trong những công cụ giám sát phổ biến nhất trên internet. Từ 'Icinga' là một từ tiếng Zulu có nghĩa là 'nó tìm kiếm', hoặc 'nó duyệt', hoặc 'nó kiểm tra'.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình công cụ giám sát Icinga 2 bằng máy chủ Ubuntu 20.04 LTS. Chúng tôi sẽ cài đặt Icinga 2 từ kho lưu trữ chính thức và sau đó cấu hình icingaweb2, giao diện web nhẹ và có thể mở rộng cho công cụ giám sát icinga2.
Điều kiện tiên quyết
Đối với hướng dẫn này, chúng tôi sẽ cài đặt icinga2 và icingaweb2 bằng cách sử dụng Máy chủ Ubuntu 20.04 với Bộ nhớ RAM 2GB. Nếu bạn đang triển khai trên quy mô lớn, bạn có thể sử dụng nhiều hơn thế.
Chúng ta sẽ làm gì?
- Cài đặt Icinga2 và các plugin giám sát Nagios
- Cài đặt và cấu hình cơ sở dữ liệu MySQL
- Cài đặt và cấu hình mô-đun Icinga MySQL
- Cài đặt các gói Apache2 và PHP
- Cài đặt và cấu hình Icingaweb2
- Icinga2 Stack sau khi cài đặt
Bước 1 - Cài đặt Icinga2 và Nagios Plugin giám sát
Đầu tiên, chúng ta sẽ thêm kho lưu trữ icinga2 cho Ubuntu 20.04 và cài đặt các gói icinga2 và plugin giám sát nagios.Thêm khóa GPG của Icinga2 vào hệ thống của bạn.
Mã:
curl https://packages.icinga.com/icinga.key | apt-key add -
Mã:
cd /etc/apt/sources.list.d/
vim icinga-focal.list
Mã:
deb http://packages.icinga.com/ubuntu icinga-focal main
deb-src http://packages.icinga.com/ubuntu icinga-focal main
Tiếp theo, hãy cập nhật tất cả các kho lưu trữ có sẵn và cài đặt Icinga2 và Nagios Monitoring Plugin bằng lệnh apt bên dưới.
Mã:
sudo apt update
sudo apt install icinga2 monitoring-plugins
Sau khi hoàn tất quá trình cài đặt, hãy khởi động Dịch vụ Icinga2 và thêm nó vào hệ thống khởi động.
Mã:
systemctl start icinga2
systemctl enable icinga2
Mã:
systemctl status icinga2
Kết quả là, dịch vụ icinga2 đã hoạt động trên Ubuntu 20.04 FocalFossa.
Bước 2 - Cài đặt và cấu hình máy chủ cơ sở dữ liệu MySQL
Trong bước này, chúng ta sẽ cài đặt máy chủ MySQL mới nhất vào Ubuntu 20.04 của mình và thiết lập mật khẩu cho người dùng root MySQL mặc định.Cài đặt máy chủ MySQL bằng lệnh apt bên dưới.
Mã:
sudo apt install mysql-server mysql-client
Mã:
systemctl start mysql
systemctl enable mysql
Tiếp theo, chúng ta sẽ cấu hình mật khẩu cho người dùng root MySQL bằng công cụ dòng lệnh 'mysql_secure_installation', được cung cấp bởi các gói MySQL.
Chạy lệnh 'mysql_secure_installation' bên dưới.
Mã:
mysql_secure_installation
Mã:
Nhấn y|Y để chọn Yes, bất kỳ phím nào khác để chọn No:
Vui lòng đặt mật khẩu cho root tại đây.
Mật khẩu mới:
Nhập lại mật khẩu mới:
Xóa người dùng ẩn danh? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): Y
Không cho phép đăng nhập root từ xa? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): Y
Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): Y
Tải lại bảng đặc quyền ngay bây giờ? (Nhấn y|Y để Có, bất kỳ phím nào khác để Không): Y
Bước 3 - Cài đặt và cấu hình Mô-đun Icinga2 MySQL
Sau khi cài đặt Máy chủ MySQL, chúng ta sẽ cài đặt mô-đun icinga2 cho hỗ trợ MySQL có tên là 'icinga2-ido-mysql'.Cài đặt 'icinga2-ido-mysql' bằng lệnh apt bên dưới.
Mã:
sudo apt install icinga2-ido-mysql
Cấu hình 'icinga2-ido-mysql' bằng lệnh dbconfig, hãy chọn 'Có' để tiếp tục.
Nhập mật khẩu của bạn cho 'icinga2-ido-mysql'.
Lặp lại mật khẩu cho 'icinga2-ido-mysql'.
Kết quả là quá trình cài đặt gói 'icinga2-ido-mysql' đã hoàn tất và người dùng MySQL mới 'icinga2' đã được tạo.
Tiếp theo, để Icinga hoạt động với phiên bản MySQL mới, chúng ta sẽ cấu hình người dùng MySQL 'icinga2' bằng xác thực mật khẩu gốc của MySQL.
Đăng nhập vào shell MySQL bằng lệnh bên dưới.
Mã:
mysql -u root -p
Mã:
ALTER USER icinga2@localhost IDENTIFIED WITH mysql_native_password BY 'aqwe123@#$';
flush privileges;
Tiếp theo, hãy bật tính năng 'ido-mysql' và kiểm tra tất cả các plugin đã bật bằng lệnh sau.
Mã:
icinga2 feature enable ido-mysql
icinga2 feature list
Mã:
systemctl restart icinga2
Bước 4 - Cài đặt Apache2 và các gói PHP
Trong bước này, chúng ta sẽ cài đặt các gói Apache và PHP cho icingaweb2. Và chúng tôi sẽ sử dụng PHP 7.3 có sẵn trên kho lưu trữ PPA vì hiện tại icingaweb2 vẫn chưa được hỗ trợ với phiên bản PHP 7.4 mới.Trước tiên, hãy cài đặt gói 'python3-software-properties' và thêm kho lưu trữ PHP PPA bằng lệnh sau.
Mã:
sudo apt install python3-software-properties
sudo add-apt-repository ppa:ondrej/php
Mã:
sudo apt install apache2 php7.3 php7.3-common php7.3-gd php7.3-ldap php7.3-intl php7.3-curl libapache2-mod-php7.3 php7.3-mysql php7.3-pgsql php7.3-xml
Mã:
vim /etc/php/7.3/apache2/php.ini
Mã:
date.timezone = Châu Á/Singapore
Mã:
cgi.fix_pathinfo=0
Tiếp theo, khởi động lại dịch vụ Apache2 và thêm dịch vụ này vào hệ thống khởi động.
Mã:
systemctl restart apache2
systemctl enable apache2
Mã:
systemctl status apache2
Kết quả là, việc cài đặt các gói Apache và PHP cho icingaweb2 đã hoàn tất.
Bước 5 - Cài đặt Icingaweb2
Sau khi cài đặt các gói Apache và PHP, chúng ta sẽ cài đặt gói icingaweb2 và tạo một cơ sở dữ liệu MySQL mới cho icingaweb2.Cài đặt các gói icingaweb2 và icingacli bằng lệnh apt.
Mã:
sudo apt install icingaweb2 icingacli
Mã:
icingacli setup token create
Mã:
Mã thông báo thiết lập mới được tạo là: 9b871ead0a60c94f
Tiếp theo, đăng nhập vào shell MySQL bằng lệnh mysql bên dưới.
Mã:
mysql -u root -p
Mã:
create database icingaweb2;
create user icingaweb2@localhost được xác định bằng mysql_native_password bởi "icingaweb2pass";
cấp tất cả các đặc quyền trên icingaweb2.* cho icingaweb2@localhost với tùy chọn cấp;
flush privileges;
Kết quả là quá trình cài đặt icingaweb2 đã hoàn tất và cơ sở dữ liệu mới cho icingaweb2 đã được tạo
Bước 6 - Icinga 2 và Icinga Web 2 Sau khi cài đặt
Mở trình duyệt web của bạn và nhập địa chỉ IP máy chủ như bên dưới. Thay thế IP bằng IP máy chủ của bạn.http://10.5.5.20/icingaweb2/setup
Dán mã thông báo thiết lập vào hộp và nhấp vào nút 'Tiếp theo'.
Bây giờ bạn cần chọn mô-đun Icinga cho cài đặt của mình, bỏ mô-đun 'Giám sát' và nhấp vào 'Tiếp theo'.
Sau đó, Icinga sẽ kiểm tra môi trường để cài đặt. Đảm bảo tất cả các mô-đun cần thiết đều có trạng thái màu xanh lá cây ngoại trừ 'các mô-đun PostgreSQL', sau đó nhấp vào 'Tiếp theo'.
Bây giờ bạn cần chọn Xác thực để truy cập icingaweb2, chọn 'Cơ sở dữ liệu' và nhấp vào 'Tiếp theo'.
Nhập tất cả các chi tiết cơ sở dữ liệu cho 'icingaweb2' và nhấp vào 'Xác thực cấu hình' để kiểm tra. Sau khi thành công, hãy nhấp vào nút 'Tiếp theo'.
Bây giờ đối với Xác thực Backend, hãy chọn 'icingaweb2' và nhấp vào 'Tiếp theo'.
Nhập quản trị viên và mật khẩu cho icingaweb2 và nhấp vào 'Tiếp theo' một lần nữa.
Trên Cấu hình ứng dụng, hãy để mặc định và nhấp vào 'Tiếp theo'.
Xác nhận tất cả cấu hình và nhấp vào 'Tiếp theo'.
Và bạn sẽ nhận được trang chào mừng đến icingaweb2. Nhấp vào 'Tiếp theo' một lần nữa để cấu hình backend giám sát.
Đặt tên Backend là 'icinga2' với loại 'IDO', sau đó nhấp vào 'Tiếp theo'.
Bây giờ bạn cần cấu hình tài nguyên backend MySQL IDO cho ứng dụng icinga2. Nhập chi tiết cơ sở dữ liệu cho icinga2 và nhấp vào 'Xác thực cấu hình'. Khi thành công, hãy nhấp vào nút 'Tiếp theo'.
Đối với 'Command Transport', hãy chọn 'Local Command File' và giữ nguyên mặc định. Sau đó nhấp vào 'Tiếp theo'.
Và đối với Bảo mật giám sát, hãy để mặc định và nhấp vào 'Tiếp theo'.
Xác nhận tất cả cấu hình và nhấp vào nút 'Hoàn tất'.
Bây giờ quá trình cài đặt Icinga 2 và Icinga web 2 đã hoàn tất, hãy nhấp vào nút 'Đăng nhập vào Icinga Web 2' và bạn sẽ được chuyển hướng đến trang đăng nhập.
Nhập người dùng mà bạn đã cấu hình ở trên cùng và nhấp vào nút 'Đăng nhập'.
Nhập người dùng mà bạn đã cấu hình ở trên cùng và nhấp vào nút 'Đăng nhập'.
Và cuối cùng, quá trình cài đặt và cấu hình icinga2 và icingaweb2 trên máy chủ Ubuntu 20.04 đã hoàn tất thành công.