[Icinga] Phần 1: Hướng dẫn cài đặt Icinga2

Tác giả: 12/05/2023

Ra mắt rất sớm từ những năm 2009, Icinga tính đến hiện tại vẫn rất được nhiều người lựa chọn sử dụng nhờ tính thuận tiện và dễ sử dụng của nó.

Hôm nay, hãy cùng Nhân Hòa đi qua các bước cài đặt cơ bản của Icinga nhé.

I. Cài đặt dependency và Icinga2 package

Lưu ý bài viết này thực hiện trên bản phân phối Ubuntu 22.04

1. Cài đặt dependency

Update packages

apt-get update -y && apt-get upgrade -y

Cài đặt dependency

apt install software-properties-common ca-certificates lsb-release apt-transport-https wget gnupg -y

Cài đặt php modules, apache2, mariadb. php8.1

apt install apache2 mariadb-server mariadb-client mariadb-common php php-gd php-mbstring php-mysqlnd php-curl php-xml php-cli php-soap php-intl php-xmlrpc php-zip  php-common php-opcache php-gmp php-imagick php-pgsql -y

Khởi động apache2, mariadb

systemctl enable {apache2,mariadb} --now

Setup mariadb

mysql_secure_installation

Chỉnh sửa 1 vài thông số trong file php.ini

vi /etc/php/8.1/apache2/php.ini

memory_limit = 256M 
post_max_size = 64M
upload_max_filesize = 100M	
max_execution_time = 300
default_charset = "UTF-8"
date.timezone = "Asia/Ho_Chi_Minh"
cgi.fix_pathinfo=0

Restart apache2

systemctl restart apache2

2. Cài đặt Icinga2

Thêm GPG-key

wget -O - https://packages.icinga.com/icinga.key | gpg --dearmor -o /usr/share/keyrings/icinga-archive-keyring.gpg

Thêm Icinga repo

. /etc/os-release; if [ ! -z ${UBUNTU_CODENAME+x} ]; then DIST="${UBUNTU_CODENAME}"; else DIST="$(lsb_release -c| awk '{print $2}')"; fi; \
 echo "deb [signed-by=/usr/share/keyrings/icinga-archive-keyring.gpg] https://packages.icinga.com/ubuntu icinga-${DIST} main" > \
 /etc/apt/sources.list.d/${DIST}-icinga.list
 echo "deb-src [signed-by=/usr/share/keyrings/icinga-archive-keyring.gpg] https://packages.icinga.com/ubuntu icinga-${DIST} main" >> \
 /etc/apt/sources.list.d/${DIST}-icinga.list
apt update -y

Cài đặt Icinga2

apt install icinga2 -y

Cài đặt monitor plugin

apt install monitoring-plugins -y

Khởi động icinga2

systemctl enable icinga2 --now

Cài đặt Icinga2 IDO Module

Icinga2 Data Output xuất tất cả thông tin về cấu hình và trạng thái vào 1 database. IDO database sau đó sử dụng bởi Icinga Web để làm backend

apt install icinga2-ido-mysql -y

Chọn Yes để bật tính năng ido-mysql của Icinga2

icinga2-ido-mysql package yêu cầu 1 database được cài đặt và cấu hình. Điều này có thể được thực hiện tự động với dbconfig-common, nhưng ta có thể tự tạo thủ công, nên ta chọn No ở đây

Tiếp đến, đăng nhập vào MariaDB database server

mysql -u root -p

Tạo database và database user

CREATE DATABASE icinga_ido_db;
GRANT ALL ON icinga_ido_db.* TO 'icinga_ido_user'@'localhost' IDENTIFIED BY 'ghjlarewsngjlan';
FLUSH PRIVILEGES;
EXIT;

Import Icinga2 IDO schema

mysql -u root -p icinga_ido_db < /usr/share/icinga2-ido-mysql/schema/mysql.sql

Kích hoạt Icinga2 IDO Module

Để kích hoạt icinga2-ido-mysql với Icinga Web 2, ta thực hiện thay đổi file cấu hình mặc định của feature

vi /etc/icinga2/features-available/ido-mysql.conf

Sửa các thông tin sau

object IdoMysqlConnection "ido-mysql" {
  user = "icinga_ido_user"
  password = "ghjlarewsngjlan"
  host = "localhost"
  database = "icinga_ido_db"
}

Kích hoạt feature

icinga2 feature enable ido-mysql

Restart service icinga2

systemctl restart icinga2

3. Cài đặt và thiết lập IcingaWeb2

Cài đặt icingaweb2 và Icinga CLI

apt install icingaweb2 icingacli -y

Tạo database cho IcingaWeb2

mysql -u root -p
CREATE DATABASE icingaweb2;
GRANT ALL ON icingaweb2.* TO 'icingaweb2user'@'localhost' IDENTIFIED BY 'gbjraeswbgj';
FLUSH PRIVILEGES;
EXIT;

Tạo 1 token để sử dụng cho quá trình thiết lập Icinga2 Web

icingacli setup token create

Nếu quên token, ta có thể dùng lệnh sau để show

icingacli setup token show

II. Cài đặt Icingaweb2

Truy cập vào địa chỉ <ip-address>/icingaweb2/setup trên trình duyệt để thực hiện setup Icinga Web

Ở phần tiếp, hãy chắc chắn rằng tất cả các thành phần đều được đáp ứng, nếu thiếu thành phần nào hãy cài đặt thêm

Chọn Database

Nhập thông tin về database và chọn Validate Configuration để kiểm tra cấu hình

Như trên là được rồi, giờ ta tiếp tục

Tạo tài khoản admin

Nhập thông tin về IDO db và kiểm tra cấu hình

Chọn kiểu Transport là Local Command File

Confirm configuration

Done!

Và đây là giao diện cơ bản của Icinga2

III. Tổng kết

Mặc dù cài đặt Icinga phải trải qua rất nhiều bước, tuy nhiên hầu hết đều đơn giản và chỉ cần làm theo chính xác là sẽ thành công.

Ở bài tiếp theo, Nhân Hòa sẽ giới thiệu về cách sử dụng cơ bản của Icinga.

Mình là Vương Bảo Trung, hiện đang là nhân sự học việc tại Nhân Hòa, các bạn hãy tiếp tục theo dõi các bài viết của mình tại Wiki Nhân Hòa.

 

Chúc các bạn luôn may mắn và thành công trong công việc!

Trả lời