Icinga 2 adalah alat pemantauan sumber terbuka dan gratis yang dirancang agar dapat diskalakan dan diperluas. Icinga 2 memeriksa ketersediaan sumber daya jaringan Anda, memberi tahu pengguna tentang pemadaman, dan menghasilkan data kinerja untuk pelaporan. Kami dapat memantau lingkungan yang besar dan kompleks di beberapa lokasi menggunakan Icinga2.
Kami juga dapat menyiapkan Icinga2 dengan cluster ketersediaan tinggi dengan pengaturan terdistribusi untuk lingkungan yang besar/kompleks.
Dalam panduan ini kita akan mempelajari cara menginstal dan mengkonfigurasi Icinga 2 dan Icinga Web 2 di CentOS 8.
Instalasi Icinga2:
Pertama, Perbarui dan Tingkatkan CentOS Linux Anda.
yum -y update && yum -y upgrade
Kedua, Instal repositori Icinga.
yum install -y https://packages.icinga.com/epel/icinga-rpm-release-8-latest.noarch.rpm
Aktifkan Repositori EPEL dan Dapatkan repositori EPEL.
dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
yum install -y epel-release
Kami akan mendapatkan beberapa alat yang kami perlukan nanti untuk instalasi dan konfigurasi Icinga2 dan Icinga Web 2.
yum install -y git curl make gcc wget nano vim net-tools tar unzip zip python-devel python-pip python-setuptools
Gunakan perintah di bawah ini untuk menginstal icinga2:
yum install -y icinga2
Mulai dan Aktifkan layanan Icinga2.
systemctl enable icinga2
systemctl start icinga2
systemctl status icinga2
Kami akan menginstal plugin yang diperlukan untuk Icinga2.
yum install -y nagios-plugins-all
Jalankan perintah berikut untuk memastikan file icinga sudah benar sebelum Anda ingin mengubah file icinga.
icinga2 daemon -C
Jika Anda ingin menggunakan SELinux dengan Icinga2, Anda perlu menginstal paket berikut dan mengatur aturan firewall untuk port 80 dan 443.
yum install -y icinga2-selinux
firewall-cmd --add-service=http && firewall-cmd --permanent --add-service=http
Setelah menyelesaikan langkah-langkah di atas, Sekarang kita akan menginstal dan mengkonfigurasi MYSQL sebagai database untuk Icinga2.
yum install -y mariadb-server mariadb
systemctl enable mariadb
systemctl start mariadb
Amankan Instalasi MYSQL
mysql_secure_installation
Setelah Memasuki sistem perintah di atas akan meminta kata sandi root. tekan Enter karena Anda tidak memilikinya. Setelah itu sistem akan menanyakan apakah Anda ingin menambahkan kata sandi root, tekan "y" dan atur kata sandi root. Silakan tekan "y" untuk setiap kali sistem menanyakan Anda tentang beberapa konfigurasi. Lihat gambar di bawah untuk referensi:
Instal IDO Mysql menggunakan perintah berikut:
yum install icinga2-ido-mysql
Login ke mysql dengan memasukkan perintah berikut:
mysql -u root -p
Buat database berikut untuk Icinga2 dan icinga web 2:
CREATE DATABASE icinga;
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga';
CREATE DATABASE icingaweb;
GRANT ALL PRIVILEGES ON icingaweb.* TO 'icingaweb'@'localhost' IDENTIFIED BY 'icingaweb';
FLUSH PRIVILEGES;
QUIT;
Impor Icinga 2 MYSQL Schema dan juga aktifkan IDO MySQL untuk Icinga2.
mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql
icinga2 feature enable ido-mysql
Mulai ulang layanan Icinga agar konfigurasi di atas dapat diterapkan.
systemctl restart icinga2.service
Instalasi Icinga Web 2:
Pertama, instal server web.
yum install -y httpd
systemctl enable httpd
systemctl start httpd
Konfigurasikan Pengguna Icinga 2 Rest API:
icinga2 api setup
Kita akan mengedit file “/etc/icinga2/conf.d/api-users.conf” dengan editor nano.
/etc/icinga2/conf.d/api-users.conf
Tambahkan baris berikut:
object ApiUser "icingaweb2" {
password = "Wijsn8Z9eRs5E25d"
permissions = [ "status/query", "actions/*", "objects/modify/*", "objects/query/*" ]
}
Edit file “vim /etc/icinga2/features-enabled/ido-mysql.conf” menggunakan editor nano.
nano /etc/icinga2/features-enabled/ido-mysql.conf
Tambahkan konfigurasi berikut:
/**
* The IdoMysqlConnection type implements MySQL support
* for DB IDO.
*/
object IdoMysqlConnection "ido-mysql" {
user = "icinga"
password = "icinga"
host = "localhost"
database = "icinga"
}
Sekarang, Restart layanan Icinga2 untuk menerapkan konfigurasi di atas.
systemctl restart icinga2
Kami akan menginstal repositori SCL, Ini diperlukan untuk Icinga Web 2.
dnf -y group install "Development Tools"
dnf -y install gcc-c++ gcc make
dnf install mysql-devel.x86_64
Instal Icinga Web 2 dan Icinga CLI menggunakan perintah berikut:
yum install -y icingaweb2 icingacli
Jika Anda membutuhkan SELinux untuk Icinga Web 2, instal menggunakan perintah berikut:
yum install -y icingaweb2-selinux
Instal PHP FPM dan modul PHP lain yang mungkin kita perlukan untuk Icinga web 2.
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf module list php
dnf install php-json php-ldap
yum install -y php-mysqlnd php-fpm php-ldap php-pgsql php-xmlrpc php-intl php-gd php-pdo php-soap php-posix php-cli
Mulai dan Aktifkan layanan.
systemctl start php-fpm.service
systemctl enable php-fpm.service
systemctl restart httpd
systemctl restart php-fpm.service
Sekarang, mari kita buat token untuk menyelesaikan konfigurasi Icinga Web 2 melalui antarmuka web:
icingacli setup token create
Buka Icinga Web 2 Menggunakan url berikut ke browser web Anda:
http://192.168.189.128/icingaweb2/setup
Ganti IP di url di atas dengan IP sistem Anda.
Konfigurasi Icinga Web 2:
Ini akan meminta token yang dihasilkan, tempel dan klik berikutnya
Modul pemantauan diaktifkan secara default, Anda dapat mengaktifkan Dokumen dan Terjemahan secara opsional, lalu klik berikutnya
Sekarang semua Modul PHP harus berwarna hijau, jika Anda memiliki beberapa yang berwarna kuning, disarankan untuk memperbaikinya sebelum melanjutkan, jika semuanya berwarna hijau, klik saja berikutnya.
Secara default kita akan menggunakan otentikasi database.
Konfigurasikan sumber daya database, di sini kita akan menggunakan kredensial yang kita buat untuk database icingaweb. Anda perlu mengatur parameter localhost, nama database, nama pengguna dan kata sandi. Sebelum mengklik berikutnya, Anda dapat mengklik Validasi Konfigurasi untuk memvalidasi bahwa kredensial berfungsi dengan benar.
Mari kita konfigurasikan Backend Otentikasi, yang ini sudah didefinisikan di file api-users.conf, klik saja next.
Di layar administrasi Anda menentukan nama pengguna dan kata sandi untuk login ke antarmuka Web Icinga.
Di layar konfigurasi aplikasi Anda hanya perlu mengklik berikutnya, Anda dapat mengubahnya sesuaikan dengan kebutuhan Anda, tetapi defaultnya baik-baik saja untuk saat ini.
Anda memiliki layar resume, di sini hanya perlu mengklik berikutnya.
Sekarang, Anda dapat mengonfigurasi modul pemantauan untuk Icinga Web 2, cukup klik next.
Sekarang, mari konfigurasikan Sumber Daya IDO pemantauan, di sini kita akan menggunakan kredensial yang kita buat untuk database icinga. Di sini Anda perlu mengatur parameter localhost, nama database, nama pengguna dan kata sandi. Sebelum mengklik berikutnya, Anda dapat mengklik Validasi Konfigurasi untuk memvalidasi bahwa kredensial berfungsi dengan benar.
Memilih Transportasi Perintah:
Sekarang pilih transportasi perintah. Sekarang, konfigurasikan Sumber Daya IDO pemantauan, di sini kita akan menggunakan kredensial yang kita buat untuk database icinga. Di sini Anda perlu mengatur parameter localhost, nama database, nama pengguna dan kata sandi. Sebelum mengklik berikutnya, Anda dapat mengklik Validasi Konfigurasi untuk memvalidasi bahwa kredensial berfungsi dengan benar.
Di layar keamanan pemantauan, Anda hanya perlu mengklik berikutnya.
Sekarang Anda memiliki layar sukses untuk Icinga Web 2, Anda hanya perlu mengklik Selesai.
Anda seharusnya sekarang memiliki layar ucapan selamat dengan Login ke Icinga Web yang tersedia, cukup klik tombol itu untuk masuk ke Icinga Web 2.